GitHub 監査ログのソース設定 - Amazon CloudWatch
注記

重要: このコネクタを使用するには、GitHub Enterprise アカウントが必要です。GitHub 個人用アカウントまたは組織アカウントはサポートされていません。

GitHub 監査ログのソース設定

と GitHub の統合

Amazon Telemetry パイプラインを使用すると、GitHub Enterprise Cloud から監査ログを収集できます。GitHub Enterprise は、最新の開発の複雑なワークフロー用に設計されたエンタープライズグレードのソフトウェア開発プラットフォームです。GitHub Enterprise Cloud は、GitHub Enterprise のクラウドベースのソリューションであり、GitHub のサーバーでホストされています。

GitHub による認証

監査ログを読み込むには、パイプラインが GitHub アカウントで認証される必要があります。エンタープライズスコープでは個人用アクセストークンを使用でき、組織スコープでは個人用アクセストークンまたは GitHub アプリを使用できます。

個人用アクセストークンとして認証するトークンを生成します。

  • GitHub アカウントの認証情報を使用して GitHub にサインインします。

  • このエンドポイントを使用するには、認証されたユーザーがエンタープライズ管理者である必要があります。

  • GitHub の [Personal access tokens (classic)] ページを開き、[Generate new token (classic)] を見つけ、GitHub の手順に従って、スコープが read:audit_log で有効期限のないトークンを生成します。

  • この新しいトークンを、AWS Secrets Manager のキー personal_access_token の下にあるシークレットに保存します。

GitHub アプリとして認証するプライベートキーを生成します。

  • GitHub アカウントの認証情報を使用して GitHub にサインインします。

  • GitHub アプリに「管理」組織のアクセス許可 (読み込み) が付与されていることを確認します。

  • GitHub Apps の秘密キーの管理」の手順に従って、プライベートキーを生成します。

  • このプライベートキーを AWS Secrets Manager のキー private_key の下にあるシークレットに保存し、GitHub アプリ名をキー app_id の下に保存します。

CloudWatch パイプラインの設定

GitHub Enterprise Cloud から監査ログを読み込むようにパイプラインを設定するときは、データソースとして GitHub Audit Logs を選択します。統合のスコープに基づいてソースタイプをエンタープライズまたは組織として選択し、選択したスコープに従ってエンタープライズ名や組織名などの必要な情報を入力します。パイプラインを作成すると、選択した CloudWatch Logs ロググループでデータを使用できます。

サポートされているオープンサイバーセキュリティスキーマフレームワークイベントクラス

この統合では、OCSF スキーマバージョン v1.5.0 と、アカウント変更 (3001)、API アクティビティ(6003)、およびエンティティ管理 (3004) にマッピングする GitHub アクションがサポートされています。

アカウント変更には、次のアクションが含まれます。

  • org.enable_two_factor_requirement

  • org.disable_two_factor_requirement

  • two_factor_authentication.add_factor

  • two_factor_authentication.enabled

  • two_factor_authentication.disabled

  • two_factor_authentication.remove_factor

  • org.disable_saml

  • org.enable_saml

  • personal_access_token.access_restriction_disabled

  • personal_access_token.access_restriction_enabled

  • personal_access_token.expiration_limit_set

  • personal_access_token.expiration_limit_unset

API アクティビティには、次のアクションが含まれます。

  • repository_secret_scanning_custom_pa....create

  • repository_secret_scanning_custom_pa....update

  • repository_secret_scanning_custom_pa....delete

  • repository_secret_scanning_custom_pa....publish

  • repository_secret_scanning_custom_p....enabled

  • repository_secret_scanning_custom_p....disabled

  • repository_secret_scanning_non_provi....enabled

  • repository_secret_scanning_non_provi....disabled

  • repository_secret_scanning_generic_s....enabled

  • repository_secret_scanning_generic_s....disabled

  • business_secret_scanning_custom_pattern.create

  • business_secret_scanning_custom_pattern.update

  • business_secret_scanning_custom_pattern.delete

  • business_secret_scanning_custom_pattern.publish

  • business_secret_scanning_custom_patt....enabled

  • business_secret_scanning_custom_patt....disabled

  • business_secret_scanning_generic_secrets.enabled

  • business_secret_scanning_generic_secrets.disabled

  • business_secret_scanning_non_provide....enabled

  • business_secret_scanning_non_provide....disabled

  • org_secret_scanning_non_provider_patt....enabled

  • org_secret_scanning_non_provider_patt....disabled

  • org_secret_scanning_generic_secrets.enabled

  • org_secret_scanning_generic_secrets.disabled

  • org_secret_scanning_custom_pattern.create

  • org_secret_scanning_custom_pattern.update

  • org_secret_scanning_custom_pattern.delete

  • org_secret_scanning_custom_pattern.publish

エンティティ管理には、次のアクションが含まれます。

  • oauth_application.destroy

  • oauth_application.generate_client_secret

  • oauth_application.remove_client_secret

  • oauth_application.revoke_all_tokens

  • oauth_application.revoke_tokens

  • oauth_application.transfer

  • personal_access_token.auto_approve_grant_requests_enabled

  • personal_access_token.auto_approve_grant_requests_disabled

  • ip_allow_list.disable

  • ip_allow_list.enable_for_installed_apps

  • ip_allow_list.disable_for_installed_apps

  • ip_allow_list_entry.create

  • ip_allow_list_entry.update

  • ip_allow_list_entry.destroy

  • repository_secret_scanning.disable

  • repository_secret_scanning_automatic....disabled

  • repository_secret_scanning_push_prot....disable

  • repository_secret_scanning_push_prot....enable

  • oauth_application.create

  • oauth_application.reset_secret

  • auto_approve_personal_access_token_req....enabled

  • auto_approve_personal_access_token_req....disabled

  • ip_allow_list.enable

  • ip_allow_list.disable_user_level_enforcement

  • ip_allow_list.enable_user_level_enforcement

  • repository_secret_scanning.enable

  • repository_secret_scanning_automatic....enabled

  • repository_secret_scanning_push_prot....enable

  • repository_secret_scanning_push_prot....add

  • repository_secret_scanning_push_prot....remove

  • repository_secret_scanning_push_prot....disable

  • secret_scanning.enable

  • secret_scanning.disable

  • secret_scanning_new_repos.enable

  • org_secret_scanning_automatic_validi....enabled

  • org_secret_scanning_automatic_validi....disabled

  • org_secret_scanning_push_protection_b....add

  • org_secret_scanning_push_protection_b....remove

  • org_secret_scanning_push_protection_b....disable

  • org_secret_scanning_push_protection_b....enable

  • business_secret_scanning_automatic_va....enabled

  • business_secret_scanning_automatic_va....disabled

  • business_secret_scanning_push_protection.enable

  • business_secret_scanning_push_protection.disable

  • business_secret_scanning_push_protection.enabled_for_new_repos

  • business_secret_scanning_push_protection.disabled_for_new_repos

  • business_secret_scanning_push_prote....enable

  • business_secret_scanning_push_prote....update

  • business_secret_scanning_push_prote....disable