5.9. 审计 API 访问

您可以审核 API 调用给定角色可以访问。为每个角色重复这个过程将导致为每个角色对可访问的 API 进行全面的报告。对于您需要的步骤:

  • 作为目标角色中的用户提供的身份验证文件。
  • JSON 格式的访问令牌。
  • 您要审核的每个服务的 API 的策略文件。

流程

  1. 首先,在所需角色中提供用户的身份验证文件。
  2. 捕获 Keystone 生成的令牌并将其保存到文件中。您可以通过运行任何 openstack-cli 命令并使用 --debug 选项将提供的令牌输出到 stdout 来完成此操作。您可以复制此令牌并将其保存到访问文件中。使用以下命令来作为单一步骤执行此操作:

    openstack token issue --debug 2>&1 | egrep ^'{\"token\":' > access.file.json
  3. 创建策略文件。这可以在托管感兴趣的容器化服务的 overcloud 节点上完成。以下示例为 cinder 服务创建一个策略文件:

    ssh heat-admin@CONTROLLER-1 sudo podman exec cinder_api \
    oslopolicy-policy-generator \
    --config-file /etc/cinder/cinder.conf \
    --namespace cinder > cinderpolicy.json
  4. 使用这些文件,您现在可以审核问题中的角色,以访问 cinder 的 API:

    oslopolicy-checker --policy cinderpolicy.json --access access.file.json