返回顶部
a

azure-identity-pyAzure身份库

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
1,895
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

azure-identity-py

Azure Identity SDK for Python

使用 Microsoft Entra ID(原 Azure AD)进行 Azure SDK 客户端身份验证的身份验证库。

安装

bash
pip install azure-identity

环境变量

bash

服务主体(用于生产/CI)


AZURETENANTID=<你的租户ID>
AZURECLIENTID=<你的客户端ID>
AZURECLIENTSECRET=<你的客户端密钥>

用户分配托管标识(可选)

AZURECLIENTID=<托管标识客户端ID>

DefaultAzureCredential

大多数场景下的推荐凭据。按顺序尝试多种身份验证方法:

python
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

在本地开发和生成环境中均可使用,无需修改代码

credential = DefaultAzureCredential()

client = BlobServiceClient(
account_url=https://<账户>.blob.core.windows.net,
credential=credential
)

凭据链顺序

顺序凭据环境
1EnvironmentCredentialCI/CD、容器
2
WorkloadIdentityCredential | Kubernetes | | 3 | ManagedIdentityCredential | Azure VM、应用服务、函数 | | 4 | SharedTokenCacheCredential | 仅限 Windows | | 5 | VisualStudioCodeCredential | 安装了 Azure 扩展的 VS Code | | 6 | AzureCliCredential | az login | | 7 | AzurePowerShellCredential | Connect-AzAccount | | 8 | AzureDeveloperCliCredential | azd auth login |

自定义 DefaultAzureCredential

python

排除不需要的凭据


credential = DefaultAzureCredential(
excludeenvironmentcredential=True,
excludesharedtokencachecredential=True,
managedidentityclient_id=<用户分配MI客户端ID> # 用于用户分配托管标识
)

启用交互式浏览器(默认禁用)

credential = DefaultAzureCredential( excludeinteractivebrowser_credential=False )

特定凭据类型

ManagedIdentityCredential

用于 Azure 托管资源(VM、应用服务、函数、AKS):

python
from azure.identity import ManagedIdentityCredential

系统分配托管标识

credential = ManagedIdentityCredential()

用户分配托管标识

credential = ManagedIdentityCredential( client_id=<用户分配MI客户端ID> )

ClientSecretCredential

用于带密钥的服务主体:

python
from azure.identity import ClientSecretCredential

credential = ClientSecretCredential(
tenantid=os.environ[AZURETENANT_ID],
clientid=os.environ[AZURECLIENT_ID],
clientsecret=os.environ[AZURECLIENT_SECRET]
)

AzureCliCredential

使用 az login 的账户:

python
from azure.identity import AzureCliCredential

credential = AzureCliCredential()

ChainedTokenCredential

自定义凭据链:

python
from azure.identity import (
ChainedTokenCredential,
ManagedIdentityCredential,
AzureCliCredential
)

优先尝试托管标识,失败后回退到 CLI

credential = ChainedTokenCredential( ManagedIdentityCredential(client_id=<用户分配MI客户端ID>), AzureCliCredential() )

凭据类型表

凭据使用场景认证方式
DefaultAzureCredential大多数场景自动检测
ManagedIdentityCredential
Azure 托管应用 | 托管标识 | | ClientSecretCredential | 服务主体 | 客户端密钥 | | ClientCertificateCredential | 服务主体 | 证书 | | AzureCliCredential | 本地开发 | Azure CLI | | AzureDeveloperCliCredential | 本地开发 | Azure Developer CLI | | InteractiveBrowserCredential | 用户登录 | 浏览器 OAuth | | DeviceCodeCredential | 无头/SSH | 设备代码流 |

直接获取令牌

python
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()

获取特定作用域的令牌

token = credential.get_token(https://management.azure.com/.default) print(f令牌过期时间: {token.expires_on})

用于 Azure Database for PostgreSQL

token = credential.get_token(https://ossrdbms-aad.database.windows.net/.default)

异步客户端

python
from azure.identity.aio import DefaultAzureCredential
from azure.storage.blob.aio import BlobServiceClient

async def main():
credential = DefaultAzureCredential()

async with BlobServiceClient(
account_url=https://<账户>.blob.core.windows.net,
credential=credential
) as client:
# ... 异步操作
pass

await credential.close()

最佳实践

  1. 1. 使用 DefaultAzureCredential 用于在本地和 Azure 中运行的代码
  2. 切勿硬编码凭据 — 使用环境变量或托管标识
  3. 在生产 Azure 部署中优先使用托管标识
  4. 需要自定义凭据顺序时使用 ChainedTokenCredential
  5. 显式关闭异步凭据 或使用上下文管理器
  6. 为用户分配托管标识设置 AZURECLIENTID
  7. 排除未使用的凭据 以加快身份验证速度

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 azure-identity-py-1776376159 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 azure-identity-py-1776376159 技能

通过命令行安装

skillhub install azure-identity-py-1776376159

下载

⬇ 下载 azure-identity-py v0.1.0(免费)

文件大小: 2.42 KB | 发布时间: 2026-4-17 14:01

v0.1.0 最新 2026-4-17 14:01
Initial release of azure-identity-py skill.

- Provides usage guidance for Azure Identity SDK authentication in Python.
- Documents DefaultAzureCredential, managed identity, service principals, and token caching.
- Includes credential chain order, environment variable setup, and async usage examples.
- Covers best practices and credential selection for local and cloud scenarios.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部