Google Cloud Storage
이 문서에서는 Cloud Storage를 Google Security Operations의 SOAR 모듈과 통합하는 방법을 안내합니다.
통합 버전: 9.0
이 통합은 오픈소스 구성요소를 하나 이상 사용합니다. Cloud Storage 버킷에서 이 통합의 소스 코드 사본을 다운로드할 수 있습니다.
사용 사례
Google SecOps SOAR 플랫폼에서 Google Cloud Storage 통합은 다음 사용 사례를 해결합니다.
사고 증거 저장소: 플레이북은 로그, 멀웨어 샘플과 같은 사고 관련 증거를 Cloud Storage 버킷에 자동으로 수집하고 저장하여 증거 보존을 위한 변조 방지 저장소를 제공할 수 있습니다.
위협 인텔리전스 공유: 보안팀은 Cloud Storage를 사용하여 악성 IP 주소 및 도메인 목록과 같은 위협 인텔리전스 피드를 다른 팀 또는 조직과 안전하게 공유할 수 있습니다. 피드를 공유하면 공동 위협 방어와 더 빠른 응답 시간이 가능합니다.
멀웨어 분석 샌드박스 통합: 플레이북은 침해 사고의 의심스러운 파일을 클라우드 기반 멀웨어 분석 샌드박스에 자동으로 제출할 수 있습니다. 검토 및 추가 조치를 위해 Cloud Storage에 분석 결과를 저장하여 효율적이고 확장 가능한 멀웨어 분석을 제공할 수 있습니다.
보안 구성 백업: Google SecOps의 SOAR 기능을 사용하여 방화벽 규칙, 침입 감지 시스템 서명과 같은 중요한 보안 구성을 Cloud Storage에 정기적으로 백업하는 작업을 자동화합니다. 백업을 자동화하면 실수로 또는 악의적으로 변경된 경우 비즈니스 연속성을 유지하고 더 빠르게 복구할 수 있습니다.
피싱 캠페인 아티팩트 저장소: Google SecOps의 SOAR 기능을 사용하여 피싱 캠페인을 조사하는 동안 피싱 이메일, 첨부파일, 기타 아티팩트를 Cloud Storage에 저장합니다. 아티팩트 스토리지를 사용하면 잠재적인 법적 조치를 위해 증거를 중앙에서 분석하고 보존할 수 있습니다.
시작하기 전에
통합을 사용하려면 Google Cloud 서비스 계정이 필요합니다. 기존 서비스 계정을 사용하거나 새 계정을 만들 수 있습니다.
서비스 계정 만들기
서비스 계정 만들기에 관한 안내는 서비스 계정 만들기를 참고하세요.
이 서비스 계정에 프로젝트에 대한 액세스 권한 부여에서 서비스 계정에 다음 역할을 부여합니다.
Storage Admin
Google Cloud에서 워크로드를 실행하지 않는 경우 서비스 계정을 만든 후 JSON으로 서비스 계정 키를 만들어야 합니다. GKE용 워크로드 아이덴티티 제휴 이메일을 사용하지 않는 경우 통합 매개변수를 구성할 때 다운로드한 JSON 파일의 콘텐츠를 제공해야 합니다.
보안상의 이유로 서비스 계정 JSON 키 대신 GKE용 워크로드 아이덴티티 제휴 이메일 주소를 사용하는 것이 좋습니다. 워크로드 아이덴티티에 대한 자세한 내용은 워크로드의 아이덴티티를 참고하세요.
Google SecOps와 Cloud Storage 통합
통합에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Service Account |
선택사항 서비스 계정 키 JSON 파일의 콘텐츠입니다. 이 매개변수 또는 이 매개변수를 구성하려면 서비스 계정을 만들 때 다운로드한 서비스 계정 JSON 파일의 전체 콘텐츠를 제공하세요. |
Workload Identity Email |
선택사항 서비스 계정의 클라이언트 이메일 주소입니다. 이 매개변수 또는 GKE용 워크로드 아이덴티티 제휴 이메일 주소로 서비스 계정을 가장하려면 서비스 계정에 |
Project ID |
선택사항 Cloud Storage 통합에 사용할 프로젝트 ID입니다. 이 매개변수의 값을 설정하지 않으면 |
Quota Project ID |
선택사항 Google Cloud API 및 결제에 사용하는 Google Cloud 프로젝트 ID입니다. 이 매개변수를 사용하려면 서비스 계정에 이 매개변수의 값을 설정하지 않으면 프로젝트 ID가 |
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스 구성 및 지원에 대한 자세한 내용은 다중 인스턴스 지원을 참고하세요.
작업
액세스 제어 목록 (ACL)과 함께 작동하는 작업의 경우 버킷과 개별 객체 모두에 대한 액세스를 지정하고 권한을 적용할 수 있습니다. 자세한 내용은 액세스 제어 목록 (ACL)을 참고하세요.
버킷에서 객체 다운로드
이 작업을 사용하여 Cloud Storage 버킷에서 특정 객체 (파일)를 다운로드합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷에서 객체 다운로드 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Bucket Name |
필수 다운로드할 객체가 포함된 Cloud Storage 버킷의 이름입니다. |
Object Name |
필수 다운로드할 객체의 전체 이름입니다. 객체가 버킷의 폴더 내에 있는 경우 폴더 경로(예: |
Download Path |
필수 다운로드된 객체의 절대 경로입니다. 기존 디렉터리로 연결됩니다(예: |
작업 출력
버킷에서 객체 다운로드 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용 가능 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
다음 예에서는 버킷에서 객체 다운로드 작업을 사용할 때 수신되는 JSON 결과 출력을 설명합니다.
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
출력 메시지
케이스 월에서 버킷에서 객체 다운로드 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷에서 객체 다운로드 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷의 액세스 제어 목록 가져오기
버킷의 액세스 제어 목록 가져오기 작업을 사용하여 지정된 Cloud Storage 버킷의 ACL을 가져와 표시합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷의 액세스 제어 목록 가져오기 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Bucket Name |
필수 ACL을 가져오려는 Cloud Storage 버킷의 이름입니다. 여러 버킷의 ACL을 가져오려면 버킷 이름을 쉼표로 구분된 문자열로 입력합니다(예: |
작업 출력
버킷의 액세스 제어 목록 가져오기 작업은 다음과 같은 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용할 수 없음 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
출력 메시지
케이스 월에서 버킷의 액세스 제어 목록 가져오기 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 '버킷의 액세스 제어 목록 가져오기' 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷 객체 나열
버킷 객체 나열 작업을 사용하여 Cloud Storage 버킷에 저장된 객체를 나열합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷 객체 나열 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Bucket Name |
필수 객체를 가져올 버킷의 이름입니다. |
Max Objects to Return |
선택사항 반환할 객체 수입니다. 기본적으로 작업은 작업 실행마다 50개의 객체를 반환합니다. |
Retrieves the Access Control List of an object |
선택사항 선택하면 작업이 객체 ACL을 가져옵니다. 기본적으로 선택되지 않습니다. |
작업 출력
버킷 객체 나열 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용 가능 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
다음 예에서는 버킷 객체 나열 작업을 사용할 때 수신되는 JSON 결과 출력을 설명합니다.
Retrieves the Access Control List of an object매개변수를 선택하지 않은 경우:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }Retrieves the Access Control List of an object매개변수를 선택한 경우:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
출력 메시지
케이스 월에서 목록 버킷 객체 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷 객체 나열 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷 나열
버킷 나열 작업을 사용하여 Cloud Storage에서 버킷 목록을 가져옵니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷 나열 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Max Results |
선택사항 반환할 최대 버킷 수입니다. 기본적으로 이 작업은 50개의 버킷을 반환합니다. |
작업 출력
버킷 나열 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용 가능 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
다음 예시는 버킷 나열 작업을 사용할 때 수신되는 JSON 결과 출력을 설명합니다.
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
출력 메시지
케이스 월에서 목록 버킷 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "List Buckets". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷 나열 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
핑
핑 작업을 사용하여 Cloud Storage와의 연결을 테스트합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
없음
작업 출력
이 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용할 수 없음 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
출력 메시지
케이스 월에서 핑 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
작업이 완료되었습니다. |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 Ping 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷에서 공개 액세스 삭제
버킷에서 공개 액세스 삭제 작업을 사용하여 Cloud Storage 버킷에서 공개 액세스를 삭제합니다.
이 작업을 수행하려면 통합에서 사용하는 서비스 계정에 Storage Admin 역할을 부여해야 합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷에서 공개 액세스 삭제 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Resource Name |
필수 버킷의 리소스 이름입니다. |
Prevent Public Access From Bucket |
필수 선택하면 이 작업은 가능한 공개 액세스를 방지하도록 버킷을 구성합니다. |
작업 출력
버킷에서 공개 액세스 삭제 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용할 수 없음 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
출력 메시지
케이스 월에서 버킷에서 공개 액세스 삭제 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
작업이 완료되었습니다. |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷에서 공개 액세스 권한 삭제 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷의 ACL 항목 업데이트
'버킷의 ACL 항목 업데이트' 작업을 사용하여 지정된 Cloud Storage 버킷의 ACL 항목을 업데이트합니다.
작업 입력
버킷의 ACL 항목 업데이트 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Bucket Name |
필수 ACL을 수정할 버킷의 이름입니다. |
Entity |
필수 권한을 보유한 항목입니다. 가능한 값은 다음과 같습니다.
엔티티에 관한 자세한 내용은 리소스 표현을 참고하세요. |
Role |
필수 엔티티에 필요한 액세스 권한입니다. 가능한 값은 다음과 같습니다.
|
작업 출력
버킷의 ACL 항목 업데이트 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용할 수 없음 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
출력 메시지
케이스 월에서 버킷의 ACL 항목 업데이트 작업은 다음과 같은 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. 기존 역할이 Role 매개변수 값과 일치하지 않습니다. Role 매개변수 값을 확인합니다. |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
작업이 완료되었습니다. |
|
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷의 ACL 항목 업데이트 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
버킷에 객체 업로드
버킷에 객체 업로드 작업을 사용하여 Cloud Storage 버킷에 객체를 업로드합니다.
이 작업은 항목에서 실행되지 않습니다.
작업 입력
버킷에 객체 업로드 작업에는 다음 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Bucket Name |
필수 객체를 업로드할 버킷의 이름입니다. |
Source File Path |
필수 업로드할 파일의 절대 경로입니다(예: |
Object Name |
필수 버킷에 업로드된 객체의 이름입니다. |
작업 출력
버킷에 객체 업로드 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용할 수 없음 |
| 케이스 월 링크 | 사용할 수 없음 |
| 케이스 월 테이블 | 사용할 수 없음 |
| 보강 테이블 | 사용할 수 없음 |
| JSON 결과 | 사용 가능 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
JSON 결과
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
출력 메시지
케이스 월에서 버킷에 객체 업로드 작업은 다음 출력 메시지를 제공합니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 완료되었습니다. |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
스크립트 결과
다음 표에서는 버킷에 객체 업로드 작업을 사용할 때 스크립트 결과 출력의 값을 설명합니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
True 또는 False |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.