コンテンツにスキップ

Adminロール管理

概要

AdminロールAPIは、管理コンソールユーザー用のロールとパーミッションを管理します。ビルトインロールとカスタムロールの両方をサポートし、きめ細かなアクセス制御を実現します。

必要権限

操作必要権限
読み取りadmin:admin_roles:read
書き込みadmin:admin_roles:write

エンドポイント一覧

メソッドエンドポイント説明
GET/api/admin/admin-rolesAdminロール一覧取得
GET/api/admin/admin-roles/:idAdminロール詳細取得
POST/api/admin/admin-rolesカスタムロール作成
PATCH/api/admin/admin-roles/:idロール更新
DELETE/api/admin/admin-roles/:idロール削除(カスタムのみ)
GET/api/admin/admin-roles/permissions/list利用可能なパーミッション一覧

Adminロール一覧取得

Adminロールの一覧を取得します。

エンドポイント

GET /api/admin/admin-roles

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-roles" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"id": "role_super_admin",
"name": "super_admin",
"display_name": "スーパー管理者",
"description": "全ての権限を持つ管理者",
"is_system": true,
"hierarchy_level": 100,
"permissions": ["*"],
"user_count": 2,
"created_at": 1705881600000
},
{
"id": "role_admin",
"name": "admin",
"display_name": "管理者",
"description": "一般的な管理権限",
"is_system": true,
"hierarchy_level": 80,
"permissions": [
"admin:admin_users:read",
"admin:admin_users:write",
"admin:admin_audit:read"
],
"user_count": 5,
"created_at": 1705881600000
},
{
"id": "role_viewer",
"name": "viewer",
"display_name": "閲覧者",
"description": "読み取り専用アクセス",
"is_system": true,
"hierarchy_level": 10,
"permissions": [
"admin:admin_users:read",
"admin:admin_audit:read"
],
"user_count": 10,
"created_at": 1705881600000
}
],
"total": 3
}

Adminロール詳細取得

指定されたAdminロールの詳細情報を取得します。

エンドポイント

GET /api/admin/admin-roles/:id

パスパラメータ

パラメータ必須説明
idstringロールID

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-roles/role_admin" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "role_admin",
"name": "admin",
"display_name": "管理者",
"description": "一般的な管理権限",
"is_system": true,
"hierarchy_level": 80,
"permissions": [
"admin:admin_users:read",
"admin:admin_users:write",
"admin:admin_audit:read"
],
"users": [
{
"id": "admin_abc123",
"email": "[email protected]",
"name": "管理者1",
"assigned_at": 1705881600000
},
{
"id": "admin_def456",
"email": "[email protected]",
"name": "管理者2",
"assigned_at": 1705968000000
}
],
"user_count": 5,
"created_at": 1705881600000,
"updated_at": 1706140800000
}

カスタムロール作成

新しいカスタムロールを作成します。

エンドポイント

POST /api/admin/admin-roles

リクエストボディ

フィールド必須説明
namestringロール名(英数字とアンダースコア)
display_namestring表示名
descriptionstring-説明
permissionsstring[]パーミッションのリスト
hierarchy_levelinteger-階層レベル(0-99、デフォルト: 50)

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/admin-roles" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "audit_viewer",
"display_name": "監査ログ閲覧者",
"description": "監査ログの閲覧のみ可能",
"permissions": ["admin:admin_audit:read"],
"hierarchy_level": 20
}'

レスポンス例

{
"id": "role_audit_viewer",
"name": "audit_viewer",
"display_name": "監査ログ閲覧者",
"description": "監査ログの閲覧のみ可能",
"is_system": false,
"hierarchy_level": 20,
"permissions": ["admin:admin_audit:read"],
"user_count": 0,
"created_at": 1706227200000
}

ロール更新

既存のロールを更新します。

エンドポイント

PATCH /api/admin/admin-roles/:id

リクエストボディ

フィールド必須説明
display_namestring-表示名
descriptionstring-説明
permissionsstring[]-パーミッションのリスト
hierarchy_levelinteger-階層レベル

リクエスト例

Terminal window
curl -X PATCH "https://{tenant-domain}/api/admin/admin-roles/role_audit_viewer" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"permissions": [
"admin:admin_audit:read",
"admin:admin_users:read"
]
}'

レスポンス例

{
"id": "role_audit_viewer",
"name": "audit_viewer",
"display_name": "監査ログ閲覧者",
"permissions": [
"admin:admin_audit:read",
"admin:admin_users:read"
],
"updated_at": 1706313600000
}

ロール削除

カスタムロールを削除します。

エンドポイント

DELETE /api/admin/admin-roles/:id

リクエスト例

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/admin-roles/role_audit_viewer" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"deleted": true,
"id": "role_audit_viewer"
}

利用可能なパーミッション一覧

Admin APIで使用可能なすべてのパーミッションを取得します。

エンドポイント

GET /api/admin/admin-roles/permissions/list

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-roles/permissions/list" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"key": "admin:admin_users:read",
"description": "Adminユーザーの閲覧"
},
{
"key": "admin:admin_users:write",
"description": "Adminユーザーの作成・更新"
},
{
"key": "admin:admin_users:delete",
"description": "Adminユーザーの削除"
},
{
"key": "admin:admin_roles:read",
"description": "Adminロールの閲覧"
},
{
"key": "admin:admin_roles:write",
"description": "Adminロールの作成・更新"
},
{
"key": "admin:admin_audit:read",
"description": "Admin監査ログの閲覧"
},
{
"key": "admin:ip_allowlist:read",
"description": "IP許可リストの閲覧"
},
{
"key": "admin:ip_allowlist:write",
"description": "IP許可リストの管理"
}
],
"total": 8
}

パーミッション一覧

パーミッション説明
admin:admin_users:readAdminユーザーの閲覧
admin:admin_users:writeAdminユーザーの作成・更新
admin:admin_users:deleteAdminユーザーの削除
admin:admin_roles:readAdminロールの閲覧
admin:admin_roles:writeAdminロールの作成・更新
admin:admin_audit:readAdmin監査ログの閲覧
admin:ip_allowlist:readIP許可リストの閲覧
admin:ip_allowlist:writeIP許可リストの管理
*すべての権限(スーパー管理者のみ)

階層レベル

階層レベルは、ロールの優先度を決定します。高いレベルのロールを持つユーザーのみが、低いレベルのロールを管理できます。

レベル用途
100スーパー管理者(システム予約)
80上位管理者
50一般管理者(デフォルト)
20限定的な管理者
10閲覧専用