通过标签功能将服务进行分组,可以实现不同角色对不同分组的服务拥有不同的操作权限。
示例场景
假设您创建了10个函数计算的服务,其中5个授权给dev团队,另外5个授权给ops团队。您希望每个团队只能查看被授权的服务,未被授权的不允许查看。
通过标签功能,可以将各团队进行分组,然后给不同分组的团队授予不同的权限。在本文的场景中,您可以给其中5个服务打上一对标签,标签键是team,标签值是dev;另外5个服务打上另一对标签,标签键是team,标签值是ops。
操作步骤
- 将5个授权给dev团队的服务打上team:dev标签,5个授权给ops团队的服务打上team:ops标签,详细操作请参见新建标签。
- 创建RAM用户。
- 创建用户组。
创建dev和ops两个用户组。
- 添加用户组成员。
将不同的RAM用户添加到相应的用户组下。
- 为两个用户组授予不同的权限。
权限策略分为系统权限策略和自定义权限策略,根据实际场景选择合适的权限策略。
- 如果为用户组授予系统权限策略。
详细操作请参见为用户组授权。
- 如果为用户组授予自定义权限策略。
- 创建自定义权限策略。
假设给dev团队创建的自定义策略名称为policyForDevTeam,策略示例如下。
{
"Statement": [
{
"Action": "fc:*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringEquals": {
"fc:tag/team": "dev"
}
}
},
{
"Action": "fc:*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
假设给ops团队创建的自定义策略名称为policyForOpsTeam,策略示例如下。
{
"Statement": [
{
"Action": "fc:*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringEquals": {
"fc:tag/team": "ops"
}
}
},
{
"Action": "fc:*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
- 为用户组授权。
选择权限时请选择刚创建好的自定义策略。
完成授权后,处于dev用户组的RAM账号只能操作标签为team:dev的服务,处于ops用户组的RAM账号只能操作标签为team:ops的服务。