插件选项

用法

通过 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 包。