---
title: CI に必要な権限だけを渡す
description: CI に必要な権限だけを渡す。
canonical_url: https://orchestor.io/docs/cli/workflows/ci-setup
markdown_url: https://orchestor.io/docs/cli/workflows/ci-setup.md
contentType: how-to
---

# CI に必要な権限だけを渡す

専用のサービスアカウントと、実行するエンドポイントグループに必要な権限のキーを用意します。サービスアカウントの作成・キー発行には管理権限が必要です。[api-keys リファレンス](https://orchestor.io/docs/cli/api-keys.md)で権限を確認してください。

## 手順

```bash
npm install -g @orchestor-inc/cli@latest
orc --version
orc auth status --json
orc service-accounts create \
  --workspace WORKSPACE_ID \
  --name "CI bot" \
  --scope workspace \
  --json
```

作成結果のサービスアカウント ID を使い、ジョブが呼ぶエンドポイントグループだけを許可します。キーの出力先にはソース管理外の新しいファイルを指定します。

```bash
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
```

CLI はキーを標準出力と標準エラーへ出しません。所有者だけが読める出力ファイルから CI のシークレット機能へ値を登録し、登録後にファイルを安全に削除します。CI ジョブではそのシークレットを `ORCHESTOR_API_KEY` として注入し、`WORKSPACE_ID` をジョブの対象に置き換えます。ブラウザーログインやキーを保存する `init` はジョブで実行しません。

ジョブから次の取得を実行します。`answers` グループの read 権限が必要です。

```bash
orc answers list --workspace WORKSPACE_ID --limit 1 --json
```

バージョン、対象 ID、取得の成否だけを記録し、キーや認証ヘッダーをログへ出さないでください。403 は不足する権限を確認し、管理者キーへの置き換えで回避しません。キーが不要になったら、管理用の CLI 認証へ戻して `orc api-keys delete API_KEY_ID --workspace WORKSPACE_ID --yes` を実行します。

[ワークフロー一覧](https://orchestor.io/docs/cli/workflows.md) · [service-accounts リファレンス](https://orchestor.io/docs/cli/service-accounts.md) · [setup リファレンス](https://orchestor.io/docs/cli/setup.md)

失敗が残る場合は、[失敗を報告して再検証する](https://orchestor.io/docs/cli/workflows/workflow-feedback.md)で、このワークフローと失敗した手順を報告へ添えます。

---

[Documentation index](https://orchestor.io/docs/llms.txt)
