You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用awx-cli查询特定库存的用户/组访问权限信息

解决AWX CLI查询库存关联权限的问题

方法1:通过awx-cli role命令关联库存与权限

AWX CLI没有直接一键导出库存权限的命令,但可以通过角色(Role)对象关联查询,步骤如下:

  • 获取目标库存ID
    执行awx-cli inventory list -f json,从输出中提取目标库存的id值(例如123)。

  • 查询库存绑定的所有角色
    运行以下命令(替换<inventory_id>为实际库存ID):

    awx-cli role list --filter "resource_type=inventory,resource_id=<inventory_id>" -a
    

    输出中的name字段对应权限类型(如inventory_admin、inventory_view),id字段为角色ID。

  • 查询角色对应的用户/组/团队
    针对每个角色ID(例如456),分别执行:

    # 查角色关联的用户
    awx-cli role users list --role 456 -a
    # 查角色关联的组
    awx-cli role groups list --role 456 -a
    # 查角色关联的团队
    awx-cli role teams list --role 456 -a
    

方法2:结合AWX API批量查询(更高效)

AWX CLI本质是API的封装,直接调用API可批量获取数据,减少重复操作:

  • 获取API令牌
    先登录生成令牌:

    awx-cli login --username your_user --password your_pass
    

    令牌会自动保存到~/.awx/credentials,后续请求可直接调用。

  • 查询库存权限关联数据
    用curl请求API(替换<inventory_id>和<your-awx-url>为实际值):

    curl -H "Authorization: Bearer $(cat ~/.awx/credentials | grep token | cut -d' ' -f2)" \
         https://<your-awx-url>/api/v2/inventories/<inventory_id>/roles/ \
         -H "Content-Type: application/json" | jq '.results[] | {role_name: .name, role_id: .id, users: .related.users, groups: .related.groups, teams: .related.teams}'
    

    该请求会返回库存所有角色的权限类型,以及对应的用户/组/团队关联链接,可继续请求这些链接获取具体成员信息。

补充说明

  • awx-cli users list -a仅返回全局权限,库存级权限必须通过角色关联查询——AWX的权限模型是**角色-资源-主体(用户/组/团队)**的三层关联结构。
  • 若需批量处理多个库存,可编写简单shell脚本循环遍历库存ID,自动执行上述命令。

内容的提问来源于stack exchange,提问作者Alexia Rivera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:12:10