7.7. 角色管理
作为存储管理员,您可以创建、删除或更新角色,以及与该角色相关联的权限与 plexus -admin
命令。
角色类似于用户,并且关联了权限策略。它可以被任何身份假定。如果用户假定角色,则会向用户返回一组动态创建的临时凭证。角色可用于将访问权限委派给用户、没有权限访问某些 S3 资源的权限。
7.7.1. 创建角色 复制链接链接已复制到粘贴板!
为该用户创建角色,角色为 FQDN -admin 角色 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
的值默认为/
。
7.7.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
7.7.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
7.7.4. 更新假定角色策略文档 复制链接链接已复制到粘贴板!
您可以更新 assume 角色策略文档,授予实体权限来假定角色为使用 修改
命令。
先决条件
- 一个正在运行的 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
7.7.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
7.7.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
7.7.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 操作。
7.7.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
7.7.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
7.7.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