SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Azure SecOps
Azure Key Vault を用いたクラウドのキー管理
- クラウドに接続するための大事な様々なキー、config ファイルに書いていいんですか?
日本マイクロソフト
アプリケーションソリューションアーキテクト
服部 佑樹
Key Vault とは
クラウド アプリケーションやサービスで使用される
暗号化キーとシークレットをセキュリティで保護す
るために役立ちます。
キーとシークレットをハードウェア セキュリティ
モジュール (HSM) で保護されたキーを使用して暗
号化できます。
• 認証キー
• ストレージ アカウント キー
• データ暗号化キー
• PFX ファイル
• パスワードなど
2
キーの漏洩
キーやシークレットの漏洩の多くは人的ミスが多い。
単純な文字列であるため簡単に漏洩できてしまう。
3
Azure のオブジェクトモデル
Azure Active Directory
Subscription
Resource Group
VM Storage Account Key Vault
Secret Key
Version Version
4
HSM とは
HSM(Hardware Security Module)
乱数/キー生成機能
暗号化機能
署名機能
キーの保管、取り出し
大切なキーをハードウェア内部に保管し、外部から取り出せないようにする装置
署名依頼
 キーを取り出して署名す
るのではなく、キーの生
成、署名を外部から依頼
する。
 キーを取り出さないので、
ハッキングの危険性を減
らせる。
5
Key VaultのHSM
認可されたユーザーと
アプリケーション Get
List
Set
Secret
25KB以内のバイト文字列
• SQL 接続文字列
• PFX ファイル
• AES 暗号化キー など
Decrypt
Sign
HSM 保護 Key(RSAーHSM)
• Thales nShield(FIPS 140-2 Level 2)
• KEK(Key Encryption Key)
Encrypt
Software 保護 Key(RSA 2048)
• FIPS 140-2 Level 1 pending
暗
号
化
Import
Decrypt
Sign
Encrypt
Create
Premium
6
対応地域と耐久性・高可用性
耐久性
キーボルトのキーとシークレットはそのリージョンに格納され、同じジオ内の2番目のリージョンにバックアップされます。合計6
つのコピーが得られます。
高可用性
読み取り/書き込み要求はプライマリ領域にアフィニティ化されます。しかし、サービスは地域内で自動的に、またはセカンダリ
リージョンでフェイルオーバーされます。
7
地域
US West, East, East 2, Central, North Central, South
Central
Europe North, West
Asia East, Southeast
Japan East, West
Australia East, Southeast
Brazil South
USGov Iowa, Virginia
China North, East
Key Vault オペレーション
Key Vault を用いたオペレーションシナリオ
複数のベンダー/チームがアプリケーションを開発
 マルチテナントのアプリケーション
 キーを管理、隠蔽(基本機能)
 仮想マシンに配布する証明書の隠蔽
 SQL のコネクションストリングを定義
8
アプリケーション構成
9
ユーザー Web Apps Key Vault Storage AccountAzure Active Directory
ユーザー アプリケーション AAD Key Vault Key 管理対象
 アプリケーションの認証情報  AAD のクレデンシャル
 Secret が格納されている
Key Vault の URL
 保護対象のSecret (String)
 Azure Active Directory のアプリ
ケーションに割り当てられた
権限
 保護対象のデータなど アプリケーションID やオブジェ
クトID など、サービスプリンシ
パルの情報
Key Vault と Azure Active Directory を介すことによって キー を保護します。
ユーザー Web Apps Storage Account
保護されていないアクセス
Key Vaultで保護
責任範囲
Azure ADとKey Vaultの役割
• Azure AD は アプリの Key Vault へのアクセスをコントロール
• Key Vault はキーとシークレットを一元管理し、アプリケーションのリ
ソースへのアクセスをコントロール
10
アプリを認可
Secret取り出し
リソースとしてアクセス権を管理
アクセス
Key Vault の
使用を認可
Secret や Key を使用してアクセス
ユーザー認証
アプリの利用を認可
Key Vault の使用を認可
暗号化依頼
アプリケーション Key Vault
アプリケーションのアクセスフロー
11
ユーザー Web Apps Key Vault Storage Account
Azure Active Directory
🅰1
2 3
4
5
61
2
3
4
5
6
🅰 あらかじめ Key を Key Vault に登録
ユーザーがアプリケーションにアクセス
Azure AD で アプリとユーザーの認可
Key Vault にアクセスする Token を発行・取得
アプリは Key Vault のToken を取得
Token を使い、アプリから Key Vault にアクセス。登録された Key を取得
取得した Key で Storage Account など、対象サービスにアクセス
管理のフロー(Key 管理の場合)
• SecOps / DevOpsを分離することができます。
12
Web Apps Key Vault Storage Account
Azure Active Directory
SecOps
Key を頻繁に変更
(将来的には自動化)
Key の変更を
Key Vaultに反映
DevOps
アプリの開発
Secretを取得するためのSecret URI
のみがコンフィグファイル(App.config)には含まれる。
DevOps チームは Secret が格納されている URL のみを知り、
保護対象のサービスにはアクセスしない
保護対象サービスへのアクセスを制限する場合には RBAC を使う
DevOps チームは特定の権限を持った
Azure Active Directory のアプリケーションの
サービスプリンシパルで Azure にアクセス
DevOps
SecOps
マルチテナントアプリ
企業A 企業B 企業C
Developer
• Key Vault の複数用意で、顧客ごとに Secret を分離して管理できま
す。
• SaaS として提供するアプリケーションの開発などに適しています。
マルチテナントアプリケーション
13
管理のフロー(証明書管理の場合)
• SecOps チームで証明書を管理できます。
14
Key Vault
Azure Active Directory
SecOps
証明書をアップロード
DevOps
Secret を取得するための Secret URI 経由で
Key Vault から証明書を取得
DevOps
SecOps
証明書をインジェクトし
VMにアクセス
Key Vault運用のベストプラクティス
15
Certificate1.pfx
Certificate2.pem
Password1
Password2
DBConnectionString1
StorageAccountKey1
StorageAccountKey2
1. シークレットを生成
Key Vault運用のベストプラクティス
16
Azure Key Vault
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
ストレージアカウントキー
証明書
保護キー
パスワード
Key Vault運用のベストプラクティス
17
Azure Key Vault
Azure Active Directory
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
ストレージアカウントキー
証明書
保護キー
パスワード
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
Key Vault運用のベストプラクティス
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
4. 権限を最小化し、定期的にアクセス
許可を確認
18
App developers
(the rest of your
team)
ストレージアカウントキー
証明書
保護キー
パスワード
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
Key Vault運用のベストプラクティス
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
4. 権限を最小化し、定期的にアクセス
許可を確認
19
Secret Custodians
App developers
Storage account keys
Certificates
Encryption keys
Passwords
Storage account keys
Certificates
Encryption keys
Passwords
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
Storage account keys
Certificates
Encryption keys
Passwords
Storage account keys
Certificates
Encryption keys
Passwords
Storage account keys
Certificates
Encryption keys
Passwords
Key Vault運用のベストプラクティス
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
4. 権限を最小化し、定期的にアクセス
許可を確認
5. ログアクセス、ログのレビュー
20
App developers
Secret Custodians
Security Analysts
& Auditors
App4 - Cloud Service
Logs
ストレージアカウントキー
証明書
保護キー
パスワード
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
Key Vault運用のベストプラクティス
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
4. 権限を最小化し、定期的にアクセス
許可を確認
5. ログアクセス、ログのレビュー
6. 定期的にシークレットを更新
21
App developers
Secret Custodians
Security Analysts
& Auditors
ストレージアカウントキー
証明書
保護キー
パスワード
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
Key Vault運用のベストプラクティス
1. シークレットを生成
2. シークレットのためにデザインされ
たストアで保管
3. ディレクトリに紐付ける
4. 権限を最小化し、定期的にアクセス
許可を確認
5. ログアクセス、ログのレビュー
6. 定期的にシークレットを更新
7. 自動化
22
App developers
Security Analysts
& Auditors
ストレージアカウントキー
証明書
保護キー
パスワード
App5 - Containers
App2 - Web App
App4 - Cloud Service
App3 - Service Fab
App1 - VMs
ソリューション例
23
Azure アプリ
開発者
SaaS
開発者
セキュリティ
担当者
 署名と暗号化のキーを使用する Azure のアプリケーションを
作成したいが、ソリューションが地理的に分散したアプリ
ケーションに合うように、これらをアプリケーションの外部
に設定したい。
 これらのキーとシークレットは、自分でコードを記述せずに
保護し、簡単にアプリケーションから最適なパフォーマンス
で使用できるようにしたい。
 顧客のテナント キーやシークレットに対して義務や潜在的
責任を負いたくない。
 顧客はキーを自分で所有して管理してほしい。そうすること
で、私は自分の専門分野である、中心的なソフトウェア機能
を提供することに集中できる。
 アプリケーションが、セキュリティで保護されたキー管理の
ために FIPS 140-2 レベル 2 HSM に準拠していることを確
認したい。
 組織が、キーのライフ サイクルを管理し、キーの使用状況
を確実に監視できるようにしたい。
 複数の Azure サービスとリソースを使用しているが、Azure
の 1 つの場所からキーを管理したい。
 キーは、資格情報コンテナーに格納され、必要なときに、
URI によって呼び出されます。
 キーは、業界標準のアルゴリズム、長いキー、およびHSM
により、Azure によって保護されています。
 キーは、アプリケーションと同じ Azure データ センター内
にある HSM で処理されるため、信頼性が向上し、オンプ
レミスの場所などの別の場所にキーが存在する場合より待
機時間が削減されます。
 顧客は Azure に自分のキーをインポートして管理できます。
SaaS アプリケーションが顧客のキーを使用して暗号化操作
を実行する必要がある場合は、Key Vault がアプリケーショ
ンに代わって、これを行います。アプリケーションには、顧
客のキーは表示されません。
 HSM は FIPS 140-2 レベル 2 で検証済みです。
 Key Vault は、Microsoft によってご使用のキーが参照され
たり抽出されたりしないように設計されています。
 資格情報コンテナーは、Azure にある資格情報コンテナー
の数、それらがサポートするリージョン、およびそれらを
使用するアプリケーションに関係なく、1 つのインター
フェイスを提供します。
 本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、
提示された情報の信憑性については保証できません。
 本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。
 すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、
機械的、複写、レコーディング、その他)、および目的であっても禁じられています。
これらは著作権保護された権利を制限するものではありません。
 Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれら
の特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。
© 2017 Microsoft Corporation. All rights reserved.
Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、一般に各社の商標です。

Weitere ähnliche Inhalte

Was ist angesagt?

Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Yusuke Kodama
 
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018Shinichiro Kosugi
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編Yusuke Kodama
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified IDNaohiro Fujie
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018Toru Makabe
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceToru Makabe
 
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...MPN Japan
 
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Teruchika Yamada
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築Junji Nishihara
 
【JEUG】 オープンSIEMの世界へ
【JEUG】 オープンSIEMの世界へ【JEUG】 オープンSIEMの世界へ
【JEUG】 オープンSIEMの世界へHibino Hisashi
 
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてAzure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてShinya Yamaguchi
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーションssuser070fa9
 
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計Trainocate Japan, Ltd.
 
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介製造業向けSmart Factoryデモと 関連AWSサービスのご紹介
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介Amazon Web Services Japan
 
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~Trainocate Japan, Ltd.
 

Was ist angesagt? (20)

Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
 
Azure Network 概要
Azure Network 概要Azure Network 概要
Azure Network 概要
 
AWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターンAWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターン
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...
JPC2018[E4]Microsoft Azure ならこうする、こうできる! ~AWS 技術者向け 最新 Microsoft Azure サービス解説...
 
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
 
【JEUG】 オープンSIEMの世界へ
【JEUG】 オープンSIEMの世界へ【JEUG】 オープンSIEMの世界へ
【JEUG】 オープンSIEMの世界へ
 
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例についてAzure active directory によるデバイス管理の種類とトラブルシュート事例について
Azure active directory によるデバイス管理の種類とトラブルシュート事例について
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計
 
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介製造業向けSmart Factoryデモと 関連AWSサービスのご紹介
製造業向けSmart Factoryデモと 関連AWSサービスのご紹介
 
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
 

Ähnlich wie Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理

Azure Cosmos DB Always Encrypted
Azure Cosmos DB Always EncryptedAzure Cosmos DB Always Encrypted
Azure Cosmos DB Always EncryptedYui Ashikaga
 
S3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/RubyS3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/Ruby真吾 吉田
 
msal.js v2を触る
msal.js v2を触るmsal.js v2を触る
msal.js v2を触るDevTakas
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティjunichi anno
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADjunichi anno
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理fisuda
 
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ日本マイクロソフト株式会社
 
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介日本マイクロソフト株式会社
 
AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)Masahiko Ebisuda
 
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...Naoki (Neo) SATO
 
【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装CLOUDIAN KK
 
Professional SSL/TLS Reading Chapter 14
Professional SSL/TLS Reading Chapter 14Professional SSL/TLS Reading Chapter 14
Professional SSL/TLS Reading Chapter 14Shogo Hayashi
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しようAmazon Web Services Japan
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みShinichiro Arai
 
Paas_Security_Part1
Paas_Security_Part1Paas_Security_Part1
Paas_Security_Part1Ryoma Nagata
 
090916 X D E V今だから理解する[
090916 X D E V今だから理解する[090916 X D E V今だから理解する[
090916 X D E V今だから理解する[Masami Suzuki
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!zaki4649
 

Ähnlich wie Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理 (20)

Azure Cosmos DB Always Encrypted
Azure Cosmos DB Always EncryptedAzure Cosmos DB Always Encrypted
Azure Cosmos DB Always Encrypted
 
S3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/RubyS3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/Ruby
 
msal.js v2を触る
msal.js v2を触るmsal.js v2を触る
msal.js v2を触る
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティ
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
【de:code 2020】 GitHub と Azure Security Center による、アプリケーションのための Azure セキュリティ
 
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
 
AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)
 
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Develop...
 
【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装
 
Professional SSL/TLS Reading Chapter 14
Professional SSL/TLS Reading Chapter 14Professional SSL/TLS Reading Chapter 14
Professional SSL/TLS Reading Chapter 14
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
 
Paas_Security_Part1
Paas_Security_Part1Paas_Security_Part1
Paas_Security_Part1
 
090916 X D E V今だから理解する[
090916 X D E V今だから理解する[090916 X D E V今だから理解する[
090916 X D E V今だから理解する[
 
【IVS CTO Night & Day】DevOps on AWS 2017
【IVS CTO Night & Day】DevOps on AWS 2017【IVS CTO Night & Day】DevOps on AWS 2017
【IVS CTO Night & Day】DevOps on AWS 2017
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!
 

Mehr von Yuki Hattori

GitHubやMicrosoftが機能リリースする舞台裏
GitHubやMicrosoftが機能リリースする舞台裏GitHubやMicrosoftが機能リリースする舞台裏
GitHubやMicrosoftが機能リリースする舞台裏Yuki Hattori
 
戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させようYuki Hattori
 
今日から始める Azure Functions 2.0
今日から始める Azure Functions 2.0今日から始める Azure Functions 2.0
今日から始める Azure Functions 2.0Yuki Hattori
 
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!Yuki Hattori
 
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発Yuki Hattori
 
Transfer Learning & API Azure
Transfer Learning & API AzureTransfer Learning & API Azure
Transfer Learning & API AzureYuki Hattori
 
深層学習 環境構築 Azure
深層学習 環境構築 Azure深層学習 環境構築 Azure
深層学習 環境構築 AzureYuki Hattori
 
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Yuki Hattori
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Yuki Hattori
 

Mehr von Yuki Hattori (10)

GitHubやMicrosoftが機能リリースする舞台裏
GitHubやMicrosoftが機能リリースする舞台裏GitHubやMicrosoftが機能リリースする舞台裏
GitHubやMicrosoftが機能リリースする舞台裏
 
戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう
 
今日から始める Azure Functions 2.0
今日から始める Azure Functions 2.0今日から始める Azure Functions 2.0
今日から始める Azure Functions 2.0
 
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!
モバイル アプリの開発/運用を Visual Studio App Center と Azure で加速させよう!
 
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
 
Transfer Learning & API Azure
Transfer Learning & API AzureTransfer Learning & API Azure
Transfer Learning & API Azure
 
深層学習 環境構築 Azure
深層学習 環境構築 Azure深層学習 環境構築 Azure
深層学習 環境構築 Azure
 
Non-coding! Azure
Non-coding! AzureNon-coding! Azure
Non-coding! Azure
 
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
 

Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理

  • 1. Azure SecOps Azure Key Vault を用いたクラウドのキー管理 - クラウドに接続するための大事な様々なキー、config ファイルに書いていいんですか? 日本マイクロソフト アプリケーションソリューションアーキテクト 服部 佑樹
  • 2. Key Vault とは クラウド アプリケーションやサービスで使用される 暗号化キーとシークレットをセキュリティで保護す るために役立ちます。 キーとシークレットをハードウェア セキュリティ モジュール (HSM) で保護されたキーを使用して暗 号化できます。 • 認証キー • ストレージ アカウント キー • データ暗号化キー • PFX ファイル • パスワードなど 2
  • 4. Azure のオブジェクトモデル Azure Active Directory Subscription Resource Group VM Storage Account Key Vault Secret Key Version Version 4
  • 5. HSM とは HSM(Hardware Security Module) 乱数/キー生成機能 暗号化機能 署名機能 キーの保管、取り出し 大切なキーをハードウェア内部に保管し、外部から取り出せないようにする装置 署名依頼  キーを取り出して署名す るのではなく、キーの生 成、署名を外部から依頼 する。  キーを取り出さないので、 ハッキングの危険性を減 らせる。 5
  • 6. Key VaultのHSM 認可されたユーザーと アプリケーション Get List Set Secret 25KB以内のバイト文字列 • SQL 接続文字列 • PFX ファイル • AES 暗号化キー など Decrypt Sign HSM 保護 Key(RSAーHSM) • Thales nShield(FIPS 140-2 Level 2) • KEK(Key Encryption Key) Encrypt Software 保護 Key(RSA 2048) • FIPS 140-2 Level 1 pending 暗 号 化 Import Decrypt Sign Encrypt Create Premium 6
  • 8. Key Vault オペレーション Key Vault を用いたオペレーションシナリオ 複数のベンダー/チームがアプリケーションを開発  マルチテナントのアプリケーション  キーを管理、隠蔽(基本機能)  仮想マシンに配布する証明書の隠蔽  SQL のコネクションストリングを定義 8
  • 9. アプリケーション構成 9 ユーザー Web Apps Key Vault Storage AccountAzure Active Directory ユーザー アプリケーション AAD Key Vault Key 管理対象  アプリケーションの認証情報  AAD のクレデンシャル  Secret が格納されている Key Vault の URL  保護対象のSecret (String)  Azure Active Directory のアプリ ケーションに割り当てられた 権限  保護対象のデータなど アプリケーションID やオブジェ クトID など、サービスプリンシ パルの情報 Key Vault と Azure Active Directory を介すことによって キー を保護します。 ユーザー Web Apps Storage Account 保護されていないアクセス Key Vaultで保護 責任範囲
  • 10. Azure ADとKey Vaultの役割 • Azure AD は アプリの Key Vault へのアクセスをコントロール • Key Vault はキーとシークレットを一元管理し、アプリケーションのリ ソースへのアクセスをコントロール 10 アプリを認可 Secret取り出し リソースとしてアクセス権を管理 アクセス Key Vault の 使用を認可 Secret や Key を使用してアクセス ユーザー認証 アプリの利用を認可 Key Vault の使用を認可 暗号化依頼 アプリケーション Key Vault
  • 11. アプリケーションのアクセスフロー 11 ユーザー Web Apps Key Vault Storage Account Azure Active Directory 🅰1 2 3 4 5 61 2 3 4 5 6 🅰 あらかじめ Key を Key Vault に登録 ユーザーがアプリケーションにアクセス Azure AD で アプリとユーザーの認可 Key Vault にアクセスする Token を発行・取得 アプリは Key Vault のToken を取得 Token を使い、アプリから Key Vault にアクセス。登録された Key を取得 取得した Key で Storage Account など、対象サービスにアクセス
  • 12. 管理のフロー(Key 管理の場合) • SecOps / DevOpsを分離することができます。 12 Web Apps Key Vault Storage Account Azure Active Directory SecOps Key を頻繁に変更 (将来的には自動化) Key の変更を Key Vaultに反映 DevOps アプリの開発 Secretを取得するためのSecret URI のみがコンフィグファイル(App.config)には含まれる。 DevOps チームは Secret が格納されている URL のみを知り、 保護対象のサービスにはアクセスしない 保護対象サービスへのアクセスを制限する場合には RBAC を使う DevOps チームは特定の権限を持った Azure Active Directory のアプリケーションの サービスプリンシパルで Azure にアクセス DevOps SecOps
  • 13. マルチテナントアプリ 企業A 企業B 企業C Developer • Key Vault の複数用意で、顧客ごとに Secret を分離して管理できま す。 • SaaS として提供するアプリケーションの開発などに適しています。 マルチテナントアプリケーション 13
  • 14. 管理のフロー(証明書管理の場合) • SecOps チームで証明書を管理できます。 14 Key Vault Azure Active Directory SecOps 証明書をアップロード DevOps Secret を取得するための Secret URI 経由で Key Vault から証明書を取得 DevOps SecOps 証明書をインジェクトし VMにアクセス
  • 16. Key Vault運用のベストプラクティス 16 Azure Key Vault 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 ストレージアカウントキー 証明書 保護キー パスワード
  • 17. Key Vault運用のベストプラクティス 17 Azure Key Vault Azure Active Directory 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける ストレージアカウントキー 証明書 保護キー パスワード App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs
  • 18. Key Vault運用のベストプラクティス 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける 4. 権限を最小化し、定期的にアクセス 許可を確認 18 App developers (the rest of your team) ストレージアカウントキー 証明書 保護キー パスワード App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs
  • 19. Key Vault運用のベストプラクティス 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける 4. 権限を最小化し、定期的にアクセス 許可を確認 19 Secret Custodians App developers Storage account keys Certificates Encryption keys Passwords Storage account keys Certificates Encryption keys Passwords App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs Storage account keys Certificates Encryption keys Passwords Storage account keys Certificates Encryption keys Passwords Storage account keys Certificates Encryption keys Passwords
  • 20. Key Vault運用のベストプラクティス 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける 4. 権限を最小化し、定期的にアクセス 許可を確認 5. ログアクセス、ログのレビュー 20 App developers Secret Custodians Security Analysts & Auditors App4 - Cloud Service Logs ストレージアカウントキー 証明書 保護キー パスワード App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs
  • 21. Key Vault運用のベストプラクティス 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける 4. 権限を最小化し、定期的にアクセス 許可を確認 5. ログアクセス、ログのレビュー 6. 定期的にシークレットを更新 21 App developers Secret Custodians Security Analysts & Auditors ストレージアカウントキー 証明書 保護キー パスワード App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs
  • 22. Key Vault運用のベストプラクティス 1. シークレットを生成 2. シークレットのためにデザインされ たストアで保管 3. ディレクトリに紐付ける 4. 権限を最小化し、定期的にアクセス 許可を確認 5. ログアクセス、ログのレビュー 6. 定期的にシークレットを更新 7. 自動化 22 App developers Security Analysts & Auditors ストレージアカウントキー 証明書 保護キー パスワード App5 - Containers App2 - Web App App4 - Cloud Service App3 - Service Fab App1 - VMs
  • 23. ソリューション例 23 Azure アプリ 開発者 SaaS 開発者 セキュリティ 担当者  署名と暗号化のキーを使用する Azure のアプリケーションを 作成したいが、ソリューションが地理的に分散したアプリ ケーションに合うように、これらをアプリケーションの外部 に設定したい。  これらのキーとシークレットは、自分でコードを記述せずに 保護し、簡単にアプリケーションから最適なパフォーマンス で使用できるようにしたい。  顧客のテナント キーやシークレットに対して義務や潜在的 責任を負いたくない。  顧客はキーを自分で所有して管理してほしい。そうすること で、私は自分の専門分野である、中心的なソフトウェア機能 を提供することに集中できる。  アプリケーションが、セキュリティで保護されたキー管理の ために FIPS 140-2 レベル 2 HSM に準拠していることを確 認したい。  組織が、キーのライフ サイクルを管理し、キーの使用状況 を確実に監視できるようにしたい。  複数の Azure サービスとリソースを使用しているが、Azure の 1 つの場所からキーを管理したい。  キーは、資格情報コンテナーに格納され、必要なときに、 URI によって呼び出されます。  キーは、業界標準のアルゴリズム、長いキー、およびHSM により、Azure によって保護されています。  キーは、アプリケーションと同じ Azure データ センター内 にある HSM で処理されるため、信頼性が向上し、オンプ レミスの場所などの別の場所にキーが存在する場合より待 機時間が削減されます。  顧客は Azure に自分のキーをインポートして管理できます。 SaaS アプリケーションが顧客のキーを使用して暗号化操作 を実行する必要がある場合は、Key Vault がアプリケーショ ンに代わって、これを行います。アプリケーションには、顧 客のキーは表示されません。  HSM は FIPS 140-2 レベル 2 で検証済みです。  Key Vault は、Microsoft によってご使用のキーが参照され たり抽出されたりしないように設計されています。  資格情報コンテナーは、Azure にある資格情報コンテナー の数、それらがサポートするリージョン、およびそれらを 使用するアプリケーションに関係なく、1 つのインター フェイスを提供します。
  • 24.  本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、 提示された情報の信憑性については保証できません。  本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。  すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、 機械的、複写、レコーディング、その他)、および目的であっても禁じられています。 これらは著作権保護された権利を制限するものではありません。  Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれら の特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 © 2017 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。

Hinweis der Redaktion

  1. You added some keys temporarily, and before you know it one of your teammates has pushed the change to github. Or you kept your certificates on your internal file server, and someone recycled the hard drives without wiping. Or you shared your connection strings with your team mates by secure mail. But one of them lost their phone in a taxi cab. Or you decide to be cautious and decide to only keep in your head. But then how do you deploy automatically every few hours? As your team grows 10x, rate of mistakes grows 10x.