5.8. API アクセスの監査

所定のロールがアクセスできる API 呼び出しを監査できます。各ロールに対してこのプロセスを繰り返すと、各ロールのアクセス可能な API に包括的なレポートが実行されます。以下の手順には、以下が必要です。

  • ターゲットロールのユーザーとしてソースとする認証ファイル。
  • JSON 形式のアクセストークン
  • 監査する各サービスの API のポリシーファイル。

手順

  1. 次に、必要なロールでユーザーの認証ファイルを一時停止します。
  2. Keystone 生成されたトークンを取得し、ファイルに保存します。そのためには、openstack-cli コマンドを実行し、--debug オプションを指定して、指定したトークンを stdout に出力します。このトークンをコピーして、アクセスファイルに保存できます。このコマンドを 1 つのステップとして実行します。

    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