用户管理

创建用户

要创建用户(S3界面),请执行以下操作:

#语法:
radosgw-admin user create --uid={username} --display-name="{display-name}" [--email={email}]

#实例:
[ceph@ceph03 ~]$ radosgw-admin user create --uid=zm --display-name="zimu" --email=1242110478@qq.com
{
    "user_id": "zm",
    "display_name": "zimu",
    "email": "1242110478@qq.com",
    "suspended": 0,
    "max_buckets": 1000,
    "subusers": [],
    "keys": [
        {
            "user": "zm",
            "access_key": "7EXA5RZL63MXYV29EC00",
            "secret_key": "3DNa8B53kYLP74p7KnIMpdSQ94QoghrP6i3eyNd6"
        }
    ],
    "swift_keys": [],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "default_storage_class": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "temp_url_keys": [],
    "type": "rgw",
    "mfa_ids": []
}
创建SUBUSER用户

要为该用户创建子用户(Swift界面),必须指定用户ID(–uid={username}),子用户ID以及该子用户的访问级别。

#语法:
radosgw-admin subuser create --uid={uid} --subuser={uid} --access=[ read | write | readwrite | full ]

#实例:
[ceph@ceph03 ~]$ radosgw-admin subuser create --uid=zm --subuser=zm:swift --access=full
{
    "user_id": "zm",
    "display_name": "zimu",
    "email": "1242110478@qq.com",
    "suspended": 0,
    "max_buckets": 1000,
    "subusers": [
        {
            "id": "zm:swift",
            "permissions": "full-control"
        }
    ],
    "keys": [
        {
            "user": "zm",
            "access_key": "7EXA5RZL63MXYV29EC00",
            "secret_key": "3DNa8B53kYLP74p7KnIMpdSQ94QoghrP6i3eyNd6"
        }
    ],
    "swift_keys": [
        {
            "user": "zm:swift",
            "secret_key": "YNteDegTvfGgu6dPvs5VJnxpAGd44zLHb5Hr65al"
        }
    ],
    "caps": [],
    "op_mask": "read, write, delete",
    "default_placement": "",
    "default_storage_class": "",
    "placement_tags": [],
    "bucket_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "user_quota": {
        "enabled": false,
        "check_on_raw": false,
        "max_size": -1,
        "max_size_kb": 0,
        "max_objects": -1
    },
    "temp_url_keys": [],
    "type": "rgw",
    "mfa_ids": []
}
获取用户信息
#语法:
radosgw-admin user info user info--uid={username}

#实例:
[ceph@ceph03 ~]$ radosgw-admin user info user info--uid=zm
修改用户信息

要修改有关用户的信息,必须指定用户ID(–uid={username})和要修改的属性,例:

[ceph@ceph03 ~]$ radosgw-admin user modify --uid=zm --display-name="zimu.li"

要修改子用户值,请指定,用户ID和子用户ID,例:

[ceph@ceph03 ~]$ radosgw-admin subuser modify --uid=zm --subuser=zm:swift --access=write
用户启用/暂停

创建用户时,默认情况下会启用该用户。但是,您可以暂停用户并在以后重新启用它们,例:

[ceph@ceph03 ~]$ radosgw-admin user suspend --uid=zm

启用:

[ceph@ceph03 ~]$ radosgw-admin user enable --uid=zm
删除用户

仅删除子用户:

[ceph@ceph03 ~]$ radosgw-admin subuser rm --subuser=zm:swift
删除用户:
[ceph@ceph03 ~]$ radosgw-admin user rm --uid=zm
添加/删除key

添加指定的s3密钥对,注意,您可以为一个用户创建多个S3密钥对。

[ceph@ceph03 ~]$ radosgw-admin key create --uid=zm --key-type=s3 --access-key fooAccessKey --secret-key fooSecretKey

为子用户附加指定的快速秘密密钥,子用户只能具有一个密钥

[ceph@ceph03 ~]$ radosgw-admin key create --subuser=zm:swift --key-type=swift --secret-key barSecret

删除s3密钥对:

[ceph@ceph03 ~]$ radosgw-admin key rm --uid=zm --key-type=s3 --access-key=fooAccessKey

删除swift密钥:

[ceph@ceph03 ~]$ radosgw-admin key rm --subuser=zm:swift --key-type=swift
添加/删除管理员功能

要向用户添加管理功能,请执行以下操作:

radosgw-admin caps add --uid={uid} --caps={caps}

您可以向用户,存储桶,元数据和使用情况(使用率)添加读取,写入或所有功能。例如:

--caps="[users|buckets|metadata|usage|zone]=[*|read|write|read, write]"

#实例:
[ceph@ceph03 ~]$ radosgw-admin caps add --uid=zm --caps="users=*,buckets=*"

要从用户删除管理功能,请执行以下操作:

radosgw-admin caps rm --uid=johndoe --caps={caps}

配额管理

读/写全局配额

查看全局配额设置:

[ceph@ceph03 ~]$ radosgw-admin global quota get

设置全局配额:

[ceph@ceph03 ~]$ radosgw-admin global quota set --quota-scope bucket --max-objects 1024
[ceph@ceph03 ~]$ radosgw-admin global quota enable --quota-scope bucket
设置用户配额

在启用配额之前,必须首先设置配额参数,例如:

#语法:
radosgw-admin quota set --quota-scope=user --uid=<uid> [--max-objects=<num objects>] [--max-size=<max size>]

#实例:
[ceph@ceph03 ~]$ radosgw-admin quota set --quota-scope=user --uid=zm --max-objects=1024 --max-size=1024M

注意:max-objects,max-size为负值的表示特定的配额属性检查已禁用

启用/禁用用户配额
#启用:
radosgw-admin quota enable --quota-scope=user --uid=<uid>

#禁用:
radosgw-admin quota disable --quota-scope=user --uid=<uid>
设置桶配额
[ceph@ceph03 ~]$ radosgw-admin quota set --quota-scope=bucket --uid=zm --max-objects=2048 --max-size=2048M
启用/禁用桶配额
#启用:
radosgw-admin quota enable --quota-scope=bucket --uid=<uid>

#禁用:
radosgw-admin quota disable --quota-scope=bucket --uid=<uid>
更新配额统计

配额统计信息会异步更新。您可以手动更新所有用户和所有存储桶的配额统计信息,以获取最新的配额统计信息。

radosgw-admin user stats --uid=<uid> --sync-stats
获取用户使用情况统计信息
radosgw-admin user stats --uid=<uid>

元数据

$ radosgw-admin metadata list
$ radosgw-admin metadata list bucket
$ radosgw-admin metadata list bucket.instance
$ radosgw-admin metadata list user

$ radosgw-admin metadata get bucket:<bucket>
$ radosgw-admin metadata get bucket.instance:<bucket>:<bucket_id>
$ radosgw-admin metadata get user:<user>   # get or set
文档更新时间: 2020-05-26 15:58   作者:子木