与 AWX 和 Red Hat Ansible 自动化平台控制器进行身份验证的首选机制是生成和存储 OAuth2.0 令牌。令牌可以按读/写权限进行范围限制,易于撤销,并且比基于会话的身份验证更适合第三方工具集成。
awx 提供了一个简单的登录命令,用于从您的用户名和密码生成个人访问令牌。
CONTROLLER_HOST=https://awx.example.org \
CONTROLLER_USERNAME=alice \
CONTROLLER_PASSWORD=secret \
awx login
为了方便起见,awx login -f human
命令打印一个 shell 格式的令牌值
export CONTROLLER_OAUTH_TOKEN=6E5SXhld7AMOhpRveZsLJQsfs9VS8U
通过接收此令牌,您可以运行后续的 CLI 命令,而无需每次都指定您的用户名和密码
export CONTROLLER_HOST=https://awx.example.org
$(CONTROLLER_USERNAME=alice CONTROLLER_PASSWORD=secret awx login -f human)
awx config
AWX 和 Red Hat Ansible 自动化平台控制器允许您配置 OAuth2.0 应用程序,这些应用程序的范围限定为特定组织。要生成应用程序令牌(而不是个人访问令牌),请指定在创建应用程序时生成的 **客户端 ID** 和 **客户端密钥**。
CONTROLLER_USERNAME=alice CONTROLLER_PASSWORD=secret awx login \
--conf.client_id <value> --conf.client_secret <value>
默认情况下,使用 awx login
创建的令牌具有写范围。要生成只读令牌,请指定 --scope read
CONTROLLER_USERNAME=alice CONTROLLER_PASSWORD=secret \
awx login --conf.scope read
如果您不想或不需要生成长期有效的令牌,awx 允许您在每次调用时指定您的用户名和密码
CONTROLLER_USERNAME=alice CONTROLLER_PASSWORD=secret awx jobs list
awx --conf.username alice --conf.password secret jobs list