次の方法で共有


ClientAssertionCredential クラス

  • java.lang.Object
    • com.azure.identity.ClientAssertionCredential

実装

public class ClientAssertionCredential
implements TokenCredential

ClientAssertionCredential は、クライアント アサーションとサービス プリンシパル認証を使用してトークンを取得します。 この認証方法は、ユーザーが資格情報を入力しなくても、クライアント アプリケーションが Azure リソースにアクセスするためのセキュリティで保護されたスケーラブルな方法を提供します。 多くの場合、クライアント アプリケーションがユーザーの代わりに Azure リソースにアクセスする必要があるシナリオ (多層アプリケーション アーキテクチャなど) で使用されます。 この認証方法では、クライアント アプリケーションによって、サービス プリンシパル (クライアント ID やテナント ID など) に関する情報を含む JSON Web トークン (JWT) が作成され、クライアント シークレットを使用して署名されます。 その後、クライアントは ID の証明としてこのトークンを Azure Active Directory (Azure AD) に送信します。 Azure AD はトークン署名を検証し、要求された Azure リソースにアクセスするために必要なアクセス許可がサービス プリンシパルに付与されていることを確認します。 トークンが有効で、サービス プリンシパルが承認されている場合、Azure AD は、クライアント アプリケーションが要求されたリソースへのアクセスに使用できるアクセス トークンを発行します。 ClientAssertionCredential は、サービス プリンシパルまたは登録済みの AAD アプリケーションのクライアント クライアント アサーションを使用してアクセス トークンを取得します。 この資格情報がアクセス トークンを取得するには、サービス プリンシパルの tenantId、clientId、clientAssertion が必要です。 認証には、Azure でホストされる開発環境とローカル開発環境の両方で使用できます。

前提条件として、この認証メカニズムを使用するにはサービス プリンシパルが必要です。 サービス プリンシパルがない場合は、「Azure CLI を使用してサービス プリンシパルを作成する」を参照してください。

サンプル: 単純な ClientAssertionCredential を構築する

次のコード サンプルは、 を使用してClientAssertionCredentialBuilderの作成ClientAssertionCredentialを示しています。 をtenantId作成ClientAssertionCredentialするには、 パラメーター、および certificate パラメーターclientIdが必要です。 この資格情報が作成されると、多くの Azure SDK for Java クライアント ビルダーのビルダーに 'credential' パラメーターとして渡される場合があります。

TokenCredential clientAssertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .build();

サンプル: プロキシの背後に ClientAssertionCredential を構築する

次のコード サンプルは、 を使用してClientAssertionCredentialBuilderの作成ClientAssertionCredentialを示しています。 をtenantId作成ClientAssertionCredentialするには、 パラメーター、および clientAssertion パラメーターclientIdが必要です。 必要に応じて、プロキシをターゲットにするように THe proxyOptions を構成できます。 この資格情報が作成されると、多くの Azure SDK for Java クライアント ビルダーのビルダーに 'credential' パラメーターとして渡される場合があります。

TokenCredential assertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465)))
     .build();

メソッドの概要

修飾子と型 メソッドと説明
reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

メソッドの継承元: java.lang.Object

メソッドの詳細

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

適用対象