realm-management ロールを持つコンフィデンシャルなサービスアカウントクライアントを使って認証します。
対応プラットフォーム
| プラットフォーム | サポート |
|---|---|
| セルフホスト Keycloak | 全バージョン |
| Phase Two | マネージド Keycloak サービス |
前提条件
- 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 でクライアントをプロビジョニングします。利用可能な任意のシェルから実行してください。接続詳細
| フィールド | 説明 | 例 |
|---|---|---|
| KEYCLOAK_URL | Keycloak のベース URL | http://<host-ip>:8080 |
| KEYCLOAK_REALM | 対象レルム名 | my-realm |
| KEYCLOAK_CLIENT_ID | サービスアカウントのクライアント ID | cloudthinker-svc |
| KEYCLOAK_CLIENT_SECRET | Credentials ステップで取得したクライアントシークレット | — |
必要な権限
cloudthinker-svc サービスアカウントには対象レルムの realm-management ロールが必要です。主なロール:
| ロール | 用途 |
|---|---|
view-realm | レルム設定の読み取り |
view-users | ユーザーの一覧表示と検査 |
view-clients | クライアントの一覧表示と検査 |
query-users・query-clients・query-groups | ルックアップクエリの実行 |
manage-users・manage-clients・manage-realm | 変更操作(必要な場合のみ割り当て) |
エージェントの機能
接続後、Oliver は以下を実行できます:| 機能 | 説明 |
|---|---|
| レルム検査 | レルム設定と構成の確認 |
| クライアント監査 | クライアントの一覧表示、フローと認可設定のレビュー |
| ユーザー管理 | ユーザー・セッション・クレデンシャル状態の表示 |
| ロールとグループのレビュー | ロール・コンポジット・グループ階層の検査 |
| アクセス分析 | 過剰権限のサービスアカウントや古いクライアントの特定 |
接続を確認する
プロンプト例
トラブルシューティング
401 Unauthorized
401 Unauthorized
レルム操作で 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
セキュリティとコンプライアンスエージェント
接続の概要
利用可能な全接続