Azure Key Vault に対する認証

完了

Key Vault による認証は、特定のセキュリティ プリンシパルの ID を認証する役割を担当する Microsoft Entra ID と連動します。

アプリケーションの場合、サービス プリンシパルを取得するには次の 2 つの方法があります。

  • アプリケーションに対して、システムに割り当てられたマネージド ID を有効にする。 Azure では、マネージ ID を使用することにより、アプリケーションのサービス プリンシパルが内部的に管理され、他の Azure サービスでのアプリケーションの認証が自動的に行われます。 マネージド ID は、さまざまなサービスにデプロイされたアプリケーションで利用できます。

  • マネージド ID を使用できない場合、代わりに Microsoft Entra テナントにアプリケーションを登録します。 また、登録によって、すべてのテナントでそのアプリを示す 2 つ目のアプリケーション オブジェクトも作成されます。

注意

システムによって割り当てられたマネージド ID を使用することをお勧めします。

次は、マネージド ID を使用せずに Key Vault を認証する方法についてです。

アプリケーション コードでの Key Vault に対する認証

Key Vault SDK では、Azure Identity クライアント ライブラリが使用されています。これにより、同じコードを使用する環境間で Key Vault へのシームレスな認証が可能になっています。 以下の表は、Azure Identity クライアント ライブラリの情報を示しています。

.NET Python Java 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)。

その他のリソース