gpt4 book ai didi

azure - 仅当在具有 azure 访问权限的 Windows 帐户上运行时,使用 ClientID 访问 Blob 存储才有效

转载 作者:行者123 更新时间:2023-12-03 02:28:11 27 4
gpt4 key购买 nike

我编写了一个脚本,用于将文件从本地服务器存档到启用了分层命名空间的云 blob 存储中。如您所见,我正在使用 azure 应用程序 ClientID 进行身份验证。当我在对存储帐户具有完全访问权限的帐户下运行脚本时,它会按预期工作。但是,当我在无权访问 azure AD 的帐户下运行脚本时,出现以下错误。

当我运行 $StorageContext | 时,它确实成功进行了身份验证Select-Object -Property * 它确实将登录显示为与 clientid 相同的帐户,并且该 clientid 确实具有对我正在尝试操作的文件系统的完全访问权限。我只是不明白为什么这个脚本在我的登录名下运行,而不是在另一个登录名下运行。

状态:403(此请求无权执行此操作。)错误代码:授权失败

$Credential = New-Object System.Management.Automation.PSCredential($ClientId, (ConvertTo-SecureString $ClientSecret -AsPlainText -Force))
Connect-AzAccount -Credential $Credential -Tenant $TenantId -Subscription $SubscriptionId -ServicePrincipal -Scope Process

$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -UseConnectedAccount

$dirname \root\folder
$NewFolder = Get-AzDataLakeGen2Item -Context $StorageContext -FileSystem $FileSystemName -Path $dirname -ErrorAction SilentlyContinue

最佳答案

导航到存储帐户中的网络,检查防火墙是否设置为允许来自所有网络的访问。

如果您使用相同的服务主体进行身份验证(即您使用的客户端 ID 和 key ),则网络/防火墙问题是唯一的可能性,还要确保您使用正确的服务主体进行身份验证,运行 Clear-AzContext首先,然后使用 Connect-AzAccount 登录,并从中删除 -Scope Process

关于azure - 仅当在具有 azure 访问权限的 Windows 帐户上运行时,使用 ClientID 访问 Blob 存储才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66221775/

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