OnBehalfOfCredential クラス

代理フローを使用してサービス プリンシパルを認証します。

このフローは、通常、委任されたユーザー ID を使用して他のサービスへの要求を承認する中間層サービスによって使用されます。 これは対話型の認証フローではないので、それを使用するアプリケーションは、委任されたアクセス許可に対して管理者の同意を得てから、トークンを要求する必要があります。 代理フローの詳細については、 Azure Active Directory のドキュメントを参照してください

継承
azure.identity._internal.msal_credentials.MsalCredential
OnBehalfOfCredential
azure.identity._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

コンストラクター

OnBehalfOfCredential(tenant_id: str, client_id: str, **kwargs: Any)

パラメーター

tenant_id
str
必須

サービス プリンシパルのテナントの ID。 "ディレクトリ" ID とも呼ばれます。

client_id
str
必須

サービス プリンシパルのクライアント ID

client_secret
str

省略可能。 サービス プリンシパルを認証するためのクライアント シークレット。 client_secretまたはclient_certificateを指定する必要があります。

client_certificate
bytes

省略可能。 サービス プリンシパルを認証するための秘密キーを含む PEM または PKCS12 形式の証明書のバイト。 client_secretまたはclient_certificateを指定する必要があります。

user_assertion
str

必須。 代理トークンを要求するときに資格情報がユーザー アサーションとして使用するアクセス トークン

authority
str

Azure Active Directory エンドポイントの権限 ("login.microsoftonline.com" など)、Azure パブリック クラウドの権限 (既定値)。 AzureAuthorityHosts は、他のクラウドの権限を定義します。

password
str または bytes

証明書のパスワード。 client_certificateが指定されている場合にのみ使用されます。 この値が Unicode 文字列の場合、UTF-8 としてエンコードされます。 証明書に別のエンコードが必要な場合は、代わりに適切にエンコードされたバイトを渡します。

disable_instance_discovery
bool

認証を試みるときにインスタンス検出を実行するかどうかを決定します。 これを true に設定すると、インスタンスの検出と機関の検証の両方が完全に無効になります。 この機能は、プライベート クラウドや Azure Stack など、メタデータ エンドポイントに到達できないシナリオでの使用を目的としています。 インスタンス検出のプロセスでは、 から https://login.microsoft.com/ 機関メタデータを取得して機関を検証する必要があります。 これを True に設定すると、機関の検証は無効になります。 その結果、構成された機関ホストが有効で信頼できることを確認することが重要です。

additionally_allowed_tenants
List[str]

資格情報がトークンを取得できる指定した "tenant_id" に加えて、テナントを指定します。 ワイルドカード値 "*" を追加して、資格情報がアプリケーションがアクセスできる任意のテナントのトークンを取得できるようにします。

OnBehalfOfCredential を作成します。


   from azure.identity import OnBehalfOfCredential

   credential = OnBehalfOfCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       client_secret="<client_secret>",
       user_assertion="<access_token>",
   )

メソッド

close
get_token

スコープのアクセス トークンを要求 します

このメソッドは、Azure SDK クライアントによって自動的に呼び出されます。

close

close() -> None

get_token

スコープのアクセス トークンを要求 します

このメソッドは、Azure SDK クライアントによって自動的に呼び出されます。

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

パラメーター

scopes
str
必須

アクセス トークンの目的のスコープ。 このメソッドには、少なくとも 1 つのスコープが必要です。 スコープの詳細については、「」を参照してください https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc

claims
str

承認エラーの後にリソース プロバイダーの要求チャレンジで返される要求など、トークンに必要な追加の要求。

tenant_id
str

トークン要求に含めるオプションのテナント。

enable_cae
bool

は、要求されたトークンに対して継続的アクセス評価 (CAE) を有効にするかどうかを示します。 既定値は False です。

戻り値

目的のスコープを持つアクセス トークン。

の戻り値の型 :

例外

資格情報は、必要なデータ、状態、またはプラットフォームのサポートがないため、認証を試みることができません

認証に失敗しました。 エラーの message 属性には理由があります。