Google SecOps와 정책 인텔리전스 통합
이 문서에서는 정책 인텔리전스를 Google Security Operations와 통합하는 방법을 설명합니다.
사용 사례
정책 인텔리전스 통합은 다음 사용 사례를 지원합니다.
휴면 서비스 계정 식별: 특정 기간 내에 인증되지 않은 서비스 계정을 자동으로 식별하여 사용하지 않는 ID를 정리하고 공격 표면을 줄입니다.
ID 도용 조사: 사고 조사 중에 서비스 계정의 마지막 인증 시간을 검색하여 침해가 의심되는 기간 동안 계정이 활성 상태였는지 확인합니다.
규정 준수 감사 자동화: 서비스 계정 인증 메타데이터를 이해하기 쉬운 보고서로 컴파일하여 ID 액세스 및 사용 모니터링에 대한 규제 요구사항을 충족합니다.
엔드포인트
통합은 다양한 작업에 다양한 매개변수를 사용하여 정책 인텔리전스 API 내의 단일 activities:query 엔드포인트와 상호작용합니다. 다음은 통합 엔드포인트의 예시입니다.
[https://policyintelligence.googleapis.com/v1/projects/](https://policyintelligence.googleapis.com/v1/projects/)PROJECT_ID/locations/global/activityTypes/serviceAccountLastAuthentication/activities:query
시작하기 전에
Google SecOps에서 정책 인텔리전스 통합을 구성하기 전에 다음 기본 요건 단계를 완료하세요.
다음 인증 방법 중 하나를 선택하고 구성합니다.
옵션 1: 워크로드 아이덴티티 (권장): 이 방법은 서비스 계정 가장을 사용하여 단기 토큰을 사용합니다.
옵션 2: 서비스 계정 JSON 키: 이 방법은 정적이고 수명이 긴 보안 비밀 키 파일을 사용합니다.
IAM 역할 만들기 및 구성
통합에 필요한 권한을 제공하려면 프로젝트에서 커스텀 역할을 만듭니다.
Google Cloud 콘솔에서 IAM 및 관리자 > 역할로 이동합니다.
add커스텀 역할 만들기를 클릭합니다.
제목 (예:
SecOps Policy Intelligence Analyst), 설명, 고유 ID를 입력합니다.역할 출시 단계를 정식 버전으로 설정합니다.
역할에 다음 권한을 추가합니다.
policyanalyzer.serviceAccountLastAuthenticationActivities.query
만들기를 클릭합니다.
서비스 계정 만들기
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
add서비스 계정 만들기를 클릭합니다.
이름과 설명을 입력하고 만들고 계속하기를 클릭합니다.
이 서비스 계정에 프로젝트에 대한 액세스 권한 부여 단계에서 만든 커스텀 역할을 할당합니다.
완료를 클릭합니다. 서비스 계정의 이메일 주소를 기록해 둡니다.
워크로드 아이덴티티 사용자 인증 정보 구성
워크로드 아이덴티티는 서비스 계정 가장을 사용하여 단기 액세스 토큰을 사용하므로 권장되는 접근 방식입니다.
고유한 인스턴스 ID 식별
연결을 설정하려면 Google SecOps 인스턴스에 서비스 계정을 가장할 수 있는 권한을 부여해야 합니다.
Google SecOps에서 콘텐츠 허브 > 응답 통합으로 이동합니다.
정책 인텔리전스 통합을 선택하고
Workload Identity Email에 서비스 계정 이메일을 입력합니다.저장 > 테스트를 클릭합니다. 테스트가 실패할 것으로 예상됩니다.
테스트 옆에 있는 close_small 버튼을 클릭하고
gke-init-python@...또는soar-python@...로 시작하는 ID 이메일을 찾습니다.이 고유 이메일 주소를 복사합니다.
Google Cloud에서 인스턴스 ID 승인
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
대상 서비스 계정을 선택하고 권한 > 액세스 권한 부여로 이동합니다.
고유한 이메일 주소를 새 주 구성원 필드에 붙여넣고 서비스 계정 토큰 생성자 역할 (
roles/iam.serviceAccountTokenCreator)을 할당합니다.
할당량 프로젝트 액세스 권한 부여
워크로드 아이덴티티로 인증하려면 API 사용량 및 결제를 추적하기 위해 Quota Project ID가 필요합니다.
Google Cloud 콘솔에서 할당량 프로젝트로 사용되는 프로젝트의 IAM으로 이동합니다.
서비스 계정을 찾고 주 구성원 수정(수정)을 클릭합니다.
다른 역할 추가를 클릭하고 서비스 사용량 소비자(
roles/serviceusage.serviceUsageConsumer)를 선택합니다.저장을 클릭합니다.
JSON 키 구성
정적 장기 보안 비밀 키 파일은 수동 순환이 필요합니다. 워크로드 아이덴티티 인증을 사용할 수 없는 경우에만 이 방법을 사용하세요.
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동하여 서비스 계정을 선택합니다.
키 탭으로 이동하여 키 추가 > 새 키 만들기를 클릭합니다.
JSON을 선택하고 만들기를 클릭합니다. 브라우저가 JSON 파일을 컴퓨터에 다운로드합니다.
통합 매개변수
Pub/Sub 통합에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Service Account JSON File Content |
(선택사항) 서비스 계정 키 JSON 파일의 전체 콘텐츠입니다. 서비스 계정 키 인증을 위해 이 매개변수를 구성합니다. |
Workload Identity Email |
(선택사항) 서비스 계정의 클라이언트 이메일 주소입니다. 워크로드 아이덴티티를 사용하여 인증하는 경우에만 이 매개변수를 구성합니다. 구성된 경우 |
Project ID |
(선택사항) Pub/Sub에서 타겟팅할 프로젝트 ID입니다. 값을 제공하지 않으면 통합이 서비스 계정 사용자 인증 정보에서 ID를 검색합니다. |
Quota Project ID |
(선택사항) API 사용 및 결제에 사용되는 프로젝트 ID입니다. 이 매개변수는 워크로드 아이덴티티 인증을 사용할 때 필요합니다. 값을 제공하지 않으면 통합이 서비스 계정 사용자 인증 정보에서 ID를 검색합니다. |
Verify SSL |
필수 입력란입니다. 서버 연결에 대한 SSL 인증서를 검증합니다. 기본적으로 사용 설정됩니다. |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참조하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 다중 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 Workdesk의 대기 중인 작업에 응답 및 케이스에서 수동 작업 실행을 참고하세요.
핑
핑 작업을 사용하여 정책 인텔리전스와의 연결을 테스트합니다.
이 작업은 Google SecOps 항목에서 실행되지 않습니다.
작업 입력
없음
작업 출력
핑 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용 불가 |
| 케이스 월 링크 | 사용 불가 |
| 케이스 월 테이블 | 사용 불가 |
| 보강 테이블 | 사용 불가 |
| JSON 결과 | 사용 불가 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
출력 메시지
케이스 월에서 핑 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully connected to the Google Cloud Policy Intelligence server
with the provided connection parameters! |
작업이 완료되었습니다. |
Failed to connect to the Google Cloud Policy Intelligence
server! |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인하세요. |
스크립트 결과
다음 표에서는 핑 작업을 사용할 때 스크립트 결과 출력 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
Google 검색 서비스 계정 활동
서비스 계정 활동 검색 작업을 사용하여 Policy Intelligence에서 서비스 계정과 관련된 활동을 검색합니다.
이 작업은 Google SecOps 항목에서 실행되지 않습니다.
작업 입력
서비스 계정 활동 검색 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Project ID |
선택사항 서비스 계정 활동을 검색할 프로젝트의 이름입니다. 값을 제공하지 않으면 작업이 통합 구성에서 프로젝트 ID를 추출합니다. |
Service Account Resource Name |
필수
활동을 검색하는 데 사용되는 서비스 계정의 리소스 이름을 포함하는 쉼표로 구분된 목록입니다. |
Max Activities To Return |
필수
서비스 계정에 대해 반환할 활동 수입니다. 최대 개수는 1,000개입니다. 기본적으로 이 작업은 50개의 활동을 반환합니다. |
작업 출력
서비스 계정 활동 검색 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용 불가 |
| 케이스 월 링크 | 사용 불가 |
| 케이스 월 테이블 | 사용 불가 |
| 보강 테이블 | 사용 불가 |
| JSON 결과 | 사용 가능 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
다음 예시에서는 서비스 계정 활동 검색 작업을 사용할 때 수신되는 JSON 결과 출력을 설명합니다.
[
{
"Entity": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID",
"EntityResult": [
{
"fullResourceName": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID",
"activityType": "serviceAccountLastAuthentication",
"observationPeriod": {
"startTime": "2023-05-23T07:00:00Z",
"endTime": "2023-08-20T07:00:00Z"
},
"activity": {
"lastAuthenticatedTime": "2023-08-20T07:00:00Z",
"serviceAccount": {
"serviceAccountId": "SERVICE_ACCOUNT_ID",
"projectNumber": "PROJECT_NUMBER",
"fullResourceName": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID"
}
}
}
]
}
]
출력 메시지
케이스 월에서 서비스 계정 활동 검색 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "Search Service Account Activity".
Reason: ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인하세요. |
스크립트 결과
다음 표에서는 Google 검색 서비스 계정 활동 작업을 사용할 때 스크립트 결과 출력 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.