9.5. 角色管理
作为存储管理员,您可以使用 radosgw-admin
命令创建、删除或更新角色以及与该角色关联的权限。
角色与用户类似,并附加了权限策略。它可以被任何身份假定。如果用户假定角色,则一组动态创建的临时凭据将返回给用户。角色可用于委派对用户、没有权限访问某些 S3 资源的应用程序和服务的访问权限。
9.5.1. 创建角色 复制链接链接已复制到粘贴板!
使用 radosgw-admin role create
命令为用户创建一个角色。您需要在命令中创建具有 assume-role-policy-doc
参数的用户,这是授予授予角色权限的实体的信任关系策略文档。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 创建的用户具有访问权限的 S3 用户。
流程
创建角色:
语法
radosgw-admin role create --role-name=ROLE_NAME [--path=="PATH_TO_FILE"] [--assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT]
radosgw-admin role create --role-name=ROLE_NAME [--path=="PATH_TO_FILE"] [--assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --path
的值默认为/
。
9.5.2. 获取角色 复制链接链接已复制到粘贴板!
使用 get
命令获取有关角色的信息。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
获取有关角色的信息:
语法
radosgw-admin role get --role-name=ROLE_NAME
radosgw-admin role get --role-name=ROLE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.3. 列出角色 复制链接链接已复制到粘贴板!
您可以使用 list 命令列出特定路径 中的角色
。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
列出角色:
语法
radosgw-admin role list
radosgw-admin role list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.4. 更新角色的 assume 角色策略文档 复制链接链接已复制到粘贴板!
您可以更新假定角色策略文档,该策略授予实体权限,以通过 modify
命令假定角色。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
修改角色的 assume 角色策略文档:
语法
radosgw-admin role-trust-policy modify --role-name=ROLE_NAME --assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT
radosgw-admin role-trust-policy modify --role-name=ROLE_NAME --assume-role-policy-doc=TRUST_RELATIONSHIP_POLICY_DOCUMENT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.5. 获取附加到角色的权限策略 复制链接链接已复制到粘贴板!
您可以使用 get
命令获取附加到角色的特定权限策略。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
获取权限策略:
语法
radosgw-admin role-policy get --role-name=ROLE_NAME --policy-name=POLICY_NAME
radosgw-admin role-policy get --role-name=ROLE_NAME --policy-name=POLICY_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role-policy get --role-name=S3Access1 --policy-name=Policy1
[root@host01 ~]# radosgw-admin role-policy get --role-name=S3Access1 --policy-name=Policy1 { "Permission policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":\"arn:aws:s3:::example_bucket\"}]}" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.6. 删除角色 复制链接链接已复制到粘贴板!
您只能在删除附加的权限策略后删除角色。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建角色。
- 已创建 S3 存储桶。
- 创建的用户具有访问权限的 S3 用户。
流程
删除附加到角色的策略:
语法
radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME
radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1
[root@host01 ~]# radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除角色:
语法
radosgw-admin role delete --role-name=ROLE_NAME
radosgw-admin role delete --role-name=ROLE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role delete --role-name=S3Access1
[root@host01 ~]# radosgw-admin role delete --role-name=S3Access1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.7. 更新附加到角色的策略 复制链接链接已复制到粘贴板!
您可以使用 put
命令添加或更新附加到角色中的内联策略。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
更新内联策略:
语法
radosgw-admin role-policy put --role-name=ROLE_NAME --policy-name=POLICY_NAME --policy-doc=PERMISSION_POLICY_DOCUMENT
radosgw-admin role-policy put --role-name=ROLE_NAME --policy-name=POLICY_NAME --policy-doc=PERMISSION_POLICY_DOCUMENT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role-policy put --role-name=S3Access1 --policy-name=Policy1 --policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Action\":\[\"s3:*\"\],\"Resource\":\"arn:aws:s3:::example_bucket\"\}\]\}
[root@host01 ~]# radosgw-admin role-policy put --role-name=S3Access1 --policy-name=Policy1 --policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Action\":\[\"s3:*\"\],\"Resource\":\"arn:aws:s3:::example_bucket\"\}\]\}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,您可以将
Policy1
附加到角色S3Access1
中,它允许对example_bucket
的所有 S3 操作。
9.5.8. 列出附加到角色的权限策略 复制链接链接已复制到粘贴板!
您可以使用 list
命令列出附加到角色的权限策略的名称。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
列出权限策略的名称:
语法
radosgw-admin role-policy list --role-name=ROLE_NAME
radosgw-admin role-policy list --role-name=ROLE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role-policy list --role-name=S3Access1
[root@host01 ~]# radosgw-admin role-policy list --role-name=S3Access1 [ "Policy1" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.9. 删除附加到角色的策略 复制链接链接已复制到粘贴板!
您可以使用 rm
命令删除附加到角色的权限策略。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
删除权限策略:
语法
radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME
radosgw-admin role policy delete --role-name=ROLE_NAME --policy-name=POLICY_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1
[root@host01 ~]# radosgw-admin role policy delete --role-name=S3Access1 --policy-name=Policy1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.10. 更新角色的会话持续时间 复制链接链接已复制到粘贴板!
您可以使用 update
命令更新角色的会话持续时间,以控制用户可以使用提供的凭证登录到帐户中的时间长度。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建 S3 存储桶。
- 已创建角色。
- 创建的用户具有访问权限的 S3 用户。
流程
使用
update
命令更新 max-session-duration :语法
radosgw-admin role update --role-name=ROLE_NAME --max-session-duration=7200
[root@node1 ~]# radosgw-admin role update --role-name=ROLE_NAME --max-session-duration=7200
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin role update --role-name=test-sts-role --max-session-duration=7200
[root@node1 ~]# radosgw-admin role update --role-name=test-sts-role --max-session-duration=7200
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出角色以验证更新:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow