CertificateCredential クラス

証明書を使用してサービス プリンシパルとして認証します。

この資格情報は RS256 を使用してアサーションに署名するため、証明書には RSA 秘密キーが必要です。 証明書認証の構成の詳細については、 Azure Active Directory のドキュメントを参照してください

継承
azure.identity._internal.client_credential_base.ClientCredentialBase
CertificateCredential

コンストラクター

CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)

パラメーター

tenant_id
str
必須

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

client_id
str
必須

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

certificate_path
str
既定値: None

秘密キーを含む PEM または PKCS12 形式の証明書ファイルへの省略可能なパス。 指定しない場合は、 certificate_data が必要です。

authority
str

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

certificate_data
bytes

秘密キーを含む PEM または PKCS12 形式の証明書のバイト数

password
str または bytes

証明書のパスワード。 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 に設定すると、権限の検証が無効になります。 その結果、構成された機関ホストが有効で信頼できることを確認することが重要です。

additionally_allowed_tenants
List[str]

資格情報がトークンを取得できる指定された "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 理由があります。