SlideShare a Scribd company logo
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 の米国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、一般に各社の商標です。

More Related Content

What's hot

インフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boostインフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boost
Toru Makabe
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
junichi anno
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
Trainocate Japan, Ltd.
 
イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方
Yoshitaka Kawashima
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
NGINX, Inc.
 
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Yoichi Kawasaki
 
AWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリAWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリ
Amazon Web Services Japan
 
Microsoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses versionMicrosoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses version
Takeshi Fukuhara
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 

What's hot (20)

インフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boostインフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boost
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
 
イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
 
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
 
AWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリAWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリ
 
Microsoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses versionMicrosoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses version
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 

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

Azure Cosmos DB Always Encrypted
Azure Cosmos DB Always EncryptedAzure Cosmos DB Always Encrypted
Azure Cosmos DB Always Encrypted
Yui 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
 
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
junichi 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 セキュリティ
日本マイクロソフト株式会社
 
Authentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest KeycloakAuthentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest Keycloak
Hitachi, Ltd. OSS Solution Center.
 
【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
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
Yusuke Kodama
 
【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 14
Shogo 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_Part1
Ryoma Nagata
 
090916 X D E V今だから理解する[
090916 X D E V今だから理解する[090916 X D E V今だから理解する[
090916 X D E V今だから理解する[Masami Suzuki
 
【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
Amazon Web Services Japan
 

Similar to 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 のセキュリティ
 
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 セキュリティ
 
Authentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest KeycloakAuthentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest Keycloak
 
【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...
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
【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
 

More from 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.0
Yuki 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 Azure
Yuki Hattori
 
深層学習 環境構築 Azure
深層学習 環境構築 Azure深層学習 環境構築 Azure
深層学習 環境構築 Azure
Yuki Hattori
 
Non-coding! Azure
Non-coding! AzureNon-coding! Azure
Non-coding! Azure
Yuki 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
 

More from 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 の米国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。

Editor's Notes

  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.