支持的客户端

有两个支持的客户端,python-keystoneclient 项目提供 Python 绑定,而 python-openstackclient 提供命令行界面。

通过 CLI 使用密码进行身份验证

要使用密码和 python-openstackclient 对 keystone 进行身份验证,请设置以下标志,请注意,下面引用的用户应被授予 admin 角色。

  • --os-username OS_USERNAME:您的用户名

  • --os-user-domain-name OS_USER_DOMAIN_NAME:用户的域名称

  • --os-password OS_PASSWORD:您的用户密码

  • --os-project-name OS_PROJECT_NAME:您的项目名称

  • --os-project-domain-name OS_PROJECT_DOMAIN_NAME:项目的域名称

  • --os-auth-url OS_AUTH_URL:keystone 身份验证服务器的 URL

  • --os-identity-api-version OS_IDENTITY_API_VERSION:这应始终设置为 3

您也可以在您的环境中设置这些变量,这样就不需要在每次调用时作为参数传递它们了

$ export OS_USERNAME=my_username
$ export OS_USER_DOMAIN_NAME=my_user_domain
$ export OS_PASSWORD=my_password
$ export OS_PROJECT_NAME=my_project
$ export OS_PROJECT_DOMAIN_NAME=my_project_domain
$ export OS_AUTH_URL=https://:5000/v3
$ export OS_IDENTITY_API_VERSION=3

例如,以下命令 user listtoken issueproject create 可以如下调用

# Using password authentication, with environment variables
$ export OS_USERNAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PASSWORD=secret
$ export OS_PROJECT_NAME=admin
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=https://:5000/v3
$ export OS_IDENTITY_API_VERSION=3
$ openstack user list
$ openstack project create demo
$ openstack token issue

# Using password authentication, with flags
$ openstack --os-username=admin --os-user-domain-name=Default \
            --os-password=secret \
            --os-project-name=admin --os-project-domain-name=Default \
            --os-auth-url=https://:5000/v3 --os-identity-api-version=3 \
            user list
$ openstack --os-username=admin --os-user-domain-name=Default \
            --os-password=secret \
            --os-project-name=admin --os-project-domain-name=Default \
            --os-auth-url=https://:5000/v3 --os-identity-api-version=3 \
            project create demo