Configuration de la source pour le journal GitHub d'audit - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de la source pour le journal GitHub d'audit

Note

Important : les comptes GitHub d'entreprise sont nécessaires pour utiliser ce connecteur. GitHub Les comptes personnels ou professionnels ne sont pas pris en charge.

Intégration avec GitHub

Amazon Telemetry Pipelines vous permet de collecter des journaux d'audit depuis GitHub Enterprise Cloud. GitHub Enterprise est une plateforme de développement de logiciels d'entreprise conçue pour les flux de travail complexes du développement moderne. GitHub Enterprise Cloud est la solution cloud d' GitHub Enterprise, hébergée sur GitHub ses serveurs.

Authentification avec GitHub

Pour lire les journaux d'audit, le pipeline doit s'authentifier auprès de votre GitHub compte. Dans le cadre de l'entreprise, vous pouvez utiliser un jeton d'accès personnel et dans le cadre de l'organisation, vous pouvez utiliser un jeton d'accès personnel ou une GitHub application.

Générez le jeton pour vous authentifier en tant que jeton d'accès personnel :

  • Connectez-vous à GitHub l'aide des informations d'identification du GitHub compte

  • L'utilisateur authentifié doit être un administrateur d'entreprise pour utiliser ce point de terminaison

  • Ouvrez la page Jetons d'accès GitHub personnels (classique), recherchez la page Générer un nouveau jeton (classique), puis suivez la GitHub procédure pour générer un jeton avec une read:audit_log portée et sans expiration

  • Stockez ce nouveau jeton dans un endroit secret situé AWS Secrets Manager sous la clé personal_access_token

Générez la clé privée pour vous authentifier en tant qu' GitHub application :

  • Connectez-vous à GitHub l'aide des informations d'identification du GitHub compte

  • Assurez-vous que l' GitHub application dispose des autorisations (de lecture) « Administration » de l'organisation

  • Suivez les instructions de la section Gestion des clés privées pour les GitHub applications et générez la clé privée

  • Stockez cette clé privée dans un secret AWS Secrets Manager sous la clé private_key et le nom de l' GitHub application sous la clé app_id

Configuration du CloudWatch pipeline

Lorsque vous configurez le pipeline pour lire les journaux d'audit depuis GitHub Enterprise Cloud, choisissez GitHub Audit Logs comme source de données. Sélectionnez le type de source Entreprise ou Organisation en fonction de l'étendue de votre intégration et renseignez les informations requises, telles que le nom de l'entreprise ou de l'organisation, en fonction de l'étendue sélectionnée. Une fois le pipeline créé, les données seront disponibles dans le groupe de CloudWatch journaux Logs sélectionné.

Classes d'événements du cadre de schéma de cybersécurité ouvert prises en charge

Cette intégration prend en charge la version v1.5.0 du schéma OCSF et les GitHub actions associées au changement de compte (3001), à l'activité des API (6003) et à la gestion des entités (3004).

Le changement de compte contient les actions suivantes :

  • org.enable_two_factor_requirement

  • org.disable_two_factor_requirement

  • Authentification à deux facteurs. Ajouter un facteur

  • Authentification à deux facteurs activée

  • Authentification à deux facteurs désactivée

  • Authentification à deux facteurs. Supprimer un facteur

  • org.disable_saml

  • org.enable_saml

  • jeton d'accès personnel.access_restriction_disabled

  • jeton d'accès personnel.access_restriction_enabled

  • jeton d'accès personnel.expiration_limit_set

  • jeton d'accès personnel.expiration_limit_unset

L'activité de l'API contient les actions suivantes :

  • repository_secret_scanning_custom_pa... créer

  • repository_secret_scanning_custom_pa... mise à jour

  • repository_secret_scanning_custom_pa... supprimer

  • repository_secret_scanning_custom_pa... publier

  • repository_secret_scanning_custom_p... activé

  • repository_secret_scanning_custom_p... désactivé

  • repository_secret_scanning_non_provi... activé

  • repository_secret_scanning_non_provi... désactivé

  • repository_secret_scanning_generic_s... activé

  • repository_secret_scanning_generic_s... désactivé

  • 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... activé

  • business_secret_scanning_custom_patt... désactivé

  • business_secret_scanning_generic_secrets.enabled

  • business_secret_scanning_generic_secrets.disabled

  • business_secret_scanning_non_provide... activé

  • business_secret_scanning_non_provide... désactivé

  • org_secret_scanning_non_provider_patt... activé

  • org_secret_scanning_non_provider_patt... désactivé

  • 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

La gestion des entités contient les actions suivantes :

  • oauth_application.destroy

  • oauth_application.generate_client_secret

  • oauth_application.remove_client_secret

  • oauth_application.révoke_tous les jetons

  • 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_pour_installation_apps

  • ip_allow_list_entry.create

  • ip_allow_list_entry.update

  • ip_allow_list_entry.destroy

  • repository_secret_scanning.disable

  • repository_secret_scanning_automatic... désactivé

  • repository_secret_scanning_push_prot... désactiver

  • repository_secret_scanning_push_prot... activer

  • oauth_application.créer

  • oauth_application.reset_secret

  • auto_approve_personal_access_token_req... activé

  • auto_approve_personal_access_token_req... désactivé

  • 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... activé

  • repository_secret_scanning_push_prot... activer

  • repository_secret_scanning_push_prot... ajouter

  • repository_secret_scanning_push_prot... supprimer

  • repository_secret_scanning_push_prot... désactiver

  • secret_scanning.enable

  • secret_scanning.disable

  • secret_scanning_new_repos.enable

  • org_secret_scanning_automatic_validi... activé

  • org_secret_scanning_automatic_validi... désactivé

  • org_secret_scanning_push_protection_b... ajouter

  • org_secret_scanning_push_protection_b... supprimer

  • org_secret_scanning_push_protection_b... désactiver

  • org_secret_scanning_push_protection_b... activer

  • business_secret_scanning_automatic_va... activé

  • business_secret_scanning_automatic_va... désactivé

  • 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... activer

  • business_secret_scanning_push_prote... mise à jour

  • business_secret_scanning_push_prote... désactiver