コンテンツにスキップ

GitLab Free: MRスキャン設定

1. 専用のGitLabユーザーを作成する

Section titled “1. 専用のGitLabユーザーを作成する”

AikidoSecurity[YourCompany]のような専用ユーザーを作成します。このユーザーはAikido専用として使用してください。

見分けやすくするため、プロフィール画像にはAikidoのロゴを使用してください。

新しく作成したユーザーでログインします。

PreferencesPersonal access tokensに移動します。

新しいトークンを追加します。

  • 名前: 例 Aikido Scans
  • 有効期限: ローテーションポリシーに合わせて有効期限を設定してください
  • スコープ: api

今のうちにトークンをコピーしてください。GitLabは二度と表示しません。

このトークンは手順6でAikidoに貼り付けます。

4. Aikidoユーザーをグループに招待する

Section titled “4. Aikidoユーザーをグループに招待する”

自分自身のGitLabアカウントで再度ログインします。

Groupsに移動します。

有効にしたい各グループを開きます。

ManageMembersInvite membersに移動します。

専用のAikidoユーザーを招待します。

少なくともMaintainer権限を付与してください。

AikidoでIntegrationsページを開きます。次にMR Quality Gatingの下にあるGitLab CIを選択します。

6. Personal Access Tokenを貼り付ける

Section titled “6. Personal Access Tokenを貼り付ける”

手順3で作成したトークンを貼り付けます。

Update tokenをクリックします。

Aikidoがグループへのアクセス権限と必要な権限を検証します。

7. 最初のリポジトリを設定する

Section titled “7. 最初のリポジトリを設定する”

認可後、AikidoはGitLab MR Checksページを開きます。

まずは1つのリポジトリから始めましょう。広くロールアウトする前に、すべて正しく動作することを確認してください。

設定したリポジトリで新しいマージリクエスト(MR)を開きます。

そしてPipelinesタブでチェックが実行されることを確認します。

コメントは専用ユーザーとして表示されるはずです。例: @AikidoSecurity[YourCompany]

9. スキャンの成功を必須にする

Section titled “9. スキャンの成功を必須にする”

スキャンが成功するまでマージをブロックしたい場合は、GitLabでmerge checksを設定します。

GitLabで**[Repository]** → SettingsMerge Requestsに移動します。Pipelines must succeedのチェックを有効にします。

10. すべてのリポジトリで有効化する

Section titled “10. すべてのリポジトリで有効化する”

結果に問題がなければ、GitLab MR Checksページに戻り、残りのリポジトリでもチェックを有効にします。

11. 新規リポジトリのデフォルトを設定する

Section titled “11. 新規リポジトリのデフォルトを設定する”

右上のActionsを開き、Set Default for New Reposを選択して、今後新しく追加されるリポジトリに対する自動設定を有効にします。

UIの手順を確認したい場合は、Default PR/MR gating configuration for new repositoriesを参照してください。

MRコメントから直接Issueをignoreする

Section titled “MRコメントから直接Issueをignoreする ”

Aikidoが検出結果に対してインラインMRコメントを投稿した場合、以下のようにコメントに返信することで、GitLabから直接そのIssueをignoreできます。

@AikidoSecurity[YourCompany] ignore: [your reason to ignore]

例:

@AikidoSecurity[YourCompany] ignore: This secret is used for tests only.

@AikidoSecurity[YourCompany]の部分は、手順1で作成した専用GitLabユーザーのユーザー名に置き換えてください。

これはAikidoプラットフォーム上で手動でIssueをignoreするのと同じ動作を行います。

  • AikidoでそのIssueがignore済みとしてマークされます。
  • ignoreの理由が保存されます。
  • ブロック対象のIssueがすべて解決またはignoreされると、MR gatingがグリーンになります。