# サービスアカウント

> [!WARNING]
> この機能は、EnterpriseおよびEnterprise Plusプランの一部です。

サービスアカウントは、CI/CD パイプライン、自動化スクリプト、バックエンド統合など、組織のリソースへのプログラムによるアクセス用に設計された、組織が所有するアイデンティティです。個人のメンバーアカウントとは異なり、サービスアカウントは特定の個人に紐付けられていません。組織に属し、その管理者によって管理されます。

サービスアカウントは個人から切り離されているため、組織への参加や退去が起きても自動ワークフローを継続的に実行でき、メンバーの個人トークンに影響を与えることなく、資格情報のスコープ設定やローテーションを行うことができます。

## サービスアカウントの作成

組織管理者として、組織設定の**Service Accounts**セクションに移動して、サービスアカウントの作成と管理を行ってください。

  
  

サービスアカウントを作成する際、以下を指定します。

- サービスアカウントを識別するための**name**。
- サービスアカウントの用途を記録するための任意の**description**。

サービスアカウントにはパスワードがなく、対話的にサインインすることはできません。発行したアクセストークンを通じてのみアクセスします。通常のユーザーとは異なり、HFのプロファイルページを持たず、組織のメンバーリストにも含まれず、**Service Accounts**の設定を通じてのみ管理されます。

## アクセス トークンの管理

サービスアカウントの組織へのアクセスは、発行する細粒度アクセストークンによって完全に定義されます。各トークンに対して名前と細粒度権限のセットを選択できるため、特定のワークフローに必要なアクセスのみを付与できます。

権限は2つのレベルで付与できます:

- **組織全体** — 組織内のすべてのリポジトリに権限（リポジトリ内容の読み取りまたは書き込みアクセスなど）を適用します。
- **リポジトリ単位** — 読み取りまたは書き込みアクセスを特定のリポジトリにのみ適用します。トークンを適用するリポジトリを検索して選択し、付与する権限を選択してください。組織が所有するリポジトリと、サービスアカウントにアクセス権が付与されている組織外のゲート付きリポジトリを選択できます。

これにより、組織全体へのアクセスを付与するのではなく、単一のモデルリポジトリの読み取りのみが可能なトークンなど、スコープを狭く限定したトークンを発行できます。

トークンは、トークンフォームの**Gated repositories**セクションの下で、組織外にある[gated repositories](./models-gated)でも使用できるように設定できます。

- **サービスアカウントがアクセスできるゲーティッドリポジトリの内容を読み取る** — サービスアカウントにアクセス権限が付与された後、ゲーティッドリポジトリを読み取ります。
- **ゲート付きリポジトリへのアクセスをリクエスト** — トークンがサービスアカウントに代わって、ゲート付きリポジトリへのアクセスリクエストを送信できるようにします。

To give a token access to only some of those gated repositories, leave **Read contents of gated repos the service account has access to** unchecked and select them individually under the per-repository permissions instead.

  
  

サービスアカウントのページから、管理者は以下を行うことができます:

- **作成**：選択した名前と細粒度の権限を指定して、新しいアクセストークンを作成します。
- 既存のトークンの名前や権限を**更新**します。
- トークンを**Rotate**すると、新しい値に置き換えられます。以前のトークンは即座に無効になるため、認証情報が漏洩した可能性がある場合に便利です。
- トークンを**削除**すると、そのアクセス権限が恒久的に無効になります。

サービスアカウントトークンは、[「管理者の承認を要求する」](./enterprise-tokens-management#token-policy)トークンポリシーの下では承認を必要としません。作成された時点で、組織のリソースにアクセスできます。

> [!WARNING]
> アクセストークンは、作成時またはローテーション時のみ一度だけ表示されます。安全に保管してください。後から取得することはできません。紛失した場合は、トークンをローテーションして新しい値を生成してください。

### S3認証情報の生成

サービスアカウントトークンは、[S3互換API](./storage-buckets-s3)を通じて、組織の[Storage Buckets](./storage-buckets)にアクセスするために使用できます。ゲートウェイは、サービスアカウントトークンから派生したAWSスタイルのアクセスキーを使用して認証を行います。

1. サービスアカウントのページに移動します。トークンを持っていない場合は、**Create new token** ボタンで[トークンを作成](#managing-access-tokens)します。トークンの権限が S3 認証情報の権限になります。
2. リストからトークンを見つけ、そのドロップダウンメニューを開いて、**Generate S3 credentials**を選択します。

   
   
   
   

3. 生成された**アクセスキーID**（`HFAK…`で始まるもの）と**シークレットアクセスキー**を安全な場所にコピーしてください。シークレットは一度のみ表示されます。紛失した場合は、**S3認証情報の無効化と更新**を使用して新しいペアを生成してください。以前のアクセスキーは即座に無効になります。

S3の認証情報は、基盤となるアクセストークンの権限を継承します。使用する予定のバケットにのみトークンのスコープを限定してください。

**S3 認証情報の失効**を使用すると、トークンを削除せずにペアを無効化できます。トークン（またはサービスアカウント）を削除すると、その S3 認証情報も失効します。サービスアカウントのページには、各トークンと現在ペアリングされているアクセスキー ID が表示されます。

エンドポイント URL の `<namespace>` には、組織名を使用します（[クライアントの構成](./storage-buckets-s3#configuring-a-client)を参照）。S3 認証情報の生成と失効は、組織の [監査ログ](./audit-logs) に記録されます。

トークンに[Network Security exemption](#network-security-exemption)が有効化されている場合、そのS3認証情報を生成できるのは組織の管理者のみです。

### ネットワークセキュリティの免除

> [!WARNING]
> このオプションは、Enterprise Plus プランの一部です。

組織で[Network Security](./enterprise-network-security)設定を使用している場合、サービスアカウントのトークンは他の認証情報と同様にその設定の対象となります。つまり、組織のIP範囲からのみ機能し、Content Access Policyがトークンが到達できる範囲に適用されます。

一部の自動化ワークフローは、企業のネットワーク外で実行されます。例えば、クラウドプロバイダーがホストするCIジョブなどが該当します。そのような場合、トークンフォームの**IP制限とコンテンツアクセスポリシーをバイパスする**オプションを使用して、個々のトークンを組織のNetwork Security強制から除外できます。

有効化された場合:

- トークンは、**組織へのアクセスを IP 範囲にのみ制限する** が有効な場合でも、どの IP アドレスからでも機能します。
- このトークンは、組織のコンテンツアクセスポリシーによって通常ブロックされるコンテンツにアクセスできます。
- この免除は、ご自身の組織のネットワークセキュリティ設定にのみ適用されます。他の組織のポリシーをバイパスすることはありません。
- サービスアカウントのページには、トークンに**IP制限なし**のバッジが表示されます。
- トークンを回転しても、免除は維持されます。

免除を有効にする、または既に免除されているトークンをローテーションできるのは、組織の管理者のみです。

免責トークンはネットワークの境界線によって保護されなくなるため、そのトークン自体が、アクセス可能なリソースを守る唯一の認証情報となります。そのため、対象を可能な限り最小限のリポジトリに限定し、読み取り専用権限で十分な場合はそのように設定し、定期的にローテーションすることをお勧めします。

## 請求

サービスアカウントは組織の有料メンバーとしてカウントされないため、作成してもプランの有料シートを消費しません。

