identity パッケージ

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

パッケージ

aio

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

クラス

AuthenticationRecord

認証されたユーザーのシークレット以外のアカウント情報

このクラスを使用すると DeviceCodeCredentialInteractiveBrowserCredential 以前にキャッシュされた認証データにアクセスできます。 アプリケーションでは、このクラスのインスタンスを構築しないでください。 代わりに、 などのauthenticate資格情報の認証方法から取得する必要があります。 詳細については、user_authenticationサンプルを参照してください。

AuthenticationRequiredError

トークンを取得するには、対話型認証が必要です。

このエラーは、必要に応じてユーザー操作を自動的に求めないように構成された対話型ユーザー資格情報によってのみ発生します。 そのプロパティは、認証に必要な追加情報を提供します。 control_interactive_promptsサンプルでは、資格情報の "認証" メソッドを呼び出してこのエラーを処理する方法を示します。

AuthorizationCodeCredential

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

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

AzureAuthorityHosts

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

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

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

CredentialUnavailableError

資格情報は、必要なデータまたは状態が使用できないため、認証を試みませんでした。

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)引数を使用して構成できます。

DeviceCodeCredential

デバイス コード フローを使用してユーザーを認証します。

が呼び出されると get_token 、この資格情報は Azure Active Directory から検証 URL とコードを取得します。 ユーザーは、URL を参照し、コードを入力し、Azure Active Directory で認証する必要があります。 ユーザーが正常に認証されると、資格情報はアクセス トークンを受け取ります。

この資格情報は、主に、SSH セッションなどの Web ブラウザーのない環境でユーザーを認証する場合に役立ちます。 Web ブラウザーが使用可能な場合は、 InteractiveBrowserCredential ログイン ページに対してブラウザーが自動的に開かれるため、 の方が便利です。

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 パブリック クラウドの権限です。

ユーザー名とパスワードを持つユーザー:

  • AZURE_CLIENT_ID: アプリケーションのクライアント ID

  • AZURE_USERNAME: ユーザー名 (通常はメール アドレス)

  • AZURE_PASSWORD: そのユーザーのパスワード

  • AZURE_TENANT_ID: (省略可能) サービス プリンシパルのテナントの ID。 "ディレクトリ" ID とも呼ばれます。 指定しない場合、既定では "organizations" テナントが使用され、Azure Active Directory の職場または学校アカウントのみがサポートされます。

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

InteractiveBrowserCredential

ブラウザーを開き、ユーザーを対話形式で認証します。

get_token Azure Active Directory によって提供されるログイン URL に対するブラウザーを開き、PKCE (Proof Key for Code Exchange) を内部的に使用して認証コード フローを使用してそこでユーザーを認証します。

KnownAuthorities

AzureAuthorityHosts の別名

ManagedIdentityCredential

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

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

OnBehalfOfCredential

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

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

SharedTokenCacheCredential

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

TokenCachePersistenceOptions

永続的なトークン キャッシュのオプション。

ほとんどの資格情報では、永続的なトークン キャッシュを構成するために、このクラスのインスタンスを受け入れます。 既定値では、Microsoft 開発者ツールと SharedTokenCacheCredentialで共有されるキャッシュを使用するように資格情報が構成されます。 資格情報のデータを他のアプリケーションから分離するには、キャッシュの 名前 を指定します。

既定では、キャッシュは現在のプラットフォームのユーザー データ保護 API で暗号化され、使用できない場合はエラーが発生します。 エラーを発生させる代わりに暗号化されていないファイルにフォールバックするようにキャッシュを構成するには、 allow_unencrypted_storage=True を指定します

警告

キャッシュには認証シークレットが含まれています。 キャッシュが暗号化されていない場合は、キャッシュを保護します。

アプリケーションの責任を負います。 コンテンツの侵害により、アカウントが完全に侵害されます。

UsernamePasswordCredential

ユーザー名とパスワードを使用してユーザーを認証します。

一般に、この種の認証は、他の認証フローよりも安全性が低いため、Microsoft では推奨されません。

この資格情報を使用した認証は対話型ではありません。そのため、 多要素認証や同意プロンプトの形式とは互換性がありません。 アプリケーションは、ユーザーまたはディレクトリ管理者からの同意を既に持っている必要があります。

この資格情報は、職場と学校のアカウントのみを認証できます。Microsoft アカウントはサポートされていません。 アカウントの種類の詳細については、 Azure Active Directory のドキュメントを参照してください

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 の概要 を参照してください。