(弃) Keystone CLI_可选命令详解

  本文详细介绍keystone客户端命令行界面(CLI)keystone的可选子命令。关于keystone客户端命令行工具keystone命令的子命令和选项列表,请参考前文《解读keystone命令行工具(1)选项与子命令概况》。

  下文中,方括号“[ ]”内的内容是可选的,尖括号“< >”内的内容是必需的,方括号内部的尖括号代表当可选内容出现时,“< >”内的内容必须出现。

  下文直接使用keystone CLI命令,默认认为用户已经配置好每次会话的环境变量,因此使用相关命令不需要设置身份验证参数。关于keystone命令的参数介绍和环境变量配置,请参考前文《解读keystone命令行工具(1)选项与子命令概况》。

  本文中的命令可以通过 

keystone help <command>

  查看官方说明

 

  本文介绍的命令包括:

  keystone bootstrap command 
  keystone catalog command 
  keystone discover command 
  keystone ec2-credentials-create command 
  keystone ec2-credentials-delete command 
  keystone ec2-credentials-get command
  keystone ec2-credentials-list command
  keystone endpoint-create command
  keystone endpoint-delete command
  keystone endpoint-get command
  keystone endpoint-list command
  keystone password-update command
  keystone role-create command
  keystone role-delete command
  keystone role-get command
  keystone role-list command
  keystone service-create command
  keystone service-delete command 
  keystone service-get command 
  keystone service-list command 
  keystone tenant-create command 
  keystone tenant-delete command 
  keystone tenant-get command 
  keystone tenant-list command 
  keystone tenant-update command 
  keystone token-get command 
  keystone user-create command 
  keystone user-delete command 
  keystone user-get command 
  keystone user-list command 
  keystone user-password-update command 
  keystone user-role-add command 
  keystone user-role-list command 
  keystone user-role-remove command 
  keystone user-update command 

  

  归纳起来包括以下几个方面:

  1.bootstrap, catalog, discover,

  2.修改当前用户密码,获取当前用户token

  3.ec2证书的列表、查看、添加和删除

  4.终端的列表、查看、添加和删除

  5.角色的列表、查看、添加和删除

  6.服务的列表、查看、添加和删除

  7.租户的列表、查看、添加、删除和更新

  8.用户的列表、查看、添加、删除、更新和更改密码

  9.用户与角色:用户添加、删除角色和列表用户所有角色

  

bootstrap指令 

  bootstrap “引导”指令集中地完成从用户、角色、项目(租户)创建到建立角色和用户以及角色和项目之间映射关系整个过程。

  用法

keystone bootstrap [--user-name <user-name>]

           --pass <password>

           [--role-name <role-name>]

           [--tenant-name <tenant-name>]

  参数介绍

  --user-name    后接要创建的用户名,默认“admin”

  --pass       后接要创建用户的密码

  --role-name    新建并与本指令中创建的用户进行绑定的角色名称,默认“admin”

  --tenant-name   新建一个包含本指令中新建用户的项目,默认"admin"

 

catalog指令

  列出服务目录,可能会被服务过滤。

  用法

keystone catalog [--service <service-type>]

  参数介绍

  --service      希望返回的服务类型,可选值:volume(cinder), ec2(ec2), image(glance), orchestration(heat), cloudformation(heat-cfn), identity(keystone), network(neutron), compute(nova), object-store(swift)等。

  返回值介绍

  查看特定类型的服务时,本指令一次只能查看一个服务,当服务目录中存在目标类型的服务时,将会返回目标服务的adminURL, id, internalURL, publicURL以及所属region。                                         

discover指令

  给出keystone服务器、支持的API版本以及扩展等信息。

  用法

keystone discover

  参数介绍

  无参数

  返回值介绍

  返回keystone服务器的地址,同时返回该服务器支持的API版本,以及已经安装的一些扩展API。

 

 ec2-credentials-create

  创建EC-2兼容的身份证明(credential)

  用法

keystone ec2-credentials-create [--user-id <user-id>]
                 [--tenant-id <tenant-id>]

  参数介绍

  --user-id <user-id>          创建身份证明的用户ID,如果未指定,则默认为当前完成验证的用户

  --tenant-id <tenant-id>        创建身份证明的项目ID,如果未指定,则默认为当前完成验证的项目

 

 ec2-credentials-delete

  删除EC-2兼容的credential

  用法

keystone ec2-credentials-delete [--user-id <user-id>]

                   --access <access-key>

  参数介绍

  --user-id <user-id>          用户ID

  --access <access-key>        访问key

 

ec2-credentials-get

  显示EC-2兼容的credential

  用法

keystone ec2-credentials-get [--user-id <user-id>]

                --access <access-key>

  参数介绍

  --user-id <user-id>          用户ID

  --access <access-key>        访问key

  

ec2-credentials-list

  显示一个用户所有的EC-2兼容身份证明

  用法

keystone ec2-credentials-list [--user-id <user-id>]

   参数说明

  --user-id <user-id>          用户ID

 

endpoint-create指令

  创建一个与服务相关联的终端。

  用法

keystone endpoint-create [--region <endpoint-region>]
               --service <service>
               --publicurl <public-url>
               [--adminurl <admin-url>]
               [--internalurl <internal-url>]

  参数介绍

  --region <endpoint-region>  终端所属的region

  --service <service>, --service-id 

  <service>, --service_id <service> 与该终端关联的服务名称或ID   

  --publicurl <public-url>    终端的公共URL

  --adminurl <admin-url>    终端的管理URL

  --internalurl <internal-url>  终端的内部URL

 

endpoint-delete指令

  删除一个服务终端

  用法

keystone endpoint-delete <endpoint-id>

  参数介绍

  <endpoint-id>      要删除的终端ID

 

endpoint-get指令

  通过特定的服务类型或属性搜索终端

  用法

keystone endpoint-get   --service <service-type> 
              [--endpoint-type <endpoint-type>]
              [--attr <service-attribute>]
              [--value <value>]

  参数介绍

  --service <service-type>          要查看的服务类型

  --endpoint-type <endpoint-type>      要查看的终端类型

  --attr <service-attribute>          要查看的服务匹配的属性

  --value <value>              要匹配的值

 

endpoint-list指令

  列出所有已配置的服务终端

  用法

keystone endpoint-lis

  参数介绍

  无参数

 

password-update指令

  更新当前用户的密码

  用法

keystone password-update 
    [--current-password <current-password>]
    [--new-password <new-password>]

  参数介绍

  --current-password <current-password>    当前密码,对应于--os-password中设置的或者环境变量OS_PASSWORD

  --new-password <new-password>       新密码

 

role-create指令

  新建角色

  用法

keystone role-create --name <role-name>

  参数介绍

  --name <role-name>            新建角色的名称

 

role-delete指令

  删除角色

  用法

keystone role-delete <role>

  参数介绍

  <role>                   删除角色的名称或ID

 

role-get指令

  查看角色详细信息

  用法

keystone role-get <role>

  参数介绍

  <role>                 目标角色的名称或ID

 

role-list指令

  列出所有角色

  用法

keystone role-list

  参数介绍

  无参数

 

service-create指令

  向服务目录中添加服务

  用法

keystone service-create --name <name>
             --type <type> 
             [--description <service-description>]

  参数介绍

  --name <name>            新服务的名称

  --type <type>             新服务的类型

  --description <service-description>    对新服务的描述

 

service-delete指令

  删除一个服务

  用法

keystone service-delete <service>

  参数介绍

  <service>              删除目标的名称或ID

 

service-get指令

  显示指令服务细节

  用法

keystone service-get <service>

  参数介绍

  <service>              查看目标的名称或ID

 

service-list指令

  列出当前服务目录中所有的服务

  用法

keystone service-list

  参数介绍

  无参数

 

tenant-create指令

  新建项目

  用法

keystone tenant-create --name <tenant-name>
                      [--description <tenant-description>]
                      [--enabled <true|false>]                              

  参数介绍

  --name <tenant-name>          新建项目的名称

  --description <tenant-description>      新建项目的描述

  --enabled <true|false>           该新建项目的启用状态

 

tenant-delete指令

  删除项目

  用法

keystone tenant-delete <tenant>

  参数说明

  <tenant>                 删除目标的名称或ID

 

tenant-get指令

  查看项目细节

  用法

keystone tenant-get <tenant>

  参数说明

  <tenant>               删除目标的名称或ID

 

tenant-list指令

  列出所有项目

  用法

keystone tenant-list

  参数介绍

  无参数

 

tenant-update指令

  更新项目的名称,描述和启用状态

  用法

keystone tenant-update [--name <tenant_name>]
              [--description <tenant-description>]
              [--enabled <true|false>]
              <tenant>

  参数介绍

  --name <tenant_name>            新的项目名称

  --description <tenant-description>        新的项目描述

  --enabled <true|false>             启用状态

  <tenant>                   要跟新的项目名称或ID

 

token-get指令

  显示当前用户的token

  用法

keystone token-get [--wrap <integer>]

  参数介绍

  --wrap <integer>                将PKI令牌打包成某一特定长度,置0时禁用。

 

user-create指令

  新建用户

  用法

keystone user-create --name <user-name> 
                    [--tenant <tenant>]
            [--pass [<pass>]]
                    [--email <email>]
            [--enabled <true|false>]            

  参数介绍

  --name <user-name>                新建用户名

  --tenant <tenant>, --tenant-id            用户所属项目

  <tenant>        

  --pass [<pass>]                  新建用户密码

  --email <email>                   用户邮箱

  --enabled <true|false>                该账户的启用状态

 

user-delete指令

  删除用户

  用法

keystone user-delete <user>

  参数介绍

  <user>                       删除目标的名称或ID

 

user-get指令

  显示用户细节

  用法

keystone user-get <user>

  参数介绍

  <user>                       查看目标的名称或ID

 

user-list指令

  列出所有用户

  用法

keystone user-list [--tenant <tenant>]

  参数介绍

  --tenant <tenant>, --tenant-id

  <tenant>                      列出该指定项目中的用户,不指定的话将会列出全部用户

  

user-password-update指令

  更新任一用户的密码

  用法

keystone user-password-update [--pass <password>] <user>

  参数说明

  --pass <password>                 新的密码

  <user>                      要更新密码的用户名或ID

 

user-role-add指令

  向一个用户添加一个角色

  用法

keystone user-role-add --user <user>
              --role <role>
             [--tenant <tenant>]

  参数说明

  --user <user>, --user-id <user>, --          用户名或ID
  user_id <user>

  --role <role>, --role-id <role>, --            角色名或ID
  role_id <role>

  --tenant <tenant>, --tenant-id             租户名或ID
  <tenant>

   所有的domain之间的role是不能重名的,因此在一个domain之内role也是不能重名的。同一个用户可以属于多个项目,同一个项目也能够包括多个用户,同时,一个用户在不同的项目中使用相同的角色是允许的,比如(userA, tenantA, roleA) 和( userA, tenantA, roleB)都是合法的。当然,在同一个项目中拥有多个角色或在不同的项目中拥有不同的角色必然也是合法的。

user-role-list指令

  显示一个用户已经获得的所有角色

  用法 

keystone user-role-list [--user <user>] 
                [--tenant <tenant>]

  参数介绍

  --user <user>, --user-id <user>          指定用户名或ID

  --tenant <tenant>, --tenant-id           只显示特定项目下指定用户拥有的角色

  <tenant>

当使用该命令时的参数"--tenant"接的是用户所在的项目时(如项目A),返回用户的所有角色,包括用户在其他项目中获得的角色;当"--tenant"所接的参数不是用户所在的默认项目时(如项目B),只会列出用户在这个项目B中的角色。

 

user-role-remove指令

  移除某个用户的某个角色

  用法

keystone user-role-remove --user <user> 
               --role <role>                [--tenant <tenant>]

  参数介绍

  --user <user>, --user-id <user>, --

  user_id <user>                 删除角色的目标用户

  --role <role>, --role-id <role>, --

  role_id <role>                  删除的角色

  --tenant <tenant>, --tenant-id

  <tenant>                    用户所属的项目

 

user-update指令

  更新用户的名称,邮箱和启用状态

  用法

keystone user-update [--name <user-name>] 
            [--email <email>]
            [--enabled <true|false>]
            <user>

  参数介绍

  --name <user-name>              更新后的用户名

  --email <email>                 更新后的邮箱

  --enabled <true|false>             更新后的启用状态

  <user>                    更新的目标用户名或ID

posted @ 2014-07-10 13:50  王智愚  阅读(1987)  评论(0编辑  收藏  举报