メインコンテンツへスキップ
Keycloak レルムを接続して、Oliver(セキュリティプロフェッショナル)がレルムの検査、クライアントの監査、ユーザーとロールの確認、アイデンティティとアクセス設定の分析を行えるようにします。 Keycloak は、対象レルムで realm-management ロールを持つコンフィデンシャルなサービスアカウントクライアントを使って認証します。

対応プラットフォーム

前提条件

  • CloudThinker で検査する Keycloak レルム
  • コンフィデンシャルクライアントの作成とサービスアカウントロールの割り当てに必要な管理者アクセスkcadm.sh(セルフホスト)またはレルムコンソール(Phase Two)。
  • レルムのベース URLレルム名
接続のスコープは cloudthinker-svc サービスアカウントに付与したロールに制限されます。CloudThinker が必要とする範囲をカバーする最小権限の realm-management ロールを割り当ててください。

セットアップ

どちらの方法でも同じ成果物を作成します:対象レルムのサービスアカウントに realm-management ロールが付与された cloudthinker-svc コンフィデンシャルクライアントです。セルフホストは kcadm.sh を使い、Phase Two はレルムコンソールを使います。
Keycloak の管理 CLI である kcadm.sh でクライアントをプロビジョニングします。利用可能な任意のシェルから実行してください。
1

認証する

2

クライアントを作成する

3

realm-management ロールを割り当てる

最小権限が必要な場合は、より限定的なロール(例:view-realmview-users)を使用してください。
4

クライアントシークレットを取得する

5

CloudThinker に接続を追加する

Connections → Keycloak に移動し、以下を入力します:
  • KEYCLOAK_URLhttp://<host-ip>:8080
  • KEYCLOAK_REALM:レルム名
  • KEYCLOAK_CLIENT_IDcloudthinker-svc
  • KEYCLOAK_CLIENT_SECRET:前のステップで取得したシークレット
Connect をクリックします。成功すると CloudThinker は Connected ステータスを表示します。

接続詳細

必要な権限

cloudthinker-svc サービスアカウントには対象レルムの realm-management ロールが必要です。主なロール:
読み取り専用分析には view-*query-* ロールのみを割り当ててください。Oliver に変更操作を行わせる場合にのみ manage-* ロールを追加してください。

エージェントの機能

接続後、Oliver は以下を実行できます:

接続を確認する

プロンプト例

トラブルシューティング

  • クライアントシークレットが正しくコピーされているか確認してください
  • クライアントで Client authentication が有効になっているか確認してください
  • サービスアカウントに realm-management ロールが割り当てられているか確認してください
  • サービスアカウントがその操作に必要な realm-management ロールを持っていません
  • セルフホスト:不足しているロールで add-roles を再実行してください
  • Phase Two:ロール割り当てリストの両ページを再確認してください
  • セルフホスト:ベース URL が Keycloak のホスト名と一致しているか確認してください
  • Phase Two:レルムの Details → Host フィールドから URL を正確にコピーしてください
  • クライアントはコンフィデンシャルである必要があります — publicClient=false(セルフホスト)または Client authentication が有効(Phase Two)
  • パブリッククライアントにはシークレットがありません

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • 専用クライアントcloudthinker-svc を共有の管理クライアントではなく、専用のサービスアカウントクライアントとして使用してください。
  • シークレットのローテーションCredentials タブからクライアントシークレットを定期的にローテーションしてください。

関連

Oliver Agent

セキュリティとコンプライアンスエージェント

接続の概要

利用可能な全接続