Ceph Object Gateway与keystone集成

简介

 Ceph Object Gateway与keystone集成用于用户认证服务是ceph本身都支持的一个扩展,keystone是openstack项目中的一个子项目,主要担负用户身份认证及服务分类管理。集成keystone之后gateway就可以使用其用keystone来认证合法用户。经keystone认证的用户就具有访问gateway的权限。keystone验证的token在gateway同样有效。

前提

一个正在运行的ceph cluster集群及至少一个gateway实例,且服务正常。
能够正常运行的keystone服务

RGW与Keystone集成配置

  下面是gateway与keystone的集成配置:
[client.radosgw.gateway]
rgw_keystone_url = {keystone server url:keystone server admin port}
rgw_keystone_admin_token = {keystone admin token}
rgw_keystone_accepted_roles = {accepted user roles}
rgw_keystone_token_cache_size = {number of tokens to cache}
rgw_keystone_revocation_interval = {number of seconds before checking revoked tickets}
rgw_s3_auth_use_keystone = true
nss_db_path = {path to nss db}
  • client.radosgw.gateway中的gateway是你在部署gateway实例时创建的用户名,根据具体环境做相应的修改;
  • Keystone URL是Keystone admin RESTful API URL;
  • admin_token是配置在Keystone配置文件中的token用于admin请求;
  • keystone中的用户拥有不同的角色,其可能在不同的tenant中,当Ceph ObjectCeph Object
    Gateway得到用户的ticket之后,可以获得该用户的所在的tenant和role,然后根据rgw_keystone_accept_roles配置来决定是否接受用户的请求;
  • Keystone中的tenant对应Gateway中的user,Keystone中的user对应Gateway中的subuser;
  • nss_db_path是配置集成Ceph Object Gateway与
    Keystone时需要把Keystone使用的OpenSSL证书转换成nss db格式。如下:
mkdir /var/ceph/nss
openssl x509 -in /etc/keystone/ssl/certs/ca.pem -pubkey | \
        certutil -d /var/ceph/nss -A -n ca -t "TCu,Cu,Tuw"
openssl x509 -in /etc/keystone/ssl/certs/signing_cert.pem -pubkey | \
        certutil -A -d /var/ceph/nss -n signing_cert -t "P,P,P"

在Keystone中注册Ceph Object Gateway服务

keystone service-create --name swift --type object-store --description "Ceph Object Gateway"
keystone endpoint-create --region RegionOne --service-id <id> \
               --publicurl http://radosgw.example.com:port/swift/v1 \
               --internalurl 
http://radosgw.example.com:port/swift/v1 \
               --adminurl http://radosgw.example.com:port/swift/v1

你可能感兴趣的:(对象,openstack,gateway)