CertificateCredential クラス
証明書を使用してサービス プリンシパルとして認証します。
この資格情報は RS256 を使用してアサーションに署名するため、証明書には RSA 秘密キーが必要です。 証明書認証の構成の詳細については、 Azure Active Directory のドキュメントを参照してください 。
- 継承
-
azure.identity._internal.client_credential_base.ClientCredentialBaseCertificateCredential
コンストラクター
CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)
パラメーター
- certificate_path
- str
秘密キーを含む PEM または PKCS12 形式の証明書ファイルへの省略可能なパス。 指定しない場合は、 certificate_data が必要です。
- authority
- str
Azure Active Directory エンドポイントの権限 ("login.microsoftonline.com" など)、Azure パブリック クラウドの権限 (既定値)。 AzureAuthorityHosts は、他のクラウドの権限を定義します。
- certificate_data
- bytes
秘密キーを含む PEM または PKCS12 形式の証明書のバイト数
証明書のパスワード。 Unicode 文字列の場合、UTF-8 としてエンコードされます。 証明書に別のエンコードが必要な場合は、代わりに適切にエンコードされたバイトを渡します。
- send_certificate_chain
- bool
True の場合、資格情報は各トークン要求の JWT の x5c ヘッダーにパブリック証明書チェーンを送信します。 これは、サブジェクト名/発行者 (SNI) 認証に必要です。 既定値は False です。
- cache_persistence_options
- TokenCachePersistenceOptions
永続的なトークン キャッシュの構成。 指定しない場合、資格情報はメモリ内のトークンをキャッシュします。
- disable_instance_discovery
- bool
認証を試みるときにインスタンス検出を実行するかどうかを決定します。 これを true に設定すると、インスタンスの検出と機関の検証の両方が完全に無効になります。 この機能は、プライベート クラウドや Azure Stack など、メタデータ エンドポイントに到達できないシナリオで使用することを目的としています。 インスタンス検出のプロセスでは、 から https://login.microsoft.com/ 機関メタデータを取得して機関を検証する必要があります。 これを True に設定すると、権限の検証が無効になります。 その結果、構成された機関ホストが有効で信頼できることを確認することが重要です。
資格情報がトークンを取得できる指定された "tenant_id" に加えて、テナントを指定します。 ワイルドカード値 "*" を追加して、アプリケーションがアクセスできる任意のテナントのトークンを資格情報で取得できるようにします。
例
CertificateCredential を作成します。
from azure.identity import CertificateCredential
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_path="<path to PEM/PKCS12 certificate>",
password="<certificate password if necessary>",
)
# Certificate/private key byte data can also be passed directly
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_data=b"<cert data>",
)
メソッド
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
理由があります。