Azure Key Vault に対する認証
Key Vault での認証は Microsoft Entra ID で動作します。これは、特定のセキュリティ プリンシパルの ID を認証する役割を担います。
アプリケーションの場合、サービス プリンシパルを取得する方法は 2 つあります。
アプリケーションのシステム割り当て マネージド ID を有効にします。 マネージド ID を使用すると、Azure はアプリケーションのサービス プリンシパルを内部的に管理し、他の Azure サービスでアプリケーションを自動的に認証します。 マネージド ID は、さまざまなサービスにデプロイされたアプリケーションで使用できます。
マネージド ID を使用できない場合は、代わりにアプリケーションを Microsoft Entra テナントに登録します。 登録により、すべてのテナントでアプリを識別する 2 つ目のアプリケーション オブジェクトも作成されます。
手記
システム割り当てマネージド ID を使用することをお勧めします。
マネージド ID を使用せずに Key Vault に対する認証に関する情報を次に示します。
アプリケーション コードでの Key Vault への認証
Key Vault SDK では Azure Identity クライアント ライブラリを使用しています。これにより、同じコードを使用する環境間で Key Vault に対するシームレスな認証が可能になります。 次の表に、Azure ID クライアント ライブラリに関する情報を示します。
.NET | パイソン | ジャワ | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python の | Azure Identity SDK Java | Azure Identity SDK JavaScript |
REST を使用した Key Vault への認証
アクセス トークンは、HTTP Authorization ヘッダーを使用してサービスに送信する必要があります。
PUT /keys/MYKEY?api-version=<api_version> HTTP/1.1
Authorization: Bearer <access_token>
アクセス トークンが指定されていない場合、またはサービスによってトークンが受け入れられない場合、HTTP 401
エラーがクライアントに返され、WWW-Authenticate
ヘッダーが含まれます。次に例を示します。
401 Not Authorized
WWW-Authenticate: Bearer authorization="…", resource="…"
WWW-Authenticate
ヘッダーのパラメーターは次のとおりです。
authorization: 要求のアクセス トークンを取得するために使用できる OAuth2 承認サービスのアドレス。
resource: 承認要求で使用するリソース (
https://vault.azure.net
) の名前。
その他のリソース
- Azure Key Vault 開発者ガイドに関する
- Azure Key Vault の可用性と冗長性