如何授予功能应用对Azure存储帐户的访问权限?

dvtswwa3  于 2023-03-13  发布在  其他
关注(0)|答案(2)|浏览(221)

如何授予功能应用对Azure存储帐户的访问权限?

背景:

我不知道如何解决似乎未被授权访问Azure存储表的功能应用程序的安全访问异常。
当前,功能应用程序的访问控制角色分配设置为参与者和读者。
我的假设是,功能应用程序需要分配一个存储数据表参与者角色。

Azure存储表:

以下代码尝试访问Azure存储表:

let storageAccount   = CloudStorageAccount.Parse connectionString
let cloudTableClient = storageAccount.CreateCloudTableClient()
let cloudTable       = cloudTableClient.GetTableReference(tableName);

// ** EXCEPTION THROWN ON LINE BELOW **
let! exists = cloudTable.ExistsAsync() |> Async.AwaitTask

例外情况:

Unexpected response code, Expected:OK or NotFound, Received:Forbidden

想法:

我想我需要添加功能应用程序权限:存储数据表参与者。

步骤:

1.在Azure门户中,导航到正在观察安全问题的功能应用程序
1.在导航窗格中选择访问控制(IAM
1.选择第页上的“角色分配”选项卡
1.单击添加按钮
1.尝试输入“存储数据表参与者”

***注意***未找到“存储数据表贡献者”。
结论:

总之,我不知道如何解决似乎未被授权访问Azure存储表的Function应用程序的安全访问异常。

参考资料:

https://learn.microsoft.com/en-us/azure/storage/common/authorize-data-access
https://learn.microsoft.com/en-us/azure/storage/tables/authorize-access-azure-active-directory
Azure Function App Read/Write to table storage - InvalidAuthenticationInfoContent

zxlwwiss

zxlwwiss1#

以下是您需要做的事情:
1.为你的Azure功能创建系统分配的托管标识。
1.现在转到您的存储帐户,然后将Storage Data Table Contributor角色分配给您在步骤1中创建的托管身份。
您可能会发现本教程很有帮助:https://learn.microsoft.com/en-us/azure/app-service/scenario-secure-app-access-storage?tabs=azure-portal .

k5ifujac

k5ifujac2#

您需要在表存储上设置角色分配,而不是在函数上。
在函数上,您需要启用托管身份。这是您需要授予表存储访问权限的对象。

相关问题