11.8. 审计 API 访问
您可以审核给定角色可以访问的 API 调用。为每个角色重复此过程将导致全面报告每个角色可访问的 API。
先决条件
- 作为目标角色中的用户提供的身份验证文件。
- JSON 格式的访问令牌。
- 您要审计的每个服务 API 的策略文件。
流程
- 首先,在所需角色中提供用户的身份验证文件。
捕获 Keystone 生成的令牌并将其保存到文件中。您可以通过运行任何 openstack-cli 命令并使用 --debug 选项进行此操作,该选项会将提供的令牌输出到 stdout。您可以复制此令牌并将其保存到访问文件中。使用以下命令作为单一步骤执行此操作:
openstack token issue --debug 2>&1 | egrep ^'{\"token\":' > access.file.json
openstack token issue --debug 2>&1 | egrep ^'{\"token\":' > access.file.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建策略文件。这可以在托管相关容器化服务的 overcloud 节点上完成。以下示例为 cinder 服务创建一个策略文件:
ssh tripleo-admin@CONTROLLER-1 sudo podman exec cinder_api \ oslopolicy-policy-generator \ --config-file /etc/cinder/cinder.conf \ --namespace cinder > cinderpolicy.json
ssh tripleo-admin@CONTROLLER-1 sudo podman exec cinder_api \ oslopolicy-policy-generator \ --config-file /etc/cinder/cinder.conf \ --namespace cinder > cinderpolicy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用这些文件,您现在可以审核相关角色以访问 Cinder 的 API:
oslopolicy-checker --policy cinderpolicy.json --access access.file.json
oslopolicy-checker --policy cinderpolicy.json --access access.file.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow