5.9. API 액세스 감사

지정된 역할이 액세스할 수 있는 API 호출을 감사할 수 있습니다. 각 역할에 대해 이 프로세스를 반복하면 각 역할에 대해 액세스 가능한 API에 대한 포괄적인 보고서가 생성됩니다. 다음 단계의 경우 다음을 수행합니다.

  • 타겟 역할에서 사용자로 가져올 인증 파일입니다.
  • JSON 형식의 액세스 토큰입니다.
  • 감사하려는 각 서비스의 API에 대한 정책 파일입니다.

절차

  1. 원하는 역할에서 사용자의 인증 파일을 가져와 시작합니다.
  2. Keystone 생성된 토큰을 캡처하여 파일에 저장합니다. openstack-cli 명령을 실행하고 제공된 토큰을 stdout에 출력하는 --debug 옵션을 사용하여 이 작업을 수행할 수 있습니다. 이 토큰을 복사하여 액세스 파일에 저장할 수 있습니다. 다음 명령을 사용하여 단일 단계로 이 작업을 수행합니다.

    openstack token issue --debug 2>&1 | egrep ^'{\"token\":' > access.file.json
  3. 정책 파일을 만듭니다. 컨테이너화된 서비스를 호스팅하는 오버클라우드 노드에서 이 작업을 수행할 수 있습니다. 다음 예제에서는 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