Cloud Armor를 Google SecOps와 통합
이 문서에서는 Google Cloud Armor를 Google Security Operations와 통합하는 방법을 설명합니다.
사용 사례
Cloud Armor 통합은 다음 사용 사례를 지원합니다.
자동 위협 차단: 인시던트 중에 보안 정책 규칙을 업데이트하여 Google Cloud 에 있는 악성 IP 주소 또는 범위를 즉시 차단합니다.
보안 정책 관리: 환경 전반에서 보안 정책과 규칙을 나열, 검색, 업데이트하여 일관된 WAF 보호를 보장합니다.
동적 DDoS 완화: 보안 정책 설정을 프로그래매틱 방식으로 조정하여 볼륨 또는 프로토콜 기반 공격에 대응합니다.
포렌식 감사: 기존 보안 정책의 구성 세부정보를 검색하여 에지 보호와 내부 보안 알림을 상호 연관시킵니다.
시작하기 전에
Google SecOps에서 Cloud Armor 통합을 구성하기 전에 다음 필수 단계를 완료하세요.
다음 인증 방법 중 하나를 선택하고 구성합니다.
옵션 1: 워크로드 아이덴티티 (권장): 이 방법은 서비스 계정 가장을 사용하여 단기 토큰을 사용합니다.
옵션 2: 서비스 계정 JSON 키: 이 방법은 정적이고 수명이 긴 보안 비밀 키 파일을 사용합니다.
IAM 역할 만들기 및 구성
통합에 필요한 권한을 제공하려면 Google Cloud 프로젝트에서 커스텀 역할을 만드세요.
Google Cloud 콘솔에서 역할로 이동합니다.
추가맞춤 역할 만들기를 클릭합니다.
제목, 설명, 고유 ID를 제공합니다.
역할 출시 단계를 정식 버전으로 설정합니다.
역할에 다음 권한을 추가합니다.
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
만들기를 클릭합니다.
서비스 계정 만들기
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
추가 서비스 계정 만들기를 클릭합니다.
이름과 설명을 입력하고 만들고 계속하기를 클릭합니다.
이 서비스 계정에 프로젝트에 대한 액세스 권한 부여 단계에서 만든 맞춤 IAM 역할을 할당합니다.
완료를 클릭합니다. 서비스 계정의 이메일 주소를 확인합니다.
워크로드 아이덴티티 사용자 인증 정보 구성
워크로드 아이덴티티는 서비스 계정 가장을 사용하여 단기 토큰을 사용하므로 권장되는 접근 방식입니다.
고유 인스턴스 ID 식별
연결을 설정하려면 Google SecOps 인스턴스에 서비스 계정을 가장할 권한을 부여해야 합니다.
Google SecOps에서 콘텐츠 허브 > 응답 통합으로 이동합니다.
Cloud Armor 통합을 선택하고
Workload Identity Email에 서비스 계정 이메일을 입력합니다.저장 > 테스트를 클릭합니다. 테스트가 실패합니다.
테스트 옆에 있는 close_small 버튼을 클릭하고
gke-init-python@...또는soar-python@...로 시작하는 ID 이메일을 찾습니다.이 고유 이메일 주소를 복사합니다.
Google Cloud에서 인스턴스 ID 승인
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
타겟 서비스 계정을 선택하고 권한 > 액세스 권한 부여로 이동합니다.
고유 이메일 주소를 새 주 구성원 필드에 붙여넣고 서비스 계정 토큰 생성자 역할(
roles/iam.serviceAccountTokenCreator)을 할당합니다.
JSON 키 구성
정적이고 수명이 긴 보안 비밀 키 파일은 수동으로 순환해야 합니다. 워크로드 아이덴티티 인증을 사용할 수 없는 경우에만 이 방법을 사용하세요.
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동하여 서비스 계정을 선택합니다.
키 탭으로 이동하여 키 추가 > 새 키 만들기를 클릭합니다.
JSON을 선택하고 만들기를 클릭합니다. 키 파일이 컴퓨터에 다운로드됩니다.
통합 매개변수
Cloud Armor 통합에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
API Root |
필수 항목입니다. Cloud Armor 서비스의 API 루트입니다. 기본값은 |
Project ID |
선택사항입니다. Cloud Armor의 타겟팅할 프로젝트 ID입니다. 값을 제공하지 않으면 통합에서 서비스 계정 사용자 인증 정보에서 ID를 가져옵니다. |
Workload Identity Email |
선택사항입니다. 서비스 계정의 클라이언트 이메일 주소입니다. 워크로드 아이덴티티 인증을 위해 이 매개변수를 구성합니다. 구성된 경우 |
User Service Account |
선택사항입니다. 서비스 계정 키 JSON 파일의 전체 콘텐츠입니다. 서비스 계정 키 인증을 위해 이 매개변수를 구성합니다. 구성된 경우 통합에서 |
Verify SSL |
필수 항목입니다. 선택하면 통합에서 Google Cloud 서버에 연결할 때 SSL 인증서를 검증합니다. 기본적으로 사용 설정됩니다. |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 Workdesk에서 대기 중인 작업에 응답 및 직접 조치 실행을 참고하세요.
보안 정책에 규칙 추가
Cloud Armor 서비스의 보안 정책에 새 규칙을 추가합니다.
항목
이 작업은 항목에서 실행되지 않습니다.
작업 입력
작업을 구성하려면 다음 매개변수를 사용하세요.
| 매개변수 | |
|---|---|
Policy Name |
필수 새 규칙을 추가할 보안 정책 이름입니다. |
Region |
선택사항 규칙을 추가할 정책의 리전입니다. 값을 제공하지 않으면 규칙이 전역 수준 보안 정책에 추가됩니다. |
Rule JSON |
필수 추가할 규칙의 JSON 정의입니다. 정책에 규칙을 추가하는 방법에 관한 자세한 내용은 메서드: securityPolicies.addRule을 참고하세요. |
작업 출력
| 작업 출력 유형 | |
|---|---|
| 케이스 월 연결 | 해당 사항 없음 |
| 케이스 월 링크 | 해당 사항 없음 |
| 케이스 월 테이블 | 해당 사항 없음 |
| 보강 테이블 | 해당 사항 없음 |
| JSON 결과 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
스크립트 결과
| 스크립트 결과 이름 | 값 |
|---|---|
| is_success | True 또는 False |
JSON 결과
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
케이스 월
이 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully added a new rule to the security policy! |
작업이 완료되었습니다. |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
작업이 실패했습니다. 서버 연결, 입력 매개변수, 사용자 인증 정보, 리전 이름, JSON 파일의 콘텐츠 또는 정책 이름을 확인하세요. |
보안 정책 만들기
Cloud Armor 서비스에서 보안 정책을 만듭니다.
항목
이 작업은 항목에서 실행되지 않습니다.
작업 입력
작업을 구성하려면 다음 매개변수를 사용하세요.
| 매개변수 | |
|---|---|
Region |
선택사항 정책을 만들 리전입니다. 값이 제공되지 않으면 전역 수준 보안 정책이 생성됩니다. |
Policy JSON |
필수 생성할 정책의 JSON 정의입니다. 정책에 관한 자세한 내용은 REST 리소스: securityPolicies를 참고하세요. |
작업 출력
| 작업 출력 유형 | |
|---|---|
| 케이스 월 연결 | 해당 사항 없음 |
| 케이스 월 링크 | 해당 사항 없음 |
| 케이스 월 테이블 | 해당 사항 없음 |
| 보강 테이블 | 해당 사항 없음 |
| JSON 결과 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
스크립트 결과
| 스크립트 결과 이름 | 값 |
|---|---|
| is_success | True 또는 False |
JSON 결과
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
케이스 월
이 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully created a new security policy! |
작업이 완료되었습니다. |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버 연결, 입력 매개변수, 사용자 인증 정보, 리전 이름 또는 JSON 파일의 콘텐츠를 확인합니다. |
핑
통합 구성 페이지에서 제공된 매개변수를 사용하여 Cloud Armor 서비스에 대한 연결을 테스트합니다.
항목
이 작업은 항목에서 실행되지 않습니다.
작업 입력
해당 사항 없음
작업 출력
| 작업 출력 유형 | |
|---|---|
| 케이스 월 연결 | 해당 사항 없음 |
| 케이스 월 링크 | 해당 사항 없음 |
| 케이스 월 테이블 | 해당 사항 없음 |
| 보강 테이블 | 해당 사항 없음 |
| JSON 결과 | 해당 사항 없음 |
| 스크립트 결과 | 사용 가능 |
스크립트 결과
| 스크립트 결과 이름 | 값 |
|---|---|
| is_success | True 또는 False |
케이스 월
이 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
작업이 완료되었습니다. |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
보안 정책 업데이트
Cloud Armor 서비스에서 기존 보안 정책을 업데이트합니다.
이 작업은 정책의 규칙을 업데이트할 수 없습니다. 관련 정책에 규칙을 추가하려면 보안 정책에 규칙 추가 작업을 사용하세요.
항목
이 작업은 항목에서 실행되지 않습니다.
작업 입력
작업을 구성하려면 다음 매개변수를 사용하세요.
| 매개변수 | |
|---|---|
Policy Name |
필수 새 규칙을 추가할 보안 정책 이름입니다. |
Region |
선택사항 업데이트된 정책의 리전입니다. 값이 제공되지 않으면 전역 수준 보안 정책이 생성됩니다. |
Rule JSON |
필수 업데이트할 정책의 JSON 정의입니다. 정책 업데이트에 관한 자세한 내용은 메서드: securityPolicies.patch 를 참고하세요. 이 작업으로는 규칙을 업데이트할 수 없습니다. 정책에 규칙을 추가하려면 보안 정책에 규칙 추가 작업을 사용합니다. |
작업 출력
| 작업 출력 유형 | |
|---|---|
| 케이스 월 연결 | 해당 사항 없음 |
| 케이스 월 링크 | 해당 사항 없음 |
| 케이스 월 테이블 | 해당 사항 없음 |
| 보강 테이블 | 해당 사항 없음 |
| JSON 결과 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
스크립트 결과
| 스크립트 결과 이름 | 값 |
|---|---|
| is_success | True 또는 False |
JSON 결과
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
케이스 월
이 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
작업이 완료되었습니다. |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.