さくらのクラウドIAM API (1.0.0)

Download OpenAPI specification:Download

さくらのクラウドIAMのAPIドキュメントです

認証

認証に関する機能

組織のパスワードポリシーを取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "min_length": 8,
  • "require_uppercase": false,
  • "require_lowercase": false,
  • "require_symbols": false
}

組織のパスワードポリシーを更新する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "min_length": 8,
  • "require_uppercase": false,
  • "require_lowercase": false,
  • "require_symbols": false
}

組織の認証条件を取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
Example
{
  • "ip_restriction": {
    },
  • "require_two_factor_auth": {
    },
  • "datetime_restriction": {
    }
}

組織の認証条件を更新する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
required
object or object

認証を許可するIPサブネットワーク (デフォルトはすべて許可)

required
object
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "ip_restriction": {
    },
  • "require_two_factor_auth": {
    },
  • "datetime_restriction": {
    }
}

Response samples

Content type
application/json
{
  • "ip_restriction": {
    },
  • "require_two_factor_auth": {
    },
  • "datetime_restriction": {
    }
}

ユーザ

ユーザに関する機能

ユーザ一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
ordering
string
Enum: "code" "-code"

並び替えキー

  • code - ユーザコード昇順
  • -code - ユーザコード降順

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "count": 100,
}

ユーザを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
name
required
string

ユーザの名前

password
required
string

ユーザのパスワード 英数字とASCII標準文字における記号 !"#$%&'()*+,-./:;<=>?@[]^_`{|}~ のみ受け付ける 英字と数字を必ず含める必要がある

code
required
string

ユーザコード

description
required
string
email
string <email>

SSOプロファイル有効時に外部IdPのログインで利用するメールアドレス

Responses

Request samples

Content type
application/json
{
  • "name": "ユーザの名前",
  • "password": "********",
  • "code": "user_code",
  • "description": "ユーザの説明",
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "member": {
    },
  • "name": "ユーザの名前",
  • "code": "user_code",
  • "status": "available",
  • "description": "ユーザの説明",
  • "otp": {
    },
  • "is_security_key_registered": true,
  • "email": "user@example.com",
  • "is_passwordless": false,
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したユーザを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "member": {
    },
  • "name": "ユーザの名前",
  • "code": "user_code",
  • "status": "available",
  • "description": "ユーザの説明",
  • "otp": {
    },
  • "is_security_key_registered": true,
  • "email": "user@example.com",
  • "is_passwordless": false,
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したユーザを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Request Body schema: application/json
name
required
string
password
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "ユーザの名前",
  • "password": "********",
  • "description": "ユーザの説明"
}

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "member": {
    },
  • "name": "ユーザの名前",
  • "code": "user_code",
  • "status": "available",
  • "description": "ユーザの説明",
  • "otp": {
    },
  • "is_security_key_registered": true,
  • "email": "user@example.com",
  • "is_passwordless": false,
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したユーザを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザにメールアドレスを登録する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Request Body schema: application/json
email
required
string

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザのメールアドレスを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザ2要素認証

ユーザの2要素認証に関する機能

ユーザのOTPを無効化する

指定したユーザのワンタイムパスワード認証を無効化します。

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザの信頼済みデバイス一覧を取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{}

ユーザの信頼済みデバイスを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

trusted_device_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザの全信頼済みデバイスを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

ユーザのセキュリティキー一覧を取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

Responses

Response samples

Content type
application/json
{}

ユーザのセキュリティキーを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

security_key_id
required
integer

セキュリティキーID

Responses

Response samples

Content type
application/json
Example
{
  • "id": 1,
  • "name": "",
  • "sign_count": 0,
  • "aaguid": "00000000-0000-0000-0000-000000000000",
  • "registered_at": "2025-08-27T10:00:00.123456+09:00",
  • "last_used_at": null
}

ユーザのセキュリティキーを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

security_key_id
required
integer

セキュリティキーID

Request Body schema: application/json
name
required
string

セキュリティキー名

Responses

Request samples

Content type
application/json
{
  • "name": "ユーザが任意に設定する名前"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "ユーザが任意に設定する名前",
  • "sign_count": 0,
  • "aaguid": "a25342c0-3cdc-4414-8e46-f4807fca511c",
  • "registered_at": "2019-08-24T14:15:22Z",
  • "last_used_at": "2019-08-24T14:15:22Z"
}

ユーザのセキュリティキーを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
user_id
required
integer

ユーザID

security_key_id
required
integer

セキュリティキーID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

グループ

グループに関する機能

グループ一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
ordering
string
Enum: "name" "-name"

並び替えキー

  • name - グループ名昇順
  • -name - グループ名降順
compat_user_id
integer
Example: compat_user_id=111111111111

所属するユーザIDでの絞り込み

Responses

Response samples

Content type
application/json
{}

グループを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
name
required
string

グループの名前

description
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "マイグループ",
  • "description": "グループの説明"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "グループの名前",
  • "description": "グループの説明",
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したグループを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
group_id
required
integer

グループID

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "グループの名前",
  • "description": "グループの説明",
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したグループを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
group_id
required
integer

グループID

Request Body schema: application/json
name
required
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "グループの名前",
  • "description": "グループの説明"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "グループの名前",
  • "description": "グループの説明",
  • "created_at": "2024-05-02T16:32:23Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したグループを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
group_id
required
integer

グループID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

グループの所属情報を取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
group_id
required
integer

グループID

Responses

Response samples

Content type
application/json
{
  • "compat_users": [
    ]
}

グループの所属情報を更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
group_id
required
integer

グループID

Request Body schema: application/json

グループの所属情報

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "compat_users": [
    ]
}

Response samples

Content type
application/json
{
  • "compat_users": [
    ]
}

IAMロール

IAMロールに関する機能

IAMロール一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer

Responses

Response samples

Content type
application/json
{}

指定したIAMロールを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
iam_role_id
required
string

IAMロールID

Responses

Response samples

Content type
application/json
{
  • "id": "viewer",
  • "name": "管理者",
  • "description": "管理者権限のIAMロール",
  • "category": "apprun"
}

IDロール

IDロールに関する機能

IDロール一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer

Responses

Response samples

Content type
application/json
{}

指定したIDロールを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
id_role_id
required
string

IDロールID

Responses

Response samples

Content type
application/json
{
  • "id": "identity-admin",
  • "name": "ID管理者",
  • "description": "管理者権限のIDロール"
}

プロジェクト

プロジェクトに関する機能

プロジェクト一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
ordering
string
Enum: "code" "-code"

並び替えキー

  • code - プロジェクトコード昇順
  • -code - プロジェクトコード降順
iam_role
string
Example: iam_role=resource-creator,billing-viewer

IAMロールでの絞り込み。カンマ区切りで複数指定可能

parent_folder_id
integer
Example: parent_folder_id=1

親のフォルダIDでの絞り込み。

Responses

Response samples

Content type
application/json
{}

プロジェクトを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
code
required
string

プロジェクトコード

parent_folder_id
integer

プロジェクトのフォルダID

name
required
string

プロジェクトの名前

description
required
string

プロジェクトの説明

Responses

Request samples

Content type
application/json
{
  • "code": "my-sakura-project-code",
  • "parent_folder_id": 112000000000,
  • "name": "My Sakura Project",
  • "description": "My Sakura Project details"
}

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "code": "my-sakura-project-code",
  • "name": "My Sakura Project",
  • "description": "My Sakura Project description",
  • "status": "available",
  • "parent_folder_id": 1,
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

プロジェクトを一括で移動する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
project_ids
required
Array of integers

移動するプロジェクトID

parent_folder_id
required
integer or null

移動先のフォルダID

Responses

Request samples

Content type
application/json
{
  • "project_ids": [
    ],
  • "parent_folder_id": 1
}

Response samples

Content type
application/json
Example
{
  • "type": "about:blank",
  • "status": 400,
  • "title": "project_not_found",
  • "detail": "指定されたプロジェクトが見つかりません。",
  • "errors": { }
}

指定したプロジェクトを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
project_id
required
integer

プロジェクトID

Responses

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "code": "my-sakura-project-code",
  • "name": "My Sakura Project",
  • "description": "My Sakura Project description",
  • "status": "available",
  • "parent_folder_id": 1,
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したプロジェクトを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
project_id
required
integer

プロジェクトID

Request Body schema: application/json
name
required
string

プロジェクトの名前

description
required
string

プロジェクトの説明

Responses

Request samples

Content type
application/json
{
  • "name": "My Sakura Project",
  • "description": "My Sakura Project details"
}

Response samples

Content type
application/json
{
  • "id": 111111111111,
  • "code": "my-sakura-project-code",
  • "name": "My Sakura Project",
  • "description": "My Sakura Project description",
  • "status": "available",
  • "parent_folder_id": 1,
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T16:32:23Z"
}

指定したプロジェクトを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
project_id
required
integer

プロジェクトID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

フォルダ

フォルダに関する機能

フォルダを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
name
required
string

フォルダ名

description
string

フォルダの説明

parent_id
integer or null
Default: null

親フォルダID

Responses

Request samples

Content type
application/json
{
  • "name": "本番環境用",
  • "description": "My Sakura Folder description",
  • "parent_id": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "フォルダ名",
  • "parent_id": 1,
  • "description": "My Sakura Folder description",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

フォルダ一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
folder_name
string
Example: folder_name=フォルダ名

フォルダ名での絞り込み。

parent_id
integer
Example: parent_id=1

親のフォルダIDでの絞り込み。

Responses

Response samples

Content type
application/json
{}

特定のフォルダの情報を更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
folder_id
required
integer

フォルダID

Request Body schema: application/json
name
required
string

フォルダ名

description
string

フォルダの説明

Responses

Request samples

Content type
application/json
{
  • "name": "フォルダ名",
  • "description": "My Sakura Folder description"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "フォルダ名",
  • "parent_id": 1,
  • "description": "My Sakura Folder description",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

フォルダを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
folder_id
required
integer

フォルダID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 400,
  • "title": "exist_dependency_folders_or_projects",
  • "detail": "下の階層にフォルダまたはプロジェクトがあります。",
  • "errors": { }
}

特定のフォルダの情報を取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
folder_id
required
integer

フォルダID

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "フォルダ名",
  • "parent_id": 1,
  • "description": "My Sakura Folder description",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

フォルダを移動する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
folder_ids
required
Array of integers

移動するフォルダID

parent_id
required
integer or null

移動先のフォルダID

Responses

Request samples

Content type
application/json
{
  • "folder_ids": [
    ],
  • "parent_id": 1
}

Response samples

Content type
application/json
Example
{
  • "type": "about:blank",
  • "status": 400,
  • "title": "folder_not_found",
  • "detail": "指定されたフォルダが見つかりません",
  • "errors": { }
}

IAMポリシー

IAMポリシーに関する機能

プロジェクトIAMポリシーを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
project_id
required
integer

プロジェクトID

Responses

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

プロジェクトIAMポリシーを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
project_id
required
integer

プロジェクトID

Request Body schema: application/json

プロジェクトIAMポリシーの情報を含んだJSON

required
Array of objects (IamPolicy)

Responses

Request samples

Content type
application/json
{
  • "bindings": [
    ]
}

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

フォルダIAMポリシーを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
folder_id
required
integer

フォルダID

Responses

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

フォルダIAMポリシーを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
folder_id
required
integer

フォルダID

Request Body schema: application/json

フォルダIAMポリシーの情報を含んだJSON

required
Array of objects (IamPolicy)

Responses

Request samples

Content type
application/json
{
  • "bindings": [
    ]
}

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

組織IAMポリシーを取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

組織IAMポリシーを更新する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json

組織IAMポリシーの情報を含んだJSON

required
Array of objects (IamPolicy)

Responses

Request samples

Content type
application/json
{
  • "bindings": [
    ]
}

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

IDポリシー

IDポリシーに関する機能

組織IDポリシーを取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

組織IDポリシーを更新する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json

組織IDポリシーの情報を含んだJSON

required
Array of objects (IdPolicy)

Responses

Request samples

Content type
application/json
{
  • "bindings": [
    ]
}

Response samples

Content type
application/json
{
  • "bindings": [
    ]
}

サービスプリンシパル

サービスプリンシパルに関する機能

サービスプリンシパル一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
project_id
integer

プロジェクトID

ordering
string
Enum: "name" "-name"

並び替えキー

  • name - サービスプリンシパル名昇順
  • -name - サービスプリンシパル名降順

Responses

Response samples

Content type
application/json
{}

サービスプリンシパルを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json

サービスプリンシパルの情報

project_id
required
integer

プロジェクトID

name
required
string

サービスプリンシパル名

description
required
string

サービスプリンシパルの説明

Responses

Request samples

Content type
application/json
{
  • "project_id": 1,
  • "name": "Sakura Service Principal",
  • "description": "サービスプリンシパルの説明"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura Service Principal",
  • "description": "サービスプリンシパルの説明",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

指定したサービスプリンシパルを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura Service Principal",
  • "description": "サービスプリンシパルの説明",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

指定したサービスプリンシパルを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

Request Body schema: application/json
name
required
string

サービスプリンシパル名

description
string

サービスプリンシパルの説明

Responses

Request samples

Content type
application/json
{
  • "name": "Sakura Service Principal",
  • "description": "サービスプリンシパルの説明"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura Service Principal",
  • "description": "サービスプリンシパルの説明",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

指定したサービスプリンシパルを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

RFC 7523 (JWT Bearer Token Grant) に基づき、署名済みJWTを使って一時的なサービスプリンシパルトークンを取得する

登録済みサービスプリンシパルキーの秘密鍵を使い、以下のようなJWTを署名してください。

JWTのヘッダー

{
  "alg": "RS256",
  "kid": "$SERVICE_PRINCIPAL_KEY_KID",
  "typ": "JWT"
}

JWTのペイロード

{
  "aud": "https://secure.sakura.ad.jp/cloud/api/iam/1.0/service-principals/oauth2/token",
  "exp": 現在のUnix time + 5,
  "iat": 現在のUnix time,
  "iss": "$SERVICE_PRINCIPAL_RESOURCE_ID",
  "sub": "$SERVICE_PRINCIPAL_RESOURCE_ID"
}
Authorizations:
CompatAccessTokenAuth
Request Body schema: application/x-www-form-urlencoded
grant_type
required
string
Value: "urn:ietf:params:oauth:grant-type:jwt-bearer"

固定値 JWT Bearer Grant Type

assertion
required
string

サービスプリンシパルキーで署名されたJWT

Responses

Response samples

Content type
application/json
{
  • "access_token": "abcdefghijklmnopqrstuvwxyz0123456789-._~+/ABCDEFGHIJKLMN",
  • "token_type": "Bearer",
  • "token_expired_at": "2021-01-01T00:00:01+09:00",
  • "expires_in": 3600
}

サービスプリンシパルキー一覧を取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

query Parameters
page
integer
per_page
integer
ordering
string
Enum: "created_at" "-created_at" "key_expires_at" "-key_expires_at"

並び替えキー

  • created_at - 作成日時昇順
  • -created_at - 作成日時降順
  • key_expires_at - 有効期限昇順
  • -key_expires_at - 有効期限降順

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "count": 100,
}

ユーザ生成の鍵をサービスプリンシパルキーとして登録する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

Request Body schema: application/json
public_key
required
string (ServiceprincipalKeyPublicKey)

PEM形式の公開鍵文字列 RSA鍵のみをサポート 鍵長は2048ビット以上かつ4096ビット以下をサポート

Responses

Request samples

Content type
application/json
{
  • "public_key": "BEGIN PUBLIC KEY\\n...\\nEND PUBLIC KEY"
}

Response samples

Content type
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "kid": "1234567890abcdef1234567890abcdef12345678",
  • "status": "enabled",
  • "key_origin": "user",
  • "public_key": "BEGIN PUBLIC KEY\\n...\\nEND PUBLIC KEY",
  • "created_at": "2024-05-01T14:30:00Z",
  • "expired_at": "2024-05-01T14:30:00Z"
}

指定したサービスプリンシパルキーを有効化する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

service_principal_key_id
required
string <uuid>

サービスプリンシパルキーID

Responses

Response samples

Content type
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "kid": "key-id-123456",
  • "status": "enabled",
  • "key_origin": "user",
  • "public_key": "BEGIN PUBLIC KEY\\n...\\nEND PUBLIC KEY",
  • "created_at": "2023-10-01T00:00:00Z",
  • "expired_at": "2024-10-01T00:00:00Z"
}

指定したサービスプリンシパルキーを無効化する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

service_principal_key_id
required
string <uuid>

サービスプリンシパルキーID

Responses

Response samples

Content type
application/json
{
  • "id": "00000000-0000-0000-0000-000000000000",
  • "kid": "key-id-123456",
  • "status": "disabled",
  • "key_origin": "user",
  • "public_key": "BEGIN PUBLIC KEY\\n...\\nEND PUBLIC KEY",
  • "created_at": "2023-10-01T00:00:00Z",
  • "expired_at": "2024-10-01T00:00:00Z"
}

指定したサービスプリンシパルキーを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
service_principal_id
required
integer

サービスプリンシパルID

service_principal_key_id
required
string <uuid>

サービスプリンシパルキーID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

プロジェクトAPIキー

クラウドAPIにアクセスするためのAPIキーに関する機能

APIキー一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
ordering
string
Enum: "name" "-name"

並び替えキー

  • name - APIキー名昇順
  • -name - APIキー名降順

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "count": 100,
}

APIキーを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json

APIキーの情報

project_id
required
integer

プロジェクトID

name
required
string

APIキー名

description
required
string

APIキーの説明

server_resource_id
string

APIキーがシングルサーバコントロールパネルで利用される場合は必須

iam_roles
required
Array of strings

IAMのロール。

zone_id
string

ゾーンを指定。APIキーがシングルサーバコントロールパネルで利用される場合は必須。

Responses

Request samples

Content type
application/json
{
  • "project_id": 1,
  • "name": "Sakura API Key",
  • "description": "APIキーの説明",
  • "server_resource_id": "123456789123",
  • "iam_roles": [
    ],
  • "zone_id": "is1a"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura API Key",
  • "description": "APIキーの説明",
  • "access_token": "********",
  • "server_resource_id": "123456789123",
  • "iam_roles": [
    ],
  • "zone_id": "is1a",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z",
  • "access_token_secret": "********"
}

指定したAPIキーを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
apikey_id
required
integer

APIキーID

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura API Key",
  • "description": "APIキーの説明",
  • "access_token": "********",
  • "server_resource_id": "123456789123",
  • "iam_roles": [
    ],
  • "zone_id": "is1a",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

指定したAPIキーを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
apikey_id
required
integer

APIキーID

Request Body schema: application/json
name
required
string

APIキー名

description
required
string

APIキーの説明

server_resource_id
string

APIキーがシングルサーバコントロールパネルで利用される場合のみ変更可能。

iam_roles
required
Array of strings

IAMのロール。

zone_id
string

ゾーンを指定。APIキーがシングルサーバコントロールパネルで利用される場合のみ変更可能。

Responses

Request samples

Content type
application/json
{
  • "name": "Sakura API Key",
  • "description": "APIキーの説明",
  • "server_resource_id": "123456789123",
  • "iam_roles": [
    ],
  • "zone_id": "is1a"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "project_id": 1,
  • "name": "Sakura API Key",
  • "description": "APIキーの説明",
  • "access_token": "********",
  • "server_resource_id": "123456789123",
  • "iam_roles": [
    ],
  • "zone_id": "is1a",
  • "created_at": "2024-05-01T14:30:00Z",
  • "updated_at": "2024-05-02T14:30:00Z"
}

指定したAPIキーを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
apikey_id
required
integer

APIキーID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

SSO連携

SSO連携に関する機能

SSOプロファイル一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer

Responses

Response samples

Content type
application/json
{}

SSOプロファイルを作成する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json

IdPの情報

name
required
string

SSOプロファイル名

description
required
string

SSOプロファイルの説明

idp_entity_id
required
string

IdPのエンティティID

idp_login_url
required
string

IdPのログインURL

idp_logout_url
required
string

IdPのログアウトURL

idp_certificate
required
string

IdPのX.509証明書

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

指定したSSOプロファイルを取得する

Authorizations:
CompatAccessTokenAuth
path Parameters
sso_profile_id
required
integer

SSOプロファイルID

Responses

Response samples

Content type
application/json
{}

指定したSSOプロファイルを更新する

Authorizations:
CompatAccessTokenAuth
path Parameters
sso_profile_id
required
integer

SSOプロファイルID

Request Body schema: application/json
name
required
string

SSOプロファイル名

description
required
string

SSOプロファイルの説明

idp_entity_id
required
string

IdPのエンティティID

idp_login_url
required
string

IdPのログインURL

idp_logout_url
required
string

IdPのログアウトURL

idp_certificate
required
string

IdPのX.509証明書

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

指定したSSOプロファイルを削除する

Authorizations:
CompatAccessTokenAuth
path Parameters
sso_profile_id
required
integer

SSOプロファイルID

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

指定したSSOプロファイルを割り当てる

割当を行うと会員配下のクラウドユーザすべてで該当SSOプロファイルが有効になります。

Authorizations:
CompatAccessTokenAuth
path Parameters
sso_profile_id
required
integer

SSOプロファイルID

Responses

Response samples

Content type
application/json
{}

指定したSSOプロファイルの割り当てを外す

Authorizations:
CompatAccessTokenAuth
path Parameters
sso_profile_id
required
integer

SSOプロファイルID

Responses

Response samples

Content type
application/json
{}

組織

IAM APIの組織に関する機能

組織を取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "id": 123456789123,
  • "name": "組織名"
}

組織を更新する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
name
required
string

組織名

Responses

Request samples

Content type
application/json
{
  • "name": "組織名"
}

Response samples

Content type
application/json
{
  • "id": 123456789123,
  • "name": "組織名"
}

組織のサービスポリシーを更新する

組織のサービスポリシーを構成するルールの設定値を更新するエンドポイント。設定を更新するルールをリクエストボディで指定する

Authorizations:
CompatAccessTokenAuth
Request Body schema: application/json
required
Array of objects (Rule)

Responses

Request samples

Content type
application/json
Example
{
  • "rules": [
    ]
}

Response samples

Content type
application/json
{
  • "rules": [
    ]
}

組織のサービスポリシーを構成するルールを取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
is_active
boolean

有効かどうか

is_dry_run
boolean

ドライランかどうか

name
string

ルール名

code
string

ルールのコード

type
string
Enum: "bool" "list"

ルールのタイプ

Responses

Response samples

Content type
application/json
Example
{
  • "rules": [
    ]
}

サービスポリシー

サービスポリシーに関する機能

サービスポリシーを有効化する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

サービスポリシーを無効化する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "type": "about:blank",
  • "status": 401,
  • "title": "authentication_failed",
  • "detail": "認証情報が含まれていません。"
}

サービスポリシーの有効状態を取得する

Authorizations:
CompatAccessTokenAuth

Responses

Response samples

Content type
application/json
{
  • "enabled": true
}

ルールテンプレートの一覧を取得する

Authorizations:
CompatAccessTokenAuth
query Parameters
page
integer
per_page
integer
name
string

ルールテンプレート名

code
string

ルールテンプレートのコード

type
string
Enum: "boolean" "list"

ルールテンプレートのタイプ

Responses

Response samples

Content type
application/json
{}