realm-management ロールを持つコンフィデンシャルなサービスアカウントクライアントを使って認証します。
対応プラットフォーム
前提条件
- CloudThinker で検査する Keycloak レルム。
- コンフィデンシャルクライアントの作成とサービスアカウントロールの割り当てに必要な管理者アクセス —
kcadm.sh(セルフホスト)またはレルムコンソール(Phase Two)。 - レルムのベース URL とレルム名。
接続のスコープは
cloudthinker-svc サービスアカウントに付与したロールに制限されます。CloudThinker が必要とする範囲をカバーする最小権限の realm-management ロールを割り当ててください。セットアップ
どちらの方法でも同じ成果物を作成します:対象レルムのサービスアカウントにrealm-management ロールが付与された cloudthinker-svc コンフィデンシャルクライアントです。セルフホストは kcadm.sh を使い、Phase Two はレルムコンソールを使います。
- セルフホスト Keycloak
- Phase Two
Keycloak の管理 CLI である 最小権限が必要な場合は、より限定的なロール(例:
kcadm.sh でクライアントをプロビジョニングします。利用可能な任意のシェルから実行してください。1
認証する
2
クライアントを作成する
3
realm-management ロールを割り当てる
view-realm・view-users)を使用してください。4
クライアントシークレットを取得する
5
CloudThinker に接続を追加する
Connections → Keycloak に移動し、以下を入力します:
- KEYCLOAK_URL:
http://<host-ip>:8080 - KEYCLOAK_REALM:レルム名
- KEYCLOAK_CLIENT_ID:
cloudthinker-svc - KEYCLOAK_CLIENT_SECRET:前のステップで取得したシークレット
接続詳細
必要な権限
cloudthinker-svc サービスアカウントには対象レルムの realm-management ロールが必要です。主なロール:
エージェントの機能
接続後、Oliver は以下を実行できます:接続を確認する
プロンプト例
トラブルシューティング
レルム操作で 403 Forbidden
レルム操作で 403 Forbidden
- サービスアカウントがその操作に必要な
realm-managementロールを持っていません - セルフホスト:不足しているロールで
add-rolesを再実行してください - Phase Two:ロール割り当てリストの両ページを再確認してください
Keycloak URL に到達できない
Keycloak URL に到達できない
- セルフホスト:ベース URL が Keycloak のホスト名と一致しているか確認してください
- Phase Two:レルムの Details → Host フィールドから URL を正確にコピーしてください
クライアントシークレットが空
クライアントシークレットが空
- クライアントはコンフィデンシャルである必要があります —
publicClient=false(セルフホスト)または Client authentication が有効(Phase Two) - パブリッククライアントにはシークレットがありません
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- 専用クライアント —
cloudthinker-svcを共有の管理クライアントではなく、専用のサービスアカウントクライアントとして使用してください。 - シークレットのローテーション — Credentials タブからクライアントシークレットを定期的にローテーションしてください。
関連
Oliver Agent
セキュリティとコンプライアンスエージェント
接続の概要
利用可能な全接続