我正在尝试定义一个角色,其中包括 Azure SQL Server 和所有底层数据库的读取和备份操作。
以下配置授予我所有必需的访问权限,尽管它也允许所有写入和破坏性操作:
actions = [ "Microsoft.Sql/*", "Microsoft.Storage/*"]
即使这些操作与预定义的“读者”角色一起分配,我在尝试通过 Azure 门户导入数据库时仍然遇到“无法访问”错误页面。令人惊讶的是,这些权限足以通过 Azure CLI 导入数据库。
我正在寻找最少的角色,使我能够通过门户和 CLI 将数据库导入 Azure SQL。
最佳答案
在 Azure SQL 数据库服务器上,您需要具有 SQL Server 贡献者角色或向您授予 Microsoft.Sql/servers/databases/import/action 的自定义角色。许可。
在 Azure 存储帐户上,您需要具有存储 Blob 数据读取器角色或授予您 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read 的自定义角色许可。
最后,根据 @Prebiusta 的调查结果,有必要添加角色 Microsoft.Resources/deployments/write ,范围至少为资源组或更高级别以避免错误 403 禁止。
关于Azure SQL Server 导入数据库需要最少的 RBAC 访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77214619/