# 署名付きコミット

Aikido は以下の対象で署名付きコミットをサポートしています **GitHub**, **GitLab**, **Bitbucket Cloud** と **Bitbucket Data Center** コード変更の真正性を確保するためです。GitHub では設定不要ですが、GitLab と Bitbucket のユーザーは、Aikido が提供する特定の SSH キーを自分のアカウントに追加する必要があります。

## なぜ署名付きコミットを使うのか？

署名付きコミットは暗号学的な保証の層を提供し、コード変更が Aikido に由来し、改ざんされていないことを証明します。これは次のために重要です:

* **本人確認：** そのコミットが実際に認可されたサービスによって作成されたことを保証します。
* **信頼とセキュリティ：** 悪意ある攻撃者が信頼された貢献者になりすます「コミットのなりすまし」を防ぎます。
* **監査対応：** 次のようなセキュリティコンプライアンスフレームワークへの対応に役立ちます **SOC2**, **ISO 27001**、および **HIPAA**.

## セットアップ

### GitHub

**設定は不要です。** GitHub は Aikido 連携経由で作成されたコミットを自動的に認識し、署名します。これらは次の表示で **「Verified」** バッジとして即座にコミット履歴に表示されます。

<figure><img src="https://help.aikido.dev/_assets/4efd8c327796/image-230.png" alt=""><figcaption></figcaption></figure>

### GitLab

GitLab で署名付きコミットを有効にするには、 **Personal Access Token (PAT)** による認証を使用する必要があります。この機能は OAuth では利用できません。

<figure><img src="https://help.aikido.dev/_assets/2d0be1048d51/image-232.png" alt=""><figcaption></figcaption></figure>

**ユーザーに関する重要な注意：** GitLab は署名付きコミットを **実ユーザーアカウント**のみサポートしており、サービスアカウントは対象外です。Aikido で使用する PAT は実ユーザーのものでなければなりません。

設定手順：

1. **設定に移動：** Aikido で [**AutoFix 設定** ページ](https://app.aikido.dev/issues/fix/settings) に移動し、 **承認** （初回設定時）または **Personal Access Token を管理** （トークンがすでに設定されている場合）をクリックします。
2. **PAT を設定：** GitLab のユーザー設定で生成した Personal Access Token を Aikido に入力します。
3. **SSH キーを生成：** クリックします **SSH キーを生成** を Aikido 内で実行し、独自の署名キーを作成します。
4. **GitLab に追加：**
   * Aikido が提供する公開鍵をコピーします。
   * GitLab で **ユーザーアイコン** を右上でクリックし、 **> プロフィールを編集 > SSH Keys > 新しいキーを追加**
   * キーを貼り付け、 **使用タイプ** が **「Authentication & Signing」**.
5. **検証：** Aikido に戻り、 **SSH キーを検証** をクリックして、接続が有効であることを確認します。

<figure><img src="https://help.aikido.dev/_assets/65874a2b529d/image-231.png" alt=""><figcaption></figcaption></figure>

これで `Verified` バッジが Aikido のコミットに表示されます：

<figure><img src="https://help.aikido.dev/_assets/750a13b1c564/image-233.png" alt=""><figcaption></figcaption></figure>

Aikido は各アカウントごとに固有の SSH キーを作成します。この SSH キーは、 `SSH キーを削除` をクリックして新しいキーを作成することで再生成できます。

### Bitbucket Cloud

Bitbucket Cloud での署名付きコミットには [Workspace Access Token を使用した AutoFix](https://help.aikido.dev/docs/docs-ja/autofix-and-remediation/configure/autofix-for-bitbucket-with-workspace-access-token)。SSH キーは実在のユーザーのものである必要があり、コミットのメールアドレスはそのユーザーのワークスペース内で検証済みのメールアドレスでなければなりません。

1. **設定に移動：** Aikido で [**Workspace Access Token を更新** ページ](https://app.aikido.dev/onboarding/bitbucket/update-workspace-access-token) を開き **AutoFix** タブを選択します。
2. **コミットのメールアドレスを設定:** Aikido で、SSH キーの所有者となる Bitbucket ユーザーのメールアドレスを入力します。
3. **SSH キーを生成：** 次の **Advanced** セクションで、 **SSH キーを生成**.

<figure><img src="https://help.aikido.dev/_assets/2e611aa2848c/bitbucket-cloud-ssh-signing-key.png" alt=""><figcaption></figcaption></figure>

4. **Bitbucket に追加:** Aikido が提供する公開鍵をコピーします。Bitbucket で、 **設定** 右上のアイコンをクリックし **> 個人用 Bitbucket 設定**を選択し、次に **セキュリティ > SSH キー > キーを追加** に移動して、キーを貼り付けます。

<figure><img src="https://help.aikido.dev/_assets/39e19baf31de/bitbucket-cloud-personal-settings.png" alt=""><figcaption></figcaption></figure>

これで `Verified` Aikido からのコミットに表示されるバッジ。

### Bitbucket Data Center

1. **AutoFix 設定に移動:** Aikido で [**AutoFix 設定** ページ](https://app.aikido.dev/issues/fix/settings) に移動し、 **Personal Access Token を管理** Bitbucket Data Center 用です。
2. **コミットのメールアドレスを設定:** Aikido で、SSH キーの所有者となる Bitbucket ユーザーのメールアドレスを入力します。
3. **SSH キーを生成：** 次の **Advanced** モーダルのセクションで、クリックします **SSH キーを生成**.

<figure><img src="https://help.aikido.dev/_assets/5bea2ea48125/bitbucket-data-center-ssh-signing-key.png" alt=""><figcaption></figcaption></figure>

4. **Bitbucket に追加:** Aikido が提供する公開鍵をコピーします。Bitbucket Data Center では、 **プロフィール > アカウントを管理 > SSH キー > キーを追加** に移動して、キーを貼り付けます。
