CLI を使い始める

service-accounts

orc service-accounts は、Workspaceに紐付く機械認証の主体を作成し、ロールや状態を参照・更新し、APIキーを発行するコマンドです。サービスアカウントを停止すると既存キーを無効にでき、再び有効にすることもできます。

CLIが管理できるのはWorkspaceに紐付くサービスアカウントだけです。作成・更新・キー発行には project:update 権限が必要です。キー発行前に、ソース管理外の新しい保存先ファイルを用意してください。

使い方

terminal
orc service-accounts list --workspace WORKSPACE_ID --json

サービスアカウントを一覧にします。

サブコマンド

list

ID、ロール、状態、Workspace IDを一覧にします。--limit と --cursor でページを指定します。

terminal
orc service-accounts list [options]

create

名前を指定してWorkspaceスコープのサービスアカウントを作成します。CLIでは --scope workspace のみ対応し、--scope organization は拒否されます。

terminal
orc service-accounts create [options]

固有のオプション

--idempotency-key

Retry identity for operations that support idempotency. Use a unique key for each new operation, and reuse it only when retrying the same HTTP method, path, query values and exact request body. JSON whitespace changes can count as a different body. Keys contain 1–255 characters after trimming and expire after 24 hours. A completed JSON response is replayed without repeating the operation. A different request using the same key returns 409 idempotency_error. An in-progress request returns 409 idempotency_in_progress with Retry-After: 2. Whether this header is required depends on the operation.

型: string。任意。

terminal
orc service-accounts create --idempotency-key <value>
--name

(required) Display name for the service account.

型: string。任意。

terminal
orc service-accounts create --name <value>
--scope

Credential binding scope. Organization scope creates a service account without a Workspace binding.; enum: workspace|organization

型: string。任意。

terminal
orc service-accounts create --scope <value>
--workspace-id

Optional explicit Workspace binding. Omit for the current Workspace; use null with organization scope.; (use "null" or "reset" to clear)

型: string。任意。

terminal
orc service-accounts create --workspace-id <value>

get

サービスアカウントIDを指定して現在の情報を取得します。対象のWorkspaceを選択して実行してください。

terminal
orc service-accounts get <id> [options]

update

名前や状態を更新します。status は active、suspended、deleted です。suspended は既存キーを無効にし、active に戻すと再び利用できます。deleted は恒久的な削除です。

terminal
orc service-accounts update <id> [options]

固有のオプション

--name

Updated display name.

型: string。任意。

terminal
orc service-accounts update <id> --name <value>
--status

active — normal operation.
suspended — all keys disabled, can be reactivated.
deleted — permanent removal, all keys revoked.; enum: active|suspended|deleted

型: string。任意。

terminal
orc service-accounts update <id> --status <value>

keys create

サービスアカウントID、キー名、権限と新しい --output を指定してキーを発行します。キーは一度だけ返り、所有者だけが読めるファイルへ保存されます。既存ファイルは上書きしません。

terminal
orc service-accounts keys create <id> [options]

固有のオプション

--idempotency-key

Retry identity for operations that support idempotency. Use a unique key for each new operation, and reuse it only when retrying the same HTTP method, path, query values and exact request body. JSON whitespace changes can count as a different body. Keys contain 1–255 characters after trimming and expire after 24 hours. A completed JSON response is replayed without repeating the operation. A different request using the same key returns 409 idempotency_error. An in-progress request returns 409 idempotency_in_progress with Retry-After: 2. Whether this header is required depends on the operation.

型: string。任意。

terminal
orc service-accounts keys create <id> --idempotency-key <value>
--name

(required) Required display name for the key.

型: string。任意。

terminal
orc service-accounts keys create <id> --name <value>
--permissions

Endpoint-group permission map. Each key is an endpoint group name,
value is the access level. Unspecified groups default to none.; (JSON object, e.g. '{"custom_id":"x"}')

型: string。任意。

terminal
orc service-accounts keys create <id> --permissions <value>

使用例

Workspaceのサービスアカウントを作成します。

terminal
orc service-accounts create --workspace WORKSPACE_ID --name "CI bot" --scope workspace --json

Workspaceのサービスアカウントを作成します。

サービスアカウントを停止します。

terminal
orc service-accounts update SERVICE_ACCOUNT_ID --workspace WORKSPACE_ID --status suspended --json

サービスアカウントを停止します。

読み取り用のキーを安全なファイルへ保存します。

terminal
orc service-accounts keys create SERVICE_ACCOUNT_ID --workspace WORKSPACE_ID --name "CI read key" --permissions '{"answers":"read"}' --output /secure/path/service-account-key --json

読み取り用のキーを安全なファイルへ保存します。

不要なキーを失効させます。

terminal
orc api-keys delete API_KEY_ID --workspace WORKSPACE_ID --yes --json

不要なキーを失効させます。

発行したキーの管理

キーは標準出力や標準エラーに表示されません。ログ、チャット、Issue、ソースコードに秘密値を貼り付けないでください。通常出力のキーIDと orc api-keys list の service_account_id を使って対象を識別し、不要なキーは orc api-keys delete で失効させます。

グローバルオプション

orc service-accounts では、次のグローバルオプションを使用できます。

各オプションの詳細と使用例は、グローバルオプションを参照してください。