插件选项¶
用法¶
通过 CLI 使用插件¶
插件可以通过 CLI 选项进行配置,使用 argparse 的 ArgumentParser。这通常用于生成与 OpenStack API 通信的客户端工具,因此需要允许身份验证。例如,openstackclient 允许使用 CLI 选项进行配置。
通过 CLI 使用身份验证插件时,可以通过 CLI 选项或通过环境变量指定参数,CLI 选项优先于环境变量配置。CLI 选项的指定模式为 --os- 和参数名称。例如,要通过 CLI 选项使用 密码 插件,可以指定
openstack --os-auth-type password \
--os-auth-url http://keystone.example.com:5000/ \
--os-username myuser \
--os-password mypassword \
--os-project-name myproject \
--os-default-domain-name mydomain \
operation
环境变量的指定模式为 OS_,后跟将 - 替换为 _ 的大写参数名称。再次使用 密码 示例
export OS_AUTH_TYPE=password
export OS_AUTH_URL=http://keystone.example.com:5000/
export OS_USERNAME=myuser
export OS_PASSWORD=mypassword
export OS_PROJECT_NAME=myproject
export OS_DEFAULT_DOMAIN_NAME=mydomain
通过 clouds.yaml 使用插件¶
插件可以通过 clouds.yaml 文件进行配置,这些文件受 openstacksdk 支持。在使用 clouds.yaml 时,将插件名称指定为云条目中的 auth_type,然后在云条目的 auth 键中指定所有插件选项。例如,要在 clouds.yaml 文件中为云条目 mycloud 使用 密码 插件,可以指定
clouds:
mycloud:
auth_type: password
auth:
auth_url: http://keystone.example.com:5000/
username: myuser
password: mypassword
project_name: myproject
default_domain_name: mydomain
通过配置文件使用插件¶
插件可以使用 INI 样式的配置文件进行配置,使用 oslo.config。这通常用于允许 OpenStack 服务相互通信,但也可以用于任何希望对 Keystone 进行身份验证并使用 oslo.config 的服务。例如,此配置样式用于允许计算服务 (Nova) 与网络服务 (Neutron)、块存储服务 (Cinder) 等进行通信。
通过配置文件使用插件时,将插件名称定义为 auth_type。然后,在配置中有效的情况下,将插件的选项指定为将 - 替换为 _。
例如,要在配置文件中使用 密码 插件,将指定
[section]
auth_type = password
auth_url = http://keystone.example.com:5000/
username = myuser
password = mypassword
project_name = myproject
default_domain_name = mydomain
通过其他机制使用插件¶
除了此处描述的三个配置机制之外,不同的服务可能会以自己的方式实现加载器,您应该查阅其相关文档。但是,始终可以使用相同的身份验证选项。
内置插件¶
这是所有包含的插件及其接受的选项的列表。插件按字母顺序排列,没有优先级顺序。
admin_token¶
使用现有令牌和已知端点进行身份验证。
此插件主要用于开发或与身份服务 ADMIN 令牌一起使用。由于直接使用此令牌,因此无法获取服务目录或确定范围信息,因此不能由期望使用此范围信息的客户端使用。
由于没有服务目录,因此在初始化时提供的端点将用于使用此插件执行的所有操作,因此必须是实际服务的完整基本 URL。
- 端点:
将始终使用的端点
- CLI 选项:
--os-endpoint,--os-url- 环境变量:
OS_ENDPOINT,OS_URL
- 令牌:
将始终使用的令牌
- CLI 选项:
--os-token- 环境变量:
OS_TOKEN
http_basic¶
使用 HTTP Basic 身份验证执行请求。
这可用于实例化以独立模式部署的服务的客户端。
无法获取服务目录或确定范围信息,因此不能由期望使用此范围信息的客户端使用。
- 端点:
将始终使用的端点
- CLI 选项:
--os-endpoint- 环境变量:
OS_ENDPOINT
- password:
用户的密码
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- username:
用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
none¶
使用不带令牌的请求。
这可用于实例化以 noauth/独立模式部署的服务的客户端。
无法获取服务目录或确定范围信息,因此不能由期望使用此范围信息的客户端使用。
- 端点:
将始终使用的端点
- CLI 选项:
--os-endpoint- 环境变量:
OS_ENDPOINT
password¶
使用用户名和密码进行身份验证。
使用提供的用户名和密码对身份服务进行身份验证。这是标准且最常见的身份验证形式。
作为通用插件,此插件与身份版本无关,将在使用前发现可用的版本。这意味着它期望提供未版本化的 URL 以进行操作。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- default-domain-id:
与 v3 和 v2 参数一起使用的可选域 ID。它将在 v3 中用于用户域和项目域,并在 v2 身份验证中忽略。
- CLI 选项:
--os-default-domain-id- 环境变量:
OS_DEFAULT_DOMAIN_ID
- default-domain-name:
与 v3 API 和 v2 参数一起使用的可选域名称。它将在 v3 中用于用户域和项目域,并在 v2 身份验证中忽略。
- CLI 选项:
--os-default-domain-name- 环境变量:
OS_DEFAULT_DOMAIN_NAME
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- password:
用户的密码
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id,--os-tenant-id- 环境变量:
OS_PROJECT_ID,OS_TENANT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name,--os-tenant-name- 环境变量:
OS_PROJECT_NAME,OS_TENANT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- user-domain-id:
用户域 ID
- CLI 选项:
--os-user-domain-id- 环境变量:
OS_USER_DOMAIN_ID
- user-domain-name:
用户的域名称
- CLI 选项:
--os-user-domain-name- 环境变量:
OS_USER_DOMAIN_NAME
- user-id:
用户 ID
- CLI 选项:
--os-user-id- 环境变量:
OS_USER_ID
- username:
用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
令牌¶
给定现有令牌,将其重新限定到另一个目标。
使用身份服务的重新限定机制基于现有令牌获取新的令牌。由于身份验证插件需要服务目录和范围信息,因此基于现有令牌获取新的令牌通常比验证和重用您已经拥有的令牌更容易。
作为通用插件,此插件与身份版本无关,将在使用前发现可用的版本。这意味着它期望提供未版本化的 URL 以进行操作。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- default-domain-id:
与 v3 和 v2 参数一起使用的可选域 ID。它将在 v3 中用于用户域和项目域,并在 v2 身份验证中忽略。
- CLI 选项:
--os-default-domain-id- 环境变量:
OS_DEFAULT_DOMAIN_ID
- default-domain-name:
与 v3 API 和 v2 参数一起使用的可选域名称。它将在 v3 中用于用户域和项目域,并在 v2 身份验证中忽略。
- CLI 选项:
--os-default-domain-name- 环境变量:
OS_DEFAULT_DOMAIN_NAME
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id,--os-tenant-id- 环境变量:
OS_PROJECT_ID,OS_TENANT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name,--os-tenant-name- 环境变量:
OS_PROJECT_NAME,OS_TENANT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- 令牌:
用于进行身份验证的令牌
- CLI 选项:
--os-token- 环境变量:
OS_TOKEN
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v2password¶
使用用户名和密码进行身份验证。
使用提供的用户名和密码对身份服务进行身份验证。这是标准且最常见的身份验证形式。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- password:
要使用的密码
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- tenant-id:
租户 ID
- CLI 选项:
--os-tenant-id- 环境变量:
OS_TENANT_ID
- tenant-name:
租户名称
- CLI 选项:
--os-tenant-name- 环境变量:
OS_TENANT_NAME
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- user-id:
用于登录的用户 ID
- CLI 选项:
--os-user-id- 环境变量:
OS_USER_ID
- username:
用于登录的用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
v2token¶
给定现有令牌,将其重新限定到另一个目标。
使用身份服务的重新限定机制基于现有令牌获取新的令牌。由于身份验证插件需要服务目录和范围信息,因此基于现有令牌获取新的令牌通常比验证和重用您已经拥有的令牌更容易。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- tenant-id:
租户 ID
- CLI 选项:
--os-tenant-id- 环境变量:
OS_TENANT_ID
- tenant-name:
租户名称
- CLI 选项:
--os-tenant-name- 环境变量:
OS_TENANT_NAME
- 令牌:
令牌
- CLI 选项:
--os-token- 环境变量:
OS_TOKEN
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3adfspassword¶
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- identity-provider-url:
将发送 SAML 身份验证请求的身份提供者 URL。 (必需)
- CLI 选项:
--os-identity-provider-url- 环境变量:
OS_IDENTITY_PROVIDER_URL
- password:
密码 (必需)
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- service-provider-endpoint:
服务提供者的端点 (必需)
- CLI 选项:
--os-service-provider-endpoint- 环境变量:
OS_SERVICE_PROVIDER_ENDPOINT
- service-provider-entity-id:
服务提供者的 SAML 实体 ID (必需)
- CLI 选项:
--os-service-provider-entity-id- 环境变量:
OS_SERVICE_PROVIDER_ENTITY_ID
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- username:
用户名 (必需)
- CLI 选项:
--os-username- 环境变量:
OS_USERNAME
v3applicationcredential¶
使用应用程序凭据进行身份验证。
使用提供的应用程序凭据密钥和 ID 或名称对身份服务进行身份验证。如果使用名称,则还必须提供用户名和用户域以帮助查找。
- application_credential_id:
应用程序凭据 ID
- CLI 选项:
--os-application_credential_id- 环境变量:
OS_APPLICATION_CREDENTIAL_ID
- application_credential_name:
应用程序凭据名称
- CLI 选项:
--os-application_credential_name- 环境变量:
OS_APPLICATION_CREDENTIAL_NAME
- application_credential_secret:
应用程序凭据身份密钥 (必需)
- CLI 选项:
--os-application_credential_secret- 环境变量:
OS_APPLICATION_CREDENTIAL_SECRET
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- user-domain-id:
用户的域 ID
- CLI 选项:
--os-user-domain-id- 环境变量:
OS_USER_DOMAIN_ID
- user-domain-name:
用户的域名称
- CLI 选项:
--os-user-domain-name- 环境变量:
OS_USER_DOMAIN_NAME
- user-id:
用户的用户 ID
- CLI 选项:
--os-user-id- 环境变量:
OS_USER_ID
- username:
用户的用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
v3fedkerb¶
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- mutual-auth:
配置 Kerberos 相互身份验证
- CLI 选项:
--os-mutual-auth- 环境变量:
OS_MUTUAL_AUTH
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3kerberos¶
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- mutual-auth:
配置 Kerberos 相互身份验证
- CLI 选项:
--os-mutual-auth- 环境变量:
OS_MUTUAL_AUTH
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3multifactor¶
使用多重因素进行身份验证。
使用组合因素(例如用户名/密码和 TOTP 代码)对身份服务进行身份验证。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- auth_methods:
用于身份验证的方法。 (必需)
- CLI 选项:
--os-auth_methods- 环境变量:
OS_AUTH_METHODS
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oauth1¶
- access-key:
OAuth 访问密钥 (必需)
- CLI 选项:
--os-access-key- 环境变量:
OS_ACCESS_KEY
- access-secret:
OAuth 访问密钥 (必需)
- CLI 选项:
--os-access-secret- 环境变量:
OS_ACCESS_SECRET
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- consumer-key:
OAuth 消费者 ID/密钥 (必需)
- CLI 选项:
--os-consumer-key- 环境变量:
OS_CONSUMER_KEY
- consumer-secret:
OAuth 消费者密钥 (必需)
- CLI 选项:
--os-consumer-secret- 环境变量:
OS_CONSUMER_SECRET
v3oauth2clientcredential¶
使用 OAuth2.0 客户端凭据进行身份验证。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- oauth2_client_id:
OAuth2.0 的客户端 ID (必需)
- CLI 选项:
--os-oauth2_client_id- 环境变量:
OS_OAUTH2_CLIENT_ID
- oauth2_client_secret:
OAuth2.0 的客户端密钥 (必需)
- CLI 选项:
--os-oauth2_client_secret- 环境变量:
OS_OAUTH2_CLIENT_SECRET
- oauth2_endpoint:
OAuth2.0 的端点 (必需)
- CLI 选项:
--os-oauth2_endpoint- 环境变量:
OS_OAUTH2_ENDPOINT
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oauth2mtlsclientcredential¶
使用 OAuth2.0 mTLS 客户端凭据进行身份验证。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- oauth2-client-id:
OAuth2.0 相互 TLS 授权的客户端凭据 ID (必需)
- CLI 选项:
--os-oauth2-client-id- 环境变量:
OS_OAUTH2_CLIENT_ID
- oauth2-endpoint:
OAuth2.0 相互 TLS 授权的端点 (必需)
- CLI 选项:
--os-oauth2-endpoint- 环境变量:
OS_OAUTH2_ENDPOINT
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oidcaccesstoken¶
使用 OIDC 访问令牌流进行身份验证。
- access-token:
OAuth 2.0 访问令牌 (必需)
- CLI 选项:
--os-access-token- 环境变量:
OS_ACCESS_TOKEN
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oidcauthcode¶
使用 OIDC 授权码流进行身份验证。
- access-token-endpoint:
OpenID Connect 提供者令牌端点。请注意,如果传递了发现文档,此选项将覆盖服务器在发现文档中提供的端点。
- CLI 选项:
--os-access-token-endpoint- 环境变量:
OS_ACCESS_TOKEN_ENDPOINT
- access-token-type:
OAuth 2.0 授权服务器内省令牌类型,用于确定在处理令牌内省时将使用哪种类型的令牌。有效值为:“access_token”或“id_token”
- CLI 选项:
--os-access-token-type- 环境变量:
OS_ACCESS_TOKEN_TYPE
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- client-id:
OAuth 2.0 客户端 ID
- CLI 选项:
--os-client-id- 环境变量:
OS_CLIENT_ID
- client-secret:
OAuth 2.0 客户端密钥
- CLI 选项:
--os-client-secret- 环境变量:
OS_CLIENT_SECRET
- code:
OAuth 2.0 授权码 (必需)
- CLI 选项:
--os-code,--os-authorization-code- 环境变量:
OS_CODE,OS_AUTHORIZATION_CODE
- discovery-endpoint:
OpenID Connect Discovery Document URL。该发现文档将被用于获取访问令牌端点和认证端点的地址。该 URL 应该类似于 https://idp.example.org/.well-known/openid-configuration
- CLI 选项:
--os-discovery-endpoint- 环境变量:
OS_DISCOVERY_ENDPOINT
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- openid-scope:
从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规范规定必须始终指定“openid”。
- CLI 选项:
--os-openid-scope- 环境变量:
OS_OPENID_SCOPE
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- redirect-uri:
OpenID Connect 重定向 URL
- CLI 选项:
--os-redirect-uri- 环境变量:
OS_REDIRECT_URI
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oidcclientcredentials¶
使用 OIDC 客户端凭据流进行认证。
- access-token-endpoint:
OpenID Connect 提供者令牌端点。请注意,如果传递了发现文档,此选项将覆盖服务器在发现文档中提供的端点。
- CLI 选项:
--os-access-token-endpoint- 环境变量:
OS_ACCESS_TOKEN_ENDPOINT
- access-token-type:
OAuth 2.0 授权服务器内省令牌类型,用于确定在处理令牌内省时将使用哪种类型的令牌。有效值为:“access_token”或“id_token”
- CLI 选项:
--os-access-token-type- 环境变量:
OS_ACCESS_TOKEN_TYPE
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- client-id:
OAuth 2.0 客户端 ID
- CLI 选项:
--os-client-id- 环境变量:
OS_CLIENT_ID
- client-secret:
OAuth 2.0 客户端密钥
- CLI 选项:
--os-client-secret- 环境变量:
OS_CLIENT_SECRET
- discovery-endpoint:
OpenID Connect Discovery Document URL。该发现文档将被用于获取访问令牌端点和认证端点的地址。该 URL 应该类似于 https://idp.example.org/.well-known/openid-configuration
- CLI 选项:
--os-discovery-endpoint- 环境变量:
OS_DISCOVERY_ENDPOINT
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- openid-scope:
从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规范规定必须始终指定“openid”。
- CLI 选项:
--os-openid-scope- 环境变量:
OS_OPENID_SCOPE
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oidcdeviceauthz¶
使用 OAuth 2.0 设备授权流进行认证。
- access-token-endpoint:
OpenID Connect 提供者令牌端点。请注意,如果传递了发现文档,此选项将覆盖服务器在发现文档中提供的端点。
- CLI 选项:
--os-access-token-endpoint- 环境变量:
OS_ACCESS_TOKEN_ENDPOINT
- access-token-type:
OAuth 2.0 授权服务器内省令牌类型,用于确定在处理令牌内省时将使用哪种类型的令牌。有效值为:“access_token”或“id_token”
- CLI 选项:
--os-access-token-type- 环境变量:
OS_ACCESS_TOKEN_TYPE
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- client-id:
OAuth 2.0 客户端 ID
- CLI 选项:
--os-client-id- 环境变量:
OS_CLIENT_ID
- client-secret:
OAuth 2.0 客户端密钥
- CLI 选项:
--os-client-secret- 环境变量:
OS_CLIENT_SECRET
- code-challenge-method:
PKCE 挑战方法 (RFC 7636)
- CLI 选项:
--os-code-challenge-method- 环境变量:
OS_CODE_CHALLENGE_METHOD
- device-authorization-endpoint:
OAuth 2.0 设备授权端点。请注意,如果传递了发现文档,此选项将覆盖服务器在发现文档中提供的端点。
- CLI 选项:
--os-device-authorization-endpoint- 环境变量:
OS_DEVICE_AUTHORIZATION_ENDPOINT
- discovery-endpoint:
OpenID Connect Discovery Document URL。该发现文档将被用于获取访问令牌端点和认证端点的地址。该 URL 应该类似于 https://idp.example.org/.well-known/openid-configuration
- CLI 选项:
--os-discovery-endpoint- 环境变量:
OS_DISCOVERY_ENDPOINT
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- openid-scope:
从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规范规定必须始终指定“openid”。
- CLI 选项:
--os-openid-scope- 环境变量:
OS_OPENID_SCOPE
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3oidcpassword¶
使用 OIDC 资源所有者密码凭据流进行认证。
- access-token-endpoint:
OpenID Connect 提供者令牌端点。请注意,如果传递了发现文档,此选项将覆盖服务器在发现文档中提供的端点。
- CLI 选项:
--os-access-token-endpoint- 环境变量:
OS_ACCESS_TOKEN_ENDPOINT
- access-token-type:
OAuth 2.0 授权服务器内省令牌类型,用于确定在处理令牌内省时将使用哪种类型的令牌。有效值为:“access_token”或“id_token”
- CLI 选项:
--os-access-token-type- 环境变量:
OS_ACCESS_TOKEN_TYPE
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- client-id:
OAuth 2.0 客户端 ID
- CLI 选项:
--os-client-id- 环境变量:
OS_CLIENT_ID
- client-secret:
OAuth 2.0 客户端密钥
- CLI 选项:
--os-client-secret- 环境变量:
OS_CLIENT_SECRET
- discovery-endpoint:
OpenID Connect Discovery Document URL。该发现文档将被用于获取访问令牌端点和认证端点的地址。该 URL 应该类似于 https://idp.example.org/.well-known/openid-configuration
- CLI 选项:
--os-discovery-endpoint- 环境变量:
OS_DISCOVERY_ENDPOINT
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- idp_otp_key:
要在身份提供商访问令牌端点中传递 OTP 值的密钥。例如 totp
- CLI 选项:
--os-idp_otp_key- 环境变量:
OS_IDP_OTP_KEY
- openid-scope:
从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规范规定必须始终指定“openid”。
- CLI 选项:
--os-openid-scope- 环境变量:
OS_OPENID_SCOPE
- password:
密码 (必需)
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- username:
用户名 (必需)
- CLI 选项:
--os-username- 环境变量:
OS_USERNAME
v3password¶
使用用户名和密码进行身份验证。
使用提供的用户名和密码对身份服务进行身份验证。这是标准且最常见的身份验证形式。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- password:
用户的密码
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- user-domain-id:
用户的域 ID
- CLI 选项:
--os-user-domain-id- 环境变量:
OS_USER_DOMAIN_ID
- user-domain-name:
用户的域名称
- CLI 选项:
--os-user-domain-name- 环境变量:
OS_USER_DOMAIN_NAME
- user-id:
用户的用户 ID
- CLI 选项:
--os-user-id- 环境变量:
OS_USER_ID
- username:
用户的用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
v3samlpassword¶
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- identity-provider:
身份提供者的名称 (必需)
- CLI 选项:
--os-identity-provider- 环境变量:
OS_IDENTITY_PROVIDER
- identity-provider-url:
一个身份提供商 URL,SAML2 认证请求将被发送到该 URL。(必须)
- CLI 选项:
--os-identity-provider-url- 环境变量:
OS_IDENTITY_PROVIDER_URL
- password:
密码 (必需)
- CLI 选项:
--os-password- 环境变量:
OS_PASSWORD
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- protocol:
联合插件的协议 (必需)
- CLI 选项:
--os-protocol- 环境变量:
OS_PROTOCOL
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- username:
用户名 (必需)
- CLI 选项:
--os-username- 环境变量:
OS_USERNAME
v3token¶
给定现有令牌,将其重新限定到另一个目标。
使用身份服务的重新限定机制基于现有令牌获取新的令牌。由于身份验证插件需要服务目录和范围信息,因此基于现有令牌获取新的令牌通常比验证和重用您已经拥有的令牌更容易。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- 令牌:
用于进行身份验证的令牌
- CLI 选项:
--os-token- 环境变量:
OS_TOKEN
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
v3tokenlessauth¶
使用 X.509 证书进行无令牌认证。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
v3totp¶
使用基于时间的 One-Time Password 进行认证。
使用基于时间的 One-Time Password 认证身份服务。这通常与其他插件结合使用,作为多因素配置的一部分。
- auth-url:
身份验证 URL (必需)
- CLI 选项:
--os-auth-url- 环境变量:
OS_AUTH_URL
- domain-id:
作用域的域 ID
- CLI 选项:
--os-domain-id- 环境变量:
OS_DOMAIN_ID
- domain-name:
作用域的域名称
- CLI 选项:
--os-domain-name- 环境变量:
OS_DOMAIN_NAME
- passcode:
用户的 TOTP 密码
- CLI 选项:
--os-passcode- 环境变量:
OS_PASSCODE
- project-domain-id:
包含项目的域 ID
- CLI 选项:
--os-project-domain-id- 环境变量:
OS_PROJECT_DOMAIN_ID
- project-domain-name:
包含项目的域名称
- CLI 选项:
--os-project-domain-name- 环境变量:
OS_PROJECT_DOMAIN_NAME
- project-id:
作用域的项目 ID
- CLI 选项:
--os-project-id- 环境变量:
OS_PROJECT_ID
- project-name:
作用域的项目名称
- CLI 选项:
--os-project-name- 环境变量:
OS_PROJECT_NAME
- system-scope:
系统操作的作用域
- CLI 选项:
--os-system-scope- 环境变量:
OS_SYSTEM_SCOPE
- trust-id:
用作受托人的信任 ID
- CLI 选项:
--os-trust-id- 环境变量:
OS_TRUST_ID
- user-domain-id:
用户的域 ID
- CLI 选项:
--os-user-domain-id- 环境变量:
OS_USER_DOMAIN_ID
- user-domain-name:
用户的域名称
- CLI 选项:
--os-user-domain-name- 环境变量:
OS_USER_DOMAIN_NAME
- user-id:
用户的用户 ID
- CLI 选项:
--os-user-id- 环境变量:
OS_USER_ID
- username:
用户的用户名
- CLI 选项:
--os-username,--os-user-name- 环境变量:
OS_USERNAME,OS_USER_NAME
Additional Plugins¶
keystoneauth 被设计为可插拔的,并且存在提供附加插件的 Python 包。