如何在 Azure Spring Apps 中使用权限
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。
本文介绍如何创建将权限委托给 Azure Spring Apps 资源的自定义角色。 自定义角色通过各种默认权限对 Azure 内置角色进行扩展。
我们将实现以下自定义角色。
定义开发人员角色
开发人员角色包括重启应用和查看其日志流的权限。 此角色无法对应用或配置进行更改。
在 Azure 门户中,打开你要在其中分配自定义角色的订阅。
打开“访问控制(IAM)”。
选择 添加。
选择“添加自定义角色”。
选择“下一步”:
选择“添加权限”:
在搜索框中,搜索“Microsoft.app”。 选择“Azure Spring Apps”:
选择开发人员角色的权限。
在“Microsoft.AppPlatform/Spring”下,选择:
- 写入:创建或更新 Azure Spring Apps 服务实例
- 读取:获取 Azure Spring Apps 服务实例
- 其他:列出 Azure Spring Apps 服务实例测试密钥
在“Microsoft.AppPlatform/Spring/apps”下,选择:
- 读取:读取 Azure Spring Apps 应用程序
- 其他:获取 Azure Spring Apps 应用程序资源上传 URL
在“Microsoft.AppPlatform/Spring/apps/bindings”下,选择:
- 读取:读取 Azure Spring Apps 应用程序绑定
在“Microsoft.AppPlatform/Spring/apps/deployments”下,选择:
- 写入:写入 Azure Spring Apps 应用程序部署
- 读取:读取 Azure Spring Apps 应用程序部署
- 其他:启动 Azure Spring Apps 应用程序部署
- 其他:停止 Azure Spring Apps 应用程序部署
- 其他:重启 Azure Spring Apps 应用程序部署
- 其他:获取 Azure Spring Apps 应用程序部署日志文件 URL
在“Microsoft.AppPlatform/Spring/apps/domains”下,选择:
- 读取:读取 Azure Spring Apps 应用程序自定义域
在“Microsoft.AppPlatform/Spring/certificates”下,选择:
- 读取:读取 Azure Spring Apps 证书
在“Microsoft.AppPlatform/locations/operationResults/Spring”下,选择:
在“Microsoft.AppPlatform/locations/operationStatus/operationId”下,选择:
选择 添加 。
检查这些权限。
选择“查看并创建”。
在 Azure 门户中,打开你要在其中分配自定义角色的订阅。
打开“访问控制(IAM)”。
选择 添加。
选择“添加自定义角色”。
选择“下一步”。
选择“JSON”选项卡。
选择“编辑”,然后删除默认文本:
粘贴以下 JSON 以定义开发人员角色:
基本/标准计划
{
"properties": {
"roleName": "Developer",
"description": "",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"permissions": [
{
"actions": [
"Microsoft.AppPlatform/Spring/write",
"Microsoft.AppPlatform/Spring/read",
"Microsoft.AppPlatform/Spring/listTestKeys/action",
"Microsoft.AppPlatform/Spring/apps/read",
"Microsoft.AppPlatform/Spring/apps/getResourceUploadUrl/action",
"Microsoft.AppPlatform/Spring/apps/bindings/read",
"Microsoft.AppPlatform/Spring/apps/domains/read",
"Microsoft.AppPlatform/Spring/apps/deployments/write",
"Microsoft.AppPlatform/Spring/apps/deployments/read",
"Microsoft.AppPlatform/Spring/apps/deployments/start/action",
"Microsoft.AppPlatform/Spring/apps/deployments/stop/action",
"Microsoft.AppPlatform/Spring/apps/deployments/restart/action",
"Microsoft.AppPlatform/Spring/apps/deployments/getLogFileUrl/action",
"Microsoft.AppPlatform/Spring/certificates/read",
"Microsoft.AppPlatform/locations/operationResults/Spring/read",
"Microsoft.AppPlatform/locations/operationStatus/operationId/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
选择“保存” 。
检查这些权限。
选择“查看并创建”。
定义 DevOps 工程师角色
此过程定义有权部署、测试和重启 Azure Spring Apps 应用的角色。
重复用于添加开发人员角色的过程的步骤 1 到 4。
选择 DevOps 工程师角色的权限:
在“Microsoft.AppPlatform/Spring”下,选择:
- 写入:创建或更新 Azure Spring Apps 服务实例
- 删除:删除 Azure Spring Apps 服务实例
- 读取:获取 Azure Spring Apps 服务实例
- 其他:启用 Azure Spring Apps 服务实例测试终结点
- 其他:禁用 Azure Spring Apps 服务实例测试终结点
- 其他:列出 Azure Spring Apps 服务实例测试密钥
- 其他:重新生成 Azure Spring Apps 服务实例测试密钥
在“Microsoft.AppPlatform/Spring/apps”下,选择:
- 写入: 写入 Azure Spring Apps 应用程序
- 删除: 删除 Azure Spring Apps 应用程序
- 读取:读取 Azure Spring Apps 应用程序
- 其他:获取 Azure Spring Apps 应用程序资源上传 URL
- 其他: 验证 Azure Spring Apps 应用程序自定义域
在“Microsoft.AppPlatform/Spring/apps/bindings”下,选择:
- 写入: 写入 Azure Spring Apps 应用程序绑定
- 删除: 删除 Azure Spring Apps 应用程序绑定
- 读取:读取 Azure Spring Apps 应用程序绑定
在“Microsoft.AppPlatform/Spring/apps/deployments”下,选择:
- 写入:写入 Azure Spring Apps 应用程序部署
- 删除:删除 Azure Spring Apps 应用程序部署
- 读取:读取 Azure Spring Apps 应用程序部署
- 其他:启动 Azure Spring Apps 应用程序部署
- 其他:停止 Azure Spring Apps 应用程序部署
- 其他:重启 Azure Spring Apps 应用程序部署
- 其他:获取 Azure Spring Apps 应用程序部署日志文件 URL
在“Microsoft.AppPlatform/Spring/apps/deployments/skus”下,选择:
在“Microsoft.AppPlatform/locations”下,选择:
在“Microsoft.AppPlatform/locations/operationResults/Spring”下,选择:
在“Microsoft.AppPlatform/locations/operationStatus/operationId”下,选择:
在“Microsoft.AppPlatform/skus”下,选择:
选择 添加 。
检查这些权限。
选择“查看并创建”。
重复用于添加开发人员角色的过程的步骤 1 到 4。
选择“下一步”。
选择“JSON”选项卡。
选择“编辑”,然后删除默认文本:
粘贴以下 JSON 以定义 DevOps 工程师角色:
基本/标准计划
{
"properties": {
"roleName": "DevOps engineer",
"description": "",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"permissions": [
{
"actions": [
"Microsoft.AppPlatform/Spring/write",
"Microsoft.AppPlatform/Spring/delete",
"Microsoft.AppPlatform/Spring/read",
"Microsoft.AppPlatform/Spring/enableTestEndpoint/action",
"Microsoft.AppPlatform/Spring/disableTestEndpoint/action",
"Microsoft.AppPlatform/Spring/listTestKeys/action",
"Microsoft.AppPlatform/Spring/regenerateTestKey/action",
"Microsoft.AppPlatform/Spring/apps/write",
"Microsoft.AppPlatform/Spring/apps/delete",
"Microsoft.AppPlatform/Spring/apps/read",
"Microsoft.AppPlatform/Spring/apps/getResourceUploadUrl/action",
"Microsoft.AppPlatform/Spring/apps/validateDomain/action",
"Microsoft.AppPlatform/Spring/apps/bindings/write",
"Microsoft.AppPlatform/Spring/apps/bindings/delete",
"Microsoft.AppPlatform/Spring/apps/bindings/read",
"Microsoft.AppPlatform/Spring/apps/deployments/write",
"Microsoft.AppPlatform/Spring/apps/deployments/delete",
"Microsoft.AppPlatform/Spring/apps/deployments/read",
"Microsoft.AppPlatform/Spring/apps/deployments/start/action",
"Microsoft.AppPlatform/Spring/apps/deployments/stop/action",
"Microsoft.AppPlatform/Spring/apps/deployments/restart/action",
"Microsoft.AppPlatform/Spring/apps/deployments/getLogFileUrl/action",
"Microsoft.AppPlatform/Spring/apps/deployments/skus/read",
"Microsoft.AppPlatform/locations/checkNameAvailability/action",
"Microsoft.AppPlatform/locations/operationResults/Spring/read",
"Microsoft.AppPlatform/locations/operationStatus/operationId/read",
"Microsoft.AppPlatform/skus/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
检查这些权限。
选择“查看并创建”。
定义运营 - 现场可靠性工程角色
此过程定义有权部署、测试和重启 Azure Spring Apps 应用的角色。
重复用于添加开发人员角色的过程的步骤 1 到 4。
选择 Ops - 站点可靠性工程角色的权限:
在“Microsoft.AppPlatform/Spring”下,选择:
- 读取:获取 Azure Spring Apps 服务实例
- 其他:列出 Azure Spring Apps 服务实例测试密钥
在“Microsoft.AppPlatform/Spring/apps”下,选择:
- 读取:读取 Azure Spring Apps 应用程序
在“Microsoft.AppPlatform/apps/deployments”下,选择:
- 读取:读取 Azure Spring Apps 应用程序部署
- 其他:启动 Azure Spring Apps 应用程序部署
- 其他:停止 Azure Spring Apps 应用程序部署
- 其他:重启 Azure Spring Apps 应用程序部署
在“Microsoft.AppPlatform/locations/operationResults/Spring”下,选择:
在“Microsoft.AppPlatform/locations/operationStatus/operationId”下,选择:
选择 添加 。
检查这些权限。
选择“查看并创建”。
重复用于添加开发人员角色的过程的步骤 1 到 4。
选择“下一步”。
选择“JSON”选项卡。
选择“编辑”,然后删除默认文本:
粘贴以下 JSON 以定义运营 - 现场可靠性工程角色:
基本/标准计划
{
"properties": {
"roleName": "Ops - Site Reliability Engineering",
"description": "",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"permissions": [
{
"actions": [
"Microsoft.AppPlatform/Spring/read",
"Microsoft.AppPlatform/Spring/listTestKeys/action",
"Microsoft.AppPlatform/Spring/apps/read",
"Microsoft.AppPlatform/Spring/apps/deployments/read",
"Microsoft.AppPlatform/Spring/apps/deployments/start/action",
"Microsoft.AppPlatform/Spring/apps/deployments/stop/action",
"Microsoft.AppPlatform/Spring/apps/deployments/restart/action",
"Microsoft.AppPlatform/Spring/apps/deployments/getLogFileUrl/action",
"Microsoft.AppPlatform/locations/operationResults/Spring/read",
"Microsoft.AppPlatform/locations/operationStatus/operationId/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
检查这些权限。
选择“查看并创建”。
定义 Azure Pipelines/Jenkins/GitHub Actions 角色
此角色可以在具有服务实例的 Azure Spring Apps 和应用中创建和配置任何内容。 此角色用于发布或部署代码。
重复用于添加开发人员角色的过程的步骤 1 到 4。
打开“权限”选项。
选择 Azure Pipelines/Jenkins/GitHub Actions 角色的权限:
在“Microsoft.AppPlatform/Spring”下,选择:
- 写入:创建或更新 Azure Spring Apps 服务实例
- 删除:删除 Azure Spring Apps 服务实例
- 读取:获取 Azure Spring Apps 服务实例
- 其他:启用 Azure Spring Apps 服务实例测试终结点
- 其他:禁用 Azure Spring Apps 服务实例测试终结点
- 其他:列出 Azure Spring Apps 服务实例测试密钥
- 其他:重新生成 Azure Spring Apps 服务实例测试密钥
在“Microsoft.AppPlatform/Spring/apps”下,选择:
- 写入: 写入 Azure Spring Apps 应用程序
- 删除: 删除 Azure Spring Apps 应用程序
- 读取:读取 Azure Spring Apps 应用程序
- 其他:获取 Azure Spring Apps 应用程序资源上传 URL
- 其他: 验证 Azure Spring Apps 应用程序自定义域
在“Microsoft.AppPlatform/Spring/apps/bindings”下,选择:
- 写入: 写入 Azure Spring Apps 应用程序绑定
- 删除: 删除 Azure Spring Apps 应用程序绑定
- 读取:读取 Azure Spring Apps 应用程序绑定
在“Microsoft.AppPlatform/Spring/apps/deployments”下,选择:
- 写入:写入 Azure Spring Apps 应用程序部署
- 删除:删除 Azure Spring Apps 应用程序部署
- 读取:读取 Azure Spring Apps 应用程序部署
- 其他:启动 Azure Spring Apps 应用程序部署
- 其他:停止 Azure Spring Apps 应用程序部署
- 其他:重启 Azure Spring Apps 应用程序部署
- 其他:获取 Azure Spring Apps 应用程序部署日志文件 URL
在“Microsoft.AppPlatform/Spring/apps/deployments/skus”下,选择:
在“Microsoft.AppPlatform/locations”下,选择:
在“Microsoft.AppPlatform/locations/operationResults/Spring”下,选择:
在“Microsoft.AppPlatform/locations/operationStatus/operationId”下,选择:
在“Microsoft.AppPlatform/skus”下,选择:
选择 添加 。
检查这些权限。
选择“查看并创建”。
重复用于添加开发人员角色的过程的步骤 1 到 4。
选择“下一步”。
选择“JSON”选项卡。
选择“编辑”,然后删除默认文本:
粘贴以下 JSON 以定义 Azure Pipelines /Jenkins/GitHub Actions 角色:
基本/标准计划
{
"properties": {
"roleName": "Azure Pipelines/Provisioning",
"description": "",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"permissions": [
{
"actions": [
"Microsoft.AppPlatform/Spring/write",
"Microsoft.AppPlatform/Spring/delete",
"Microsoft.AppPlatform/Spring/read",
"Microsoft.AppPlatform/Spring/enableTestEndpoint/action",
"Microsoft.AppPlatform/Spring/disableTestEndpoint/action",
"Microsoft.AppPlatform/Spring/listTestKeys/action",
"Microsoft.AppPlatform/Spring/regenerateTestKey/action",
"Microsoft.AppPlatform/Spring/apps/write",
"Microsoft.AppPlatform/Spring/apps/delete",
"Microsoft.AppPlatform/Spring/apps/read",
"Microsoft.AppPlatform/Spring/apps/getResourceUploadUrl/action",
"Microsoft.AppPlatform/Spring/apps/validateDomain/action",
"Microsoft.AppPlatform/Spring/apps/bindings/write",
"Microsoft.AppPlatform/Spring/apps/bindings/delete",
"Microsoft.AppPlatform/Spring/apps/bindings/read",
"Microsoft.AppPlatform/Spring/apps/deployments/write",
"Microsoft.AppPlatform/Spring/apps/deployments/delete",
"Microsoft.AppPlatform/Spring/apps/deployments/read",
"Microsoft.AppPlatform/Spring/apps/deployments/start/action",
"Microsoft.AppPlatform/Spring/apps/deployments/stop/action",
"Microsoft.AppPlatform/Spring/apps/deployments/restart/action",
"Microsoft.AppPlatform/Spring/apps/deployments/getLogFileUrl/action",
"Microsoft.AppPlatform/skus/read",
"Microsoft.AppPlatform/locations/checkNameAvailability/action",
"Microsoft.AppPlatform/locations/operationResults/Spring/read",
"Microsoft.AppPlatform/locations/operationStatus/operationId/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
选择 添加 。
检查这些权限。
后续步骤
有关定义自定义权限的三种方法的详细信息,请参阅: