APIアクセスキーの操作 (テクニカルプレビュー)
REST APIを使用して、APIアクセスキーを作成および管理できます。
APIアクセスキーの作成
例:
POST /api/shared_spaces/1001/api_accesses?fields=client_id
Body:
{ "data": [ { "client_secret": "9011@83sd!f1042ds+f19fg86M", "name": "myKey03", "workspace_roles": { "data": [ { "type": "workspace_role", "id": "1028" }, { "type": "workspace_role", "id": "1009" } ] } } ] }
応答:
{ "total_count": 1, "data": [ { "type": "api_access", "id": "1003", "client_id": "myKey03_l2j4391xlw0k2ipwx5ejmdor8", "is_valid": true } ], "exceeds_total_count": false }
client_secret:
APIキーのパスワード。ユーザーが生成して保存する必要があります。
長さ: 10~30文字。
大文字、小文字、数字、および特殊文字 (少なくとも3つのカテゴリー) を含める必要があります。
name:
APIキーclient_idの一部になります (応答を参照)。
workspace_roles:
目的のworkspace_roleを見つけるには、ユーザーはワークスペースごとにクエリを実行できます。
GET /api/shared_spaces/1001/workspace_roles?fields=role&query="(workspace={id=1002})"
応答:
{ "total_count": 11, "data": [ { "type": "workspace_role", "id": "1027", "role": { "type": "role", "id": "1002", "logical_name": "role.workspace.ci_cd_agent.configure", "name": "CI/CD Integration" } }, { "type": "workspace_role", "id": "1028", "role": { "type": "role", "id": "1005", "logical_name": "role.workspace.devops.admin", "name": "DevOps Admin" } }, . . . . { "type": "workspace_role", "id": "1037", "role": { "type": "role", "id": "1007", "logical_name": "role.workspace.admin", "name": "Workspace Admin" } } ], "exceeds_total_count": false }
または、次を送信します。
GET /api/shared_spaces/1001/roles
応答:
{ "total_count": 15, "data": [ { "type": "role", "logical_name": "role.shared.space.admin", "based_on_system": null, "last_modified": "2021-04-28T11:29:44Z", "workspace_id": 1001, "id": "1015", "is_system": true, "name": "Space Admin", "version_stamp": 1, "creation_time": "2021-04-28T11:29:44Z" }, . . . . { "type": "role", "logical_name": "role.workspace.admin", "based_on_system": null, "last_modified": "2021-04-28T11:29:44Z", "workspace_id": 1001, "id": "1007", "is_system": true, "name": "Workspace Admin", "version_stamp": 1, "creation_time": "2021-04-28T11:29:44Z" } ], "exceeds_total_count": false }
次に、ロールとワークスペースでworkspace_rolesをクエリします。
GET /api/shared_spaces/1001/workspace_roles?fields=role&query="(role={id=1007};workspace={id=1003})"
{ "total_count": 1, "data": [ { "type": "workspace_role", "id": "1037", "role": { "type": "role", "id": "1007", "logical_name": "role.workspace.admin", "name": "Workspace Admin" } } ], "exceeds_total_count": false }
共有スペース管理者ロールの場合、ロールのみで検索します。
応答:
{ "total_count": 1, "data": [ { "type": "workspace_role", "id": "1009", "role": { "type": "role", "id": "1015", "logical_name": "role.shared.space.admin", "name": "Space Admin" } } ], "exceeds_total_count": false }
APIアクセスキーの取り消し
例:
PUT /api/shared_spaces/1001/api_accesses/1003
Body:
{ "is_valid": false }
Re-generate API Access key
Example:
PUT /api/shared_spaces/1001/api_accesses/1003?fields=client_id
Body:
{ "is_valid": true, "client_secret": "kj@s$dfS124GDd35" }
Response:
{ "type": "api_access", "id": "1003", "client_id": "myKey03_l2j4391xlw0k2ipwx5ejmdor8", "is_valid": true }
新しいclient_secretが生成され、ユーザーが保存する必要があります。以前のclient_idは保持されます。
参照情報: