참고
중요: 이 커넥터를 사용하려면 GitHub Enterprise 계정이 필요합니다. GitHub Personal 또는 Organization 계정은 지원되지 않습니다.
GitHub 감사 로그의 소스 구성
GitHub와 통합
Amazon Telemetry Pipeline을 사용하여 GitHub Enterprise Cloud에서 감사 로그를 수집할 수 있습니다. GitHub Enterprise는 현대식 개발 작업의 복잡한 워크플로를 위해 설계된 엔터프라이즈급 소프트웨어 개발 플랫폼입니다. GitHub Enterprise Cloud는 GitHub 서버에서 호스팅되는 GitHub Enterprise의 클라우드 기반 솔루션입니다.
GitHub로 인증
감사 로그를 읽으려면 파이프라인이 GitHub 계정으로 인증해야 합니다. Enterprise 범위
개인 액세스 토큰으로 인증할 토큰 생성:
GitHub 계정의 자격 증명을 사용하여 GitHub
에 로그인합니다. 이 엔드포인트를 사용하려면 인증된 사용자가 엔터프라이즈 관리자여야 합니다.
GitHub 개인 액세스 토큰(클래식) 페이지를 열고 'Generate new token (classic)'을 찾은 다음, GitHub 절차에 따라 범위가
read:audit_log이고 기한이 No expiration인 토큰을 생성합니다.이 새 토큰을
personal_access_token이라는 키로 AWS Secrets Manager에 보안 암호로 저장합니다.
프라이빗 키를 생성하여 GitHub 앱으로 인증:
GitHub 계정의 자격 증명을 사용하여 GitHub
에 로그인합니다. GitHub 앱에 'Administration' 조직 권한
(읽기) 권한이 있는지 확인합니다. Managing private keys for GitHub Apps
의 지침에 따라 프라이빗 키를 생성합니다. 이 프라이빗 키를
private_key라는 키로 AWS Secrets Manager의 보안 암호에 저장하고, GitHub 앱 이름은app_id라는 키로 저장합니다.
CloudWatch 파이프라인 구성
GitHub Enterprise Cloud에서 감사 로그를 읽도록 파이프라인을 구성할 경우 GitHub 감사 로그를 데이터 소스로 선택합니다. 통합 범위에 따라 소스 유형을 Enterprise 또는 Organization으로 선택하고, 선택한 범위에 따라 Enterprise 또는 Organization 이름 같은 필수 정보를 입력합니다. 파이프라인을 생성하면 선택한 CloudWatch Logs 로그 그룹에서 데이터를 사용할 수 있습니다.
지원되는 Open Cybersecurity Schema Framework 이벤트 클래스
이 통합은 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....추가
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