应用场景
某公司有多个员工需要访问、操作存储资源,由于每个员工的工作职责不同,需要的权限也不同:
- 将控制台登录用户和编程用户区分。
- 可以根据不同的职能为用户分配权限。
- 只有管理员可以进行较为敏感的日常操作。
- 不同的管理人员可以查看不同方面的保密数据。
目前该公司希望:
- 主管A和主管B均有保密数据的查看权限。
- 主管A可以在MFA认证的情况下对IAM用户进行管理和变更。
- 主管B可以进行操作跟踪管理,查看账户的操作记录。
- 员工C和员工D可以查看存储桶的文件。
- 编程用户可以对存储桶上传文件。
前提条件
已开通对象存储(经典版)Ⅰ型服务。
具体方法
IAM用户分组及对应权限策略如下表所示。
IAM用户组 | 包含用户 | 策略说明 | 访问方式 |
---|---|---|---|
保密数据权限组 | 主管A和主管B | 查看secretBucket内的保密数据,但不可以更改。 | 控制台访问 |
IAM管理组 | 主管A | 可以进行IAM的相关管理操作。 | 控制台访问 |
操作跟踪管理组 | 主管B | 可以进行操作跟踪的相关管理操作,查看操作跟踪Bucket中的数据。 | 控制台访问 |
查看文件组 | 员工C和员工D | 查看上传文件权限。 | 控制台访问 |
上传文件组 | 编程用户 | 通过API可以向指定的Bucket内写入数据。 | 编程访问 |
步骤一:制定策略
具体步骤,可以参考控制台指南-访问控制-IAM策略,也可以参考API参考-访问控制(IAM)API-权限策略管理接口。
保密数据组权限策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oos:ListAllMyBucket"
],
"Resource": "*"
},
{
"Sid": "AllowGroupToSeeBucket",
"Action": [
"oos:ListBucket",
"oos:Get*"
],
"Effect": "Allow",
"Resource": [
"arn:ctyun:oos::10rc2arpn6306:secretBucket", //secretBucket的存储桶资源
"arn:ctyun:oos::10rc2arpn6306:secretBucket/*" //存储桶secretBucket下所有文件
]
}
]
}
IAM管理组策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGroupToManageIAM",
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*",
"Condition": {
"Bool": {
"ctyun:MultiFactorAuthPresent": "true"
}
}
}
]
}
操作跟踪管理组策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oos:ListAllMyBucket"
],
"Resource": "*"
},
{
"Sid": "AllowGroupToManageTrail",
"Effect": "Allow",
"Action": "cloudtrail:*",
"Resource": "*"
},
{
"Sid": "AllowGroupToSeeBucket",
"Effect": "Allow",
"Action": [
"oos:GetObject",
"oos:ListBucket"
],
"Resource": [
"arn:ctyun:oos::10rc2arpn6306:trailbucket",
"arn:ctyun:oos::10rc2arpn6306:trailbucket/*"
]
}
]
}
查看文件组策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oos:ListAllMyBucket"
],
"Resource": "*"
},
{
"Sid": "AllowGroupToGetObject",
"Effect": "Allow",
"Action": "oos:GetObject",
"Resource": "arn:ctyun:oos::10rc2arpn6306:appbucket/*"
}
]
}
上传文件组策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGroupToPutObject",
"Effect": "Allow",
"Action": "oos:PutObject",
"Resource": "arn:ctyun:oos::10rc2arpn6306:appbucket/*"
}
]
}
步骤二:创建用户组并分配权限
具体步骤,可以参考控制台指南-访问控制-IAM用户组,也可以参考API参考-访问控制(IAM)API-用户组管理接口。
步骤三:添加用到用户组
具体步骤,可以参考控制台指南-访问控制-IAM用户,也可以参考API参考-访问控制(IAM)API-用户管理接口。