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