メインコンテンツまでスキップ
適用対象:
DuoKey Cockpitマネジメント APIRBAC · ABAC · SSO

管理 API は、認証済みの マネジメント API(/api/…)の一部です。すべてのリクエストは テナントスコープ です — テナントはベアラートークンから取得され、明示的に渡されることはなく、呼び出し元は自分のテナントの ID 情報と構成のみを参照・変更できます。トークンの取得方法については 認証 を参照してください。

各ルートは 管理権限 — Users.*、Roles.*、OrganizationUnits.*、IdentityProviders.*、AccessPolicies.* — によって制御されます。権限は階層的なドット記法のリーフであり(例: AccessPolicies.Create)、親プレフィックスを付与すると、その配下のすべてのリーフが暗黙的に付与されます。必要な権限を欠く呼び出し元は 403 Forbidden を受け取ります。

注記

すべてのパスは、お客様の Cockpit ホストからの相対パスです。例: https://cockpit.example.com。{id} のような波括弧は UUID のパスパラメータを示します。

ユーザー​

ユーザーは、テナントにサインインする ID です。各ユーザーは完全な認証状態(パスワード、TOTP、ロックアウトカウンター、承認ステータス)を持ち、ロールと組織ユニットを割り当てることができます。

メソッド + パス目的権限
GET /api/usersユーザーの一覧取得Users.Read
POST /api/usersユーザーの作成Users.Create
POST /api/users/{id}/approve保留中のユーザーの承認Users.Approve
POST /api/users/{id}/lockユーザーアカウントのロックUsers.Update
POST /api/users/{id}/unlockユーザーアカウントのロック解除Users.Update
POST /api/users/{id}/suspendユーザーアカウントの一時停止Users.Update
POST /api/users/{id}/reset-passwordユーザーパスワードのリセットUsers.Update
PUT /api/users/{id}/rolesユーザーへのロール割り当てUsers.Update

ロールと権限​

認可は ロールベース です。ロールは権限の名前付きの束であり、ユーザーが受け取るトークンには、そのロールから展開された権限の集合が平坦化された形で含まれます。ロールは組織ユニットにスコープすることができ、その場合、付与内容はそのブランチ内でのみ適用されます。

メソッド + パス目的権限
GET /api/rolesロールの一覧取得Roles.Read
POST /api/rolesロールの作成Roles.Create
PUT /api/roles/{id}ロールの更新Roles.Update
DELETE /api/roles/{id}ロールの削除Roles.Delete
PUT /api/roles/{id}/permissionsロールの権限セットの設定Roles.Update
GET /api/roles/permissions階層的な権限カタログの一覧取得Roles.Read

組織ユニット​

組織ユニット(OU)は、テナント内に第 2 のスコープ層を追加します。マテリアライズドパスコード(例: 00001.00003.00007)を持つツリーを形成し、アプリなどのリソースを OU にスコープしたり、ロールを OU レベルで割り当てたりできます。

メソッド + パス目的権限
GET /api/org-units組織ユニットの一覧取得OrganizationUnits.Read
POST /api/org-units組織ユニットの作成OrganizationUnits.Create
GET /api/org-units/selectable割り当て可能な OU の一覧取得OrganizationUnits.Read
/api/org-units/{id}/rolesOU スコープのロールの割り当て(委任管理)OrganizationUnits.Update

ID プロバイダー​

外部 ID プロバイダーを使用すると、ユーザーは企業の認証情報でサインインできます(Azure AD / Entra ID、Okta、Keycloak)。プロバイダーはクライアント認証情報、認証局/メタデータ URL、スコープ、クレームマッピングで構成され、ユーザーをデフォルトロールに自動プロビジョニングすることもできます。

メソッド + パス目的権限
GET /api/identity-providers構成済み ID プロバイダーの一覧取得IdentityProviders.Read
POST /api/identity-providersID プロバイダーの作成IdentityProviders.Create
POST /api/identity-providers/discoverメタデータ/認証局 URL からプロバイダーのエンドポイントを検出IdentityProviders.Read
POST /api/identity-providers/{id}/test-connectionプロバイダーの接続と認証情報をテストIdentityProviders.Update
POST /api/identity-providers/{id}/toggleプロバイダーの有効化・無効化IdentityProviders.Update
SSO は機能フラグで制御される

シングルサインオンは、テナントのエディションの ID プロバイダー機能フラグによっても制御されます。プロバイダーは、使用される前にそのエディションで有効化されている必要があります。

アクセスポリシー​

RBAC に加えて、管理には Casbin ABAC アクセスポリシーエンジンが含まれ、ユーザー、IP、場所、時間、グループによってランタイムの暗号操作を制御します。ポリシーはテナントスコープであり、access_policy_id を介してリソース(DKE サービス、汎用アプリ、AWS XKS エンドポイント)に紐づけられて初めて有効になります。完全なモデルは アクセスポリシー ページに記載されています。

メソッド + パス目的権限
GET /api/access-policiesポリシーの一覧取得AccessPolicies.Read
POST /api/access-policiesポリシーの作成AccessPolicies.Create
GET /api/access-policies/{id}ポリシーの取得AccessPolicies.Read
PUT /api/access-policies/{id}ポリシーの更新AccessPolicies.Update
DELETE /api/access-policies/{id}ポリシーの削除AccessPolicies.Delete
POST /api/access-policies/validate保存前にポリシー定義を検証AccessPolicies.Read
GET /api/access-policies/capabilitiesアプリタイプごとの機能マトリクス(5 つの各次元をどのアプリタイプがサポートするか)AccessPolicies.Read
GET /api/access-policies/available-groupsグループルールで利用可能なグループAccessPolicies.Read
GET /api/access-policies/audit · GET /api/access-policies/{id}/audit適用状況の監査証跡AccessPolicies.Read

インパーソネーション​

インパーソネーション機能により、権限を持つ管理者はサポートやトラブルシューティングのために別のユーザーとして操作できます。セッションを開始すると、対象ユーザーのコンテキストでスコープされたトークンが発行され、停止すると呼び出し元は自身の ID に戻ります。すべてのインパーソネーションはアクティビティログに記録されます。

メソッド + パス目的権限
POST /api/impersonation/start対象ユーザーへのインパーソネーション開始Users.Impersonate
POST /api/impersonation/stopインパーソネーションの停止と呼び出し元 ID の復元Users.Impersonate
インパーソネーションは特権操作

インパーソネーションは、セッション中、呼び出し元に対象ユーザーの実効権限を付与します。インパーソネーション権限は信頼できる管理者に限定し、監査証跡を定期的にレビューしてください。