View a markdown version of this page

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

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

AWS セキュリティエージェントを GitHub Enterprise Server に接続する

AWS セキュリティエージェントを GitHub Enterprise Server (GHES) インスタンスに接続して、独自のインフラストラクチャでホストされているリポジトリのコードレビュー、脅威モデリング、侵入テスト、自動修復機能を有効にします。

GitHub Enterprise Server 統合は、クラウドホスト GitHub と同じ機能 (「AWS セキュリティエージェントを GitHub リポジトリに接続する」を参照) と、セルフホストインスタンスへのネットワーク接続のための追加設定を提供します。開始する前に、エージェントスペースとの統合の仕組み「」を参照して、登録がエージェントスペース間でどのように再利用され、機能間でどのように共有されるかを理解してください。

注記

GitHub Enterprise Server は、別の統合タイプではなく、GitHub 統合を通じて登録されます。登録フローでは、インスタンスタイプとして GitHub Enterprise Server を選択します。クラウドでホストされる GitHub.com フローについては、「」を参照してくださいAWS セキュリティエージェントを GitHub リポジトリに接続する

GitHub Enterprise Server 統合の仕組み

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

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

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

前提条件

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

  • 次のいずれかの GitHub Enterprise Server インスタンス。

  • GHES インスタンスでのサイト管理者または組織の管理者アクセス

  • GHES インスタンスは、最小 TLS バージョン 1.2 の HTTPS トラフィックを提供する必要があります

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

注記

GitHub Enterprise Server の統合は、複数の AWS アカウントで使用できます。

GitHub Enterprise Server 接続を登録する

GitHub Enterprise Server 接続を登録するには、OAuth ベースの認可フローを使用します。

重要

ブラウザを閉じたり、移動したりせずに、このプロセスのすべてのステップを完了します。登録プロセスが中断された場合は、最初から再起動する必要がある場合があります。

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

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

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

  4. インスタンスタイプで、GitHub Enterprise Server を選択します。

  5. GitHub Enterprise Server URL フィールドに、 などのインスタンスの HTTPS URL を入力しますhttps://github.example.com

  6. インスタンスがパブリックにアクセスできない場合は、プライベート接続を使用してエンドポイントに接続を選択し、既存のプライベート接続を選択するか、新しいプライベート接続を作成します。「プライベートにホストされたソースコントロールに接続する」を参照してください。

  7. 登録の詳細セクションで、次のフィールドを設定します。

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

    2. GitHub アカウントタイプ - Organization または User を選択します。

    3. Organization name (Organization を選択した場合のみ表示されます) - GitHub Enterprise Server 組織の正確な名前を入力します。名前では、大文字と小文字が区別されます。

  8. 接続 を選択します。

    注記

    AWS セキュリティエージェントは、コンソールからリダイレクトして、GitHub Enterprise Server インスタンスで認可を完了します。認可が完了したら、コンソールに戻り、新しい接続が統合ページに表示されます。

プライベート接続

GitHub Enterprise Server インスタンスがパブリックにアクセスできない場合は、統合を登録する前にプライベート接続を作成する必要があります。詳細な手順プライベートにホストされたソースコントロールに接続するについては、「」を参照してください。

重要

サービスマネージドプライベート接続では、エージェントスペースが作成されたのと同じ AWS アカウントで GHES インスタンスを実行する必要があります。クロスアカウントアクセスの場合は、セルフマネージドプライベート接続を使用します。

注記

GHES インスタンスがプライベート認証機関によって発行された TLS 証明書を使用している場合は、プライベート接続の作成時に証明書の PEM エンコードされたパブリックキーを指定します。

GitHub Enterprise Server 統合のトラブルシューティング

AWS セキュリティエージェントの GitHub Enterprise Server への接続で問題が発生した場合は、次のガイダンスに従って一般的な問題を診断して解決します。

OAuth リダイレクトの失敗

症状

  • ブラウザリダイレクトが認可フロー中に失敗する

  • GHES で を承認した後に表示されるエラーページ

解像度

  • ブラウザから GHES インスタンスにアクセスできることを確認します。

  • OAuth コールバック URL が正しく設定されていることを確認します。

  • 統合プロセスを最初から再起動する

インスタンスに到達できません

症状

  • 接続がタイムアウトまたはネットワークエラーで失敗する

解像度

  • GHES インスタンスが実行中でアクセス可能であることを確認する

  • プライベート接続を使用している場合は、VPC Lattice 接続を確認します。

  • セキュリティグループが設定されたポートでトラフィックを許可していることを確認する

  • TLS 証明書が有効であることを確認する (TLS 1.2 以上)

次の手順

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

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

  • 特定のリポジトリを接続するには、コードレビューを有効にするまたはペネトレーションテストを設定するを選択します。

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