# ボット {#bot-overview}

**ボット** は、Shisho Cloud の組織における非人間のプリンシパルです。ユーザーと同様に組織のロールを付与し、組織のリソースに対する操作を行えますが、ユーザーと異なりメールアドレスやパスワードを持たず、人間ではなく自動化された処理から操作されることを前提としています。

## ボットを使う場面 {#when-to-use}

スクリプトや CI/CD パイプライン、その他のサービスから、ブラウザでのサインインを介さずに Shisho Cloud を呼び出したい場合は、ボットを作成しましょう。代表的な利用場面は次のとおりです。

- [Git リポジトリでのルール管理](/docs/ja/g/getting-started/deploy-policies-with-git-repositories/index.md)のように、Git リポジトリと Shisho Cloud の間でワークフロー（検査ルール）をデプロイ・同期する場合
- [Takumi Guard の一括セットアップ](/docs/ja/t/guard/features/admin-deployment/index.md)で、開発者ごとのレジストリトークンを発行する場合
- [shishoctl CLI](/docs/ja/c/accessing-via-shishoctl-cli/index.md) や API を通じて、その他の無人・自動化されたアクセスを Shisho Cloud に対して行う場合

個人アカウントを使い回すのではなくボットを使うことで、自動化からのアクセスを監査可能かつ独立して失効できる状態に保てます。自動化に必要な範囲だけにロールを絞り込み、他の人間のアカウントに影響を与えずに認証情報をローテーション・削除できます。

## ボットと Shisho Cloud の関係 {#how-it-fits}

ボットは、組織設定内の[ボット一覧](https://cloud.shisho.dev/*/settings/bots)ページから、組織単位で作成・管理します。作成したボットは、他の組織プリンシパルと同じように扱えます。

- **ロール**: ユーザーやチームに付与するのと同じ[組織ロール](/docs/ja/c/iam/permission.md#organization-roles)を、1 つ以上ボットに付与できる。自動化に必要な範囲にロールを絞り込むことが望ましい。例えば、Guard のトークン発行だけを行うボットには、最小権限のロールである `organization/takumi_guard_token_issuer` のみを付与する。
- **認証**: ボットはブラウザではなく、機械向けの方法でサインインする。静的な API キーを使う方法と、GitHub Actions・GitLab CI・その他 OIDC Discovery 対応 IdP の OIDC ID トークンを交換する方法がある。それぞれの設定方法は [認証](/docs/ja/c/bot/authentication.md) を参照。

## 次のステップ {#next-steps}

- 認証方法を選び、ボットのサインインを設定する場合は [認証](/docs/ja/c/bot/authentication.md) を参照。
- サインイン後に Shisho Cloud を操作する場合は [shishoctl CLI](/docs/ja/c/accessing-via-shishoctl-cli/index.md) を参照。
- ボットに付与できる組織ロールの一覧を確認する場合は [ロールと権限](/docs/ja/c/iam/permission.md) を参照。
