gpt4 book ai didi

Azure Python SDK - 使用 CLI 凭据连接到 USGov 失败?

转载 作者:行者123 更新时间:2023-12-03 07:04:01 26 4
gpt4 key购买 nike

我已经尝试使用 AzureCliCredential(),如前面的问题/文档中所述 - 这在普通的 azure 云中效果很好。如果我使用 USGov 云 (portal.azure.us),相同的代码不会返回任何内容;我尝试过http跟踪,看起来它仍然指向management.azure.com而不是management.core.usgovcloudapi.net - 但它没有说什么。几乎所有需要订阅范围的内容都告诉我订阅不存在,但“az 帐户列表”正确显示了所有订阅。我已经将所有 python 模块更新到最新版本..不确定目前出了什么问题,有什么想法吗?

总结一下,程序是:

  1. 使用 az login --use-device-code 登录
  2. 访问 microsoft.com/deviceloginus(usgov 设备登录)并输入代码
  3. shell 已通过身份验证
  4. az 帐户列表 显示我的所有订阅
  5. 运行测试代码以列出订阅 - 没有得到任何结果。跟踪显示,如果我强制将 base_url 设置为 https://management.usgovcloudapi.net,事情仍然指向 management.azure.com。 ,我收到 InvalidAuthenticationTokenAudience 异常。

我正在使用的代码:


import logging
from azure.identity import AzureCliCredential
from azure.mgmt.subscription import SubscriptionClient

credential = AzureCliCredential()
client = SubscriptionClient(credential=credential, logging_enable=True, base_url="https://management.usgovcloudapi.net/")
logging.basicConfig(filename='test_sub_debug.log', level=logging.DEBUG)
aba_logger = logging.getLogger('azure.mgmt.subscription')
aba_logger.setLevel(logging.DEBUG)
sub_list = client.subscriptions.list()
for subscription in sub_list:
print(subscription)

# (obviously remove the base_url= parameter for the default behavior)

最佳答案

我能够使其正常工作,但当我注销 AZ CLI 时,它仍然能够进行身份验证,因此我无法确定它是否使用相同的凭据。这是包含更多详细信息的文章:https://learn.microsoft.com/en-us/azure/developer/python/azure-sdk-sovereign-domain

import os
from msrestazure.azure_cloud import AZURE_US_GOV_CLOUD as CLOUD
from azure.mgmt.resource import SubscriptionClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential(authority=CLOUD.endpoints.active_directory)

subscription_client = SubscriptionClient(
credential,
base_url=CLOUD.endpoints.resource_manager,
credential_scopes=[CLOUD.endpoints.resource_manager + "/.default"])

sub_list = subscription_client.subscriptions.list()
for subscription in sub_list:
print(subscription)

关于Azure Python SDK - 使用 CLI 凭据连接到 USGov 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71772443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com