欢迎访问宙启技术站
智能推送

使用Python和ServicePrincipalCredentials()实现AzureAD的服务主体认证

发布时间:2023-12-26 02:26:41

在AzureAD中,可以使用服务主体凭据(Service Principal Credentials)来进行身份验证和授权,以便在应用程序中使用Azure资源。

首先,我们需要安装必要的库,通过以下命令安装azure-identity库:

pip install azure-identity

接下来,我们可以使用以下代码示例来实现AzureAD的服务主体认证:

from azure.identity import DefaultAzureCredential
from azure.identity import ServicePrincipalCredential
from azure.keyvault.secrets import SecretClient

# 创建服务主体凭证
credentials = ServicePrincipalCredential(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
    tenant_id="YOUR_TENANT_ID"
)

# 创建密钥管理器
secret_client = SecretClient(vault_url="https://YOUR_KEYVAULT_NAME.vault.azure.net/", credential=credentials)

# 通过服务主体凭证访问Key Vault
secret = secret_client.get_secret("SECRET_NAME")
print("Secret value: ", secret.value)

在上述示例中,我们首先创建了一个ServicePrincipalCredential对象,通过提供客户端ID(client_id)、客户端密钥(client_secret)和租户ID(tenant_id)进行初始化。

然后,我们使用该凭据创建了一个密钥管理器(SecretClient)对象,该对象用于与Azure Key Vault交互。我们需要提供Key Vault的URL和凭据对象。

最后,我们使用密钥管理器获取指定秘密的值,并将其打印出来。

请确保将上述示例中的YOUR_CLIENT_IDYOUR_CLIENT_SECRETYOUR_TENANT_IDYOUR_KEYVAULT_NAME替换为实际的值。

这是使用Python和ServicePrincipalCredentials实现AzureAD的服务主体认证的一个例子。通过该凭据,您可以在应用程序中使用Azure资源。