View a markdown version of this page

AWS セキュリティエージェントを GitLab リポジトリに接続する - AWS セキュリティエージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS セキュリティエージェントを GitLab リポジトリに接続する

AWS セキュリティエージェントを GitLab クラウドリポジトリに接続して、コードレビュー、脅威モデリング、侵入テスト、自動修復機能を有効にします。開始する前に、エージェントスペースとの統合の仕組み「」を参照して、登録がエージェントスペース間でどのように再利用され、機能間でどのように共有されるかを理解してください。

GitLab 統合には複数の目的があります。

  • コードレビュー - 各マージリクエストのコード変更を組織のセキュリティ要件に照らして自動的に分析し、オンデマンドのフルリポジトリスキャンを実行します。

  • 脅威モデリング - ソースコード、データフロー、アーキテクチャを分析してアプリケーションの理解を提供します

  • 侵入テストコンテキスト - ソースコードを分析して、侵入テストに関するアプリケーションの理解を提供します。

  • 自動修復 - セキュリティ評価中に検出された脆弱性の修正を含むマージリクエストを送信する

GitLab を AWS セキュリティエージェントに接続するには、適切なアクセス許可を持つ GitLab アクセストークンを提供し、接続を AWS コンソールに登録する必要があります。

GitLab 統合の仕組み

マージリクエストの分析は GitLab 内で行われます。アクセストークンを提供し、プロジェクトを接続し、AWS マネジメントコンソールでコードレビューコメントを有効にすると、AWS セキュリティエージェントは新しいマージリクエスト (変更されたコードのみの差分スキャン) ごとに変更を自動的にスキャンし、結果をマージリクエストコメントとして投稿します。

GitLab ではなく AWS Security Agent ウェブアプリケーションで、プロジェクト全体のコードベースをスキャンする完全なコードレビューを作成して実行します。

侵入テスト脅威モデリングは、AWS セキュリティエージェントウェブアプリケーション内で開始されます。ユーザーはターゲットドメインを指定し、接続されたリポジトリを選択してアプリケーションコンテキストを提供します。自動修復を有効にすると、ユーザーは接続されたリポジトリへのマージリクエストを開いて、AWS セキュリティエージェントに検出結果の修正をリクエストできます。

注記

脆弱性が修正される前に開示されないように、パブリック GitLab リポジトリでは自動修復を使用できません。

前提条件

開始する前に、以下があることを確認してください。

  • 接続するプロジェクトへのメインテイナーまたは所有者アクセス権を持つ GitLab.com アカウント

  • 接続タイプに必要なスコープを持つ GitLab アクセストークン:

    • Personal - すべての読み取りアクセス許可と api アクセス許可を持つ個人用アクセストークン。

    • グループ - read_apiおよび read_repositoryスコープを持つグループアクセストークン。

  • AWS Security Agent Management Console で統合を設定するアクセス許可

重要

トークンの有効期限を現在の日付から最大 365 日に設定します。

注記

GitLab Personal Access Tokens は、複数の AWS アカウントで使用できます。GitHub と Atlassian の統合とは異なり、同じ GitLab アカウントを複数の AWS セキュリティエージェントインスタンスに接続することに制限はありません。

GitLab 接続を登録する

  1. AWS セキュリティエージェントマネジメントコンソールで、統合に移動します。

  2. [Add integration] (統合の追加) を選択します。

  3. GitLab を選択し、次を選択します。

  4. アカウントタイプの選択で、次のいずれかを選択します。

    • Personal - 個々の GitLab ユーザーアカウントを接続します。

    • Group - 複数のプロジェクトを含む GitLab グループを接続します。グループ ID を入力します。

  5. アクセストークンフィールドに、GitLab アクセストークンを貼り付けます。

  6. 登録名フィールドに、 など、この接続のわかりやすい名前を入力しますEngineering-Team-GitLab。有効な文字は、文字、数字、ピリオド、アンダースコア、ハイフンです。

  7. 接続 を選択します。

    統合ページに戻り、新しい接続が登録名とともに表示されます。

GitLab 統合のトラブルシューティング

GitLab 統合プロセス中に問題が発生した場合は、次のガイダンスを使用して一般的な問題を解決します。

無効または期限切れのトークン

症状

  • 統合が接続に失敗する

  • 以前は機能していた統合が機能しなくなった

  • 認証の失敗を示すエラーメッセージ

解像度

  1. GitLab で、ユーザー設定に移動し、アクセストークンを選択します。

  2. トークンの有効期限が切れていないことを確認します。

  3. トークンのタイプに必要なスコープがあることを確認します。

  4. トークンの有効期限が切れている場合は、新しいトークンを作成し、AWS コンソールで統合を更新します。

レート制限

症状

  • コードレビュー中の断続的な障害

  • 遅延マージリクエスト分析

解像度

  • GitLab は API リクエストにレート制限を適用します。多数のリポジトリや頻繁なマージリクエストがある場合、一部のリクエストはスロットリングされる可能性があります。

  • レート制限ウィンドウがリセットされるまで待つか、GitLab サポートに連絡してレート制限を引き上げてください。

次の手順

GitLab を AWS セキュリティエージェントに接続した後:

  • これらのリポジトリを使用するエージェントスペースに移動します。

  • コードレビューを有効にするまたはペネトレーションテストを設定を選択して、特定のプロジェクトをエージェントスペースに接続し、その使用状況を設定します。

  • コード修復を有効にして、AWS セキュリティエージェントが脆弱性修正を含むマージリクエストを送信できるようにします

  • プライベートにホストされる GitLab インスタンスについては、「」を参照してください。 AWS セキュリティエージェントを GitLab セルフマネージドに接続する