![Azure 角色 - 存储服务的显式访问 - 文件共享](https://linux22.com/image/754854/Azure%20%E8%A7%92%E8%89%B2%20-%20%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%98%BE%E5%BC%8F%E8%AE%BF%E9%97%AE%20-%20%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB.png)
我需要配置一个自定义的 Azure 角色,该角色将为用户提供对文件共享的明确访问权限(使用文件资源管理器)。但用户不应该访问存储服务的其他服务,如 Blob 存储、队列或表。目前,使用以下 JSON 文件,用户可以看到存储服务的所有子服务。
{
"Name": "Storage explicit contributor access",
"Id": "-.......",
"IsCustom": true,
"Description": "",
"Actions": [
"Microsoft.Storage/storageAccounts/fileServices/shares/delete",
"Microsoft.Storage/storageAccounts/fileServices/shares/read",
"Microsoft.Storage/storageAccounts/fileServices/shares/write",
"Microsoft.Storage/storageAccounts/fileServices/write",
"Microsoft.Storage/storageAccounts/fileServices/read",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read"
],
"NotActions": [
"*"
],
"DataActions": [
],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/....."
]
}
一般来说,是否可以在级别上限制访问?
答案1
您分配的权限目前允许用户通过门户、PowerShell 等管理实际的 Azure 文件资源。目前用户可以创建、删除和编辑共享。这听起来不是您想要的,您只是在寻找管理文件共享中的数据的用户。
假设是这种情况,您需要查看在角色中设置“DataActions”,这将在数据层而不是资源层提供权限。因此类似于:
"DataActions": [
"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read",
"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write",
"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete"
],