まとめ

完了

このモジュールでは、Azure Key Vault でアプリのシークレット構成をセキュリティ保護しました。 このアプリ コードを使用して、マネージド ID を使用してコンテナーへの認証が行われ、起動時にコンテナーからメモリにシークレットが自動的に読み込まれます。

クリーンアップ

このモジュールを完了したら、サンド ボックスは、リソースを自動的にクリーンアップします。

独自のサブスクリプションを使用している場合は、プロジェクトの最後に、作成したリソースがまだ必要かどうかを確認してください。 リソースを実行したままにすると、コストが発生する可能性があります。 リソースを個別に削除するか、リソース グループを削除してリソースのセット全体を削除することができます。

Cloud Shell ストレージをクリーンアップするには、KeyVaultDemoApp ディレクトリを削除します。

次のステップ

このアプリが実際のアプリだった場合、次の手順は何でしょうか?

  • すべてのアプリ シークレットをコンテナーに配置することです! 構成ファイル内に入れておく理由は何もありません。
  • 引き続きアプリを開発します。 運用環境はすべてセットアップ済みなので、今後のデプロイですべてのセットアップを繰り返す必要はありません。
  • 開発をサポートするには、名前は同じでも値の異なるシークレットを含む開発環境コンテナーを作成します。 アプリの開発環境構成ファイルで、開発チームにアクセス許可を付与し、コンテナー名を構成します。 構成は実装によって変わります。ASP.NET Core の場合、AddAzureKeyVault で Visual Studio および Azure CLI のローカル インストールが自動的に検出され、それらのアプリで構成されている Azure 資格証明を使用してサインインが実行され、コンテナーにアクセスされます。 Node.js の場合、コンテナーへのアクセス許可を持つ開発環境のサービス プリンシパルを作成し、loginWithServicePrincipalSecret を使用してアプリの認証を行うことができます。
  • ユーザー受け入れテストなどの目的で、より多くの環境を作成します。
  • 異なるサブスクリプションおよびリソース グループ間でコンテナーを別々にして、分離します。
  • 該当するユーザーに他の環境コンテナーへのアクセス権を付与します。

参考資料

知識を確認

1.

次のうち、Azure Key Vault の利点ではないのはどれですか?

2.

次のうち、Azure Key Vault の認証と承認プロセスの最も適切な説明はどれですか?

3.

アプリに読み込まれた後のシークレットは Azure Key Vault でどのように保護されますか?