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) の名前。

その他のリソース