次の方法で共有


aio パッケージ

非同期 Azure SDK クライアントの資格情報。

クラス

AuthorizationCodeCredential

Azure Active Directory から以前に取得した承認コードを使用して認証します。

認証フローの詳細については、 Azure Active Directory のドキュメントを参照してください

AzureCliCredential

Azure CLI にトークンを要求して認証します。

これには、以前に "az login" を使用して Azure にログインする必要があり、CLI の現在ログインしている ID が使用されます。

AzureDeveloperCliCredential

Azure Developer CLIからトークンを要求して認証します。

Azure Developer CLIは、開発者が Azure でリソースを作成、管理、デプロイできるようにするコマンドライン インターフェイス ツールです。 これは Azure CLI 上に構築され、Azure 開発者に固有の追加機能を提供します。 これにより、ユーザーは Azure Active Directory (Azure AD) に対してユーザーまたはサービス プリンシパルとして認証できます。 AzureDeveloperCliCredential は開発環境で認証を行い、Azure Developer CLIにログインしているユーザーまたはサービス プリンシパルに代わってトークンを取得します。 ログインしているユーザーまたはサービス プリンシパルAzure Developer CLIとして機能し、その下にある Azure CLI コマンドを実行して、Azure Active Directory に対してアプリケーションを認証します。

この資格情報を使用するには、開発者は次のいずれかのコマンドを使用して、Azure Developer CLIでローカルで認証する必要があります。

  • Azure Developer CLIで "azd auth login" を実行して、ユーザーとして対話形式で認証します。

  • "azd auth login –client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id' を実行して、サービス プリンシパルとして認証します。

組織内の更新トークンの有効性によっては、一定期間後にこのプロセスを繰り返す必要がある場合があります。 一般に、更新トークンの有効期間は数週間から数か月です。 AzureDeveloperCliCredential では、もう一度サインインするように求められます。

AzurePowerShellCredential

Azure PowerShellからトークンを要求して認証します。

これには、以前に "Connect-AzAccount" を介して Azure にログインする必要があり、現在ログインしている ID が使用されます。

CertificateCredential

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

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

ChainedTokenCredential

それ自体が資格情報である資格情報のシーケンス。

そのメソッドは get_token 、シーケンス内の各資格情報を順番に呼び出 get_token し、受信した最初の有効なトークンを返します。

ClientAssertionCredential

JWT アサーションを使用してサービス プリンシパルを認証します。

この資格情報は、高度なシナリオ用です。 CertificateCredential には、証明書を使用してサービス プリンシパルを認証する、最も一般的なアサーション シナリオのためのより便利な API があります。

ClientSecretCredential

クライアント シークレットを使用してサービス プリンシパルとして認証します。

DefaultAzureCredential

ほとんどの Azure SDK 認証シナリオを処理できる既定の資格情報。

ここで使用される ID は、環境によって異なります。 アクセス トークンが必要な場合は、次の ID を使用してアクセス トークンが要求され、トークンが提供されると停止します。

  1. 環境変数によって構成されたサービス プリンシパル。 詳細については、 EnvironmentCredential をご覧ください。

  2. Azure ワークロード ID Webhook によって環境変数の構成が設定されている場合は WorkloadIdentityCredential。

  3. Azure マネージド ID。 詳細については、 ManagedIdentityCredential をご覧ください。

  4. Windows のみ: Visual Studio などの Microsoft アプリケーションでサインインしたユーザー。 キャッシュ内に複数の ID がある場合は、環境変数 AZURE_USERNAME の値を使用して、使用する ID を選択します。 詳細については、 SharedTokenCacheCredential をご覧ください。

  5. 現在 Azure CLI にログインしている ID。

  6. 現在Azure PowerShellにログインしている ID。

  7. 現在Azure Developer CLIにログインしている ID。

この既定の動作は、キーワード (keyword)引数を使用して構成できます。

EnvironmentCredential

環境変数によって構成された資格情報。

この資格情報は、クライアント シークレットまたは証明書を使用してサービス プリンシパルとして、またはユーザー名とパスワードを持つユーザーとして認証できます。 構成は、次の環境変数を使用して、次の順序で試行されます。

シークレットを含むサービス プリンシパル:

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

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

  • AZURE_CLIENT_SECRET: サービス プリンシパルのクライアント シークレットの 1 つ

  • AZURE_AUTHORITY_HOST: Azure Active Directory エンドポイントの権限 ("login.microsoftonline.com" など) は、値が指定されていない場合の既定値である Azure パブリック クラウドの権限です。

証明書を含むサービス プリンシパル:

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

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

  • AZURE_CLIENT_CERTIFICATE_PATH: 秘密キーを含む PEM または PKCS12 証明書ファイルへのパス。

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: 証明書ファイルの (省略可能) パスワード (存在する場合)。

  • AZURE_AUTHORITY_HOST: Azure Active Directory エンドポイントの権限 ("login.microsoftonline.com" など) は、値が指定されていない場合の既定値である Azure パブリック クラウドの権限です。

ManagedIdentityCredential

マネージド ID をサポートするすべてのホスティング環境で、Azure マネージド ID を使用して認証します。

この資格情報は、既定でシステム割り当て ID を使用します。 ユーザー割り当て ID を構成するには、キーワード (keyword)引数のいずれかを使用します。 アプリケーションのマネージド ID の構成の詳細については、 Azure Active Directory のドキュメントを参照してください

OnBehalfOfCredential

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

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

SharedTokenCacheCredential

Microsoft アプリケーション間で共有されるローカル キャッシュ内のトークンを使用して認証を行います。

VisualStudioCodeCredential

"Azure アカウント" 拡張機能を使用して Visual Studio Code にサインインした Azure ユーザーとして認証します。

この資格情報が 0.9.11 より新しい Azure アカウント拡張機能バージョンでは機能しないという既知の問題です。 この問題に対する長期的な修正が進行中です。 それまでの間は、 を使用 AzureCliCredentialした認証を検討してください。

WorkloadIdentityCredential

Azure Active Directory ワークロード ID を使用して認証します。

ワークロード ID 認証は、仮想マシン (VM) 上で実行されているアプリケーションが、サービス プリンシパルまたはマネージド ID を必要とせずに他の Azure リソースにアクセスできるようにする Azure の機能です。 ワークロード ID 認証では、アプリケーションは、共有サービス プリンシパルまたはマネージド ID を使用するのではなく、独自の ID を使用して自身を認証します。 ワークロード ID 認証では、Azure によって自動的に作成され、VM に安全に格納されるサービス アカウント資格情報 (SAC) の概念が使用されます。 ワークロード ID 認証を使用することで、各 VM 上の各アプリケーションのサービス プリンシパルまたはマネージド ID を管理およびローテーションする必要がなくなります。 さらに、SAC は Azure によって自動的に作成および管理されるため、機密性の高い資格情報自体の格納とセキュリティ保護について心配する必要はありません。

WorkloadIdentityCredential は、Azure Kubernetes での Azure ワークロード ID 認証をサポートし、Azure Kubernetes 環境で使用できるサービス アカウント資格情報を使用してトークンを取得します。 詳細については、 このワークロード ID の概要 を参照してください。