Azure Key Vault を使用するためのベスト プラクティス
Azure Key Vault を使用すると、暗号化キーとシークレット (証明書、接続文字列、パスワードなど) を保護できます。 この記事は、キー コンテナーの使用を最適化するのに役立ちます。
別々のキー コンテナーを使用する
環境 (開発、実稼働前、および実稼働) ごと、リージョンごとに、アプリケーションごとのコンテナーを使用することをお勧めします。 これにより複数の環境でシークレットを共有することがなくなります。 また、セキュリティ違反が発生した際の脅威を軽減するのにも役立ちます。
別々のキー コンテナーをお勧めする理由
キー コンテナーでは、格納されているシークレットのセキュリティ境界を定義します。 これは、シークレットを同じコンテナーにグループ化すると、攻撃によってさまざまな事項にわたるシークレットにアクセスできるおそれがあるため、セキュリティ イベントの "爆発半径" が大きくなることを意味します。 さまざまな場所にアクセスされてしまう懸念を軽減するには、ある特定のアプリケーションにどのシークレットに対するアクセス権限が "必要である" かを検討し、この線引きに基づいてキー コンテナーを分離します。 アプリケーション別にキー コンテナーを分離するのが最も一般的な境界です。 ただし、大規模なアプリケーションでは、関連するサービスのグループごとになど、セキュリティ境界をより細かく設定できます。
コンテナーへのアクセスの制御
暗号化キーとシークレット (証明書、接続文字列、パスワードなど) は機密性が高く、ビジネスにおいて重要です。 承認されたアプリケーションとユーザーのみを許可することで、キー コンテナーへのアクセスをセキュリティで保護する必要があります。 Azure Key Vault のセキュリティ機能で、Key Vault アクセス モデルの概要を確認できます。 認証と承認について説明します。 また、キー コンテナーへのアクセスをセキュリティで保護する方法についても説明します。
コンテナーへのアクセスを制御することに関わる推奨事項としては次のようなものがあります。
- サブスクリプション、リソース グループ、およびキー コンテナー (ロールベースのアクセス制御 (RBAC)) へのアクセスをロックダウンする。
- コンテナーごとにアクセス ポリシーを作成する。
- 最小限の特権の原則を使用してアクセス権を付与する。
- ファイアウォールと仮想ネットワーク サービス エンドポイントをオンにする。
Backup
必ずコンテナーのバックアップを定期的に作成してください。 コンテナー内のオブジェクトを更新、削除、または作成するときは、バックアップを実行してください。
Azure PowerShell バックアップ コマンド
Azure CLI バックアップ コマンド
ログ記録を有効にする
コンテナーのログ記録を有効にします。 また、アラートを設定します。
回復オプションの有効化
- 論理的な削除を有効にします。
- 論理的な削除を有効にした後にもシークレットとキー コンテナーの強制削除を防ぐ必要がある場合は、パージ保護を有効にします。