이 가이드에서는 Security Command Center API를 사용하여 발견 항목을 만들고 업데이트하는 방법을 안내합니다.
시작하기 전에
발견 항목을 만들고 업데이트하기 전에 다음 작업을 완료해야 합니다.
이 가이드를 완료하려면 조직 수준에서 Identity and Access Management(IAM) 보안 센터 발견 항목 편집자(securitycenter.findingsEditor
) 역할이 있어야 합니다. Security Command Center 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.
보안 표시를 사용하는 발견 항목을 만들려면 사용할 표시 종류의 권한이 포함된 IAM 역할도 있어야 합니다.
- 애셋 보안 표시 작성자(
securitycenter.assetSecurityMarksWriter
) - 발견 항목 보안 표시 작성자(
securitycenter.findingSecurityMarksWriter
)
표시에 대한 자세한 내용은 Security Command Center 보안 표시 사용을 참조하세요.
발견 항목 만들기
소스에 대한 활성 발견 항목을 만듭니다.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME --resource-name $RESOURCE_NAME
더 많은 예시를 보려면 다음을 실행하세요.
gcloud scc findings create --help
Python
자바
Go
Node.js
발견 항목 데이터가 Security Command Center에 저장되는 기간에 대한 자세한 내용은 발견 항목 보관을 참조하세요.
소스 속성으로 발견 항목 만들기
Security Command Center에서는 소스가 '소스 속성'이라는 키-값 메타데이터를 통해 발견 항목에 컨텍스트를 추가할 수 있도록 합니다. 소스 속성은 생성 시 초기화할 수 있습니다. 아래 예시에서는 소스 속성을 사용하여 발견 항목을 만드는 방법을 보여줍니다.
소스 속성으로 발견 항목을 만듭니다. source_properties
맵에서 키 이름의 길이는 1~255자여야 하며 문자로 시작하고 영숫자 문자 또는 밑줄만 포함해야 합니다.
Security Command Center는 부울, 숫자, 문자열 값만 지원합니다.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=value RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE --resource-name $RESOURCE_NAME
- 쉼표로 구분된 키-값 쌍 목록을 사용하여 소스 속성을 더 추가할 수 있습니다.
더 많은 예시를 보려면 다음을 실행하세요.
gcloud scc findings create --help
Python
자바
Go
Node.js
발견 항목의 소스 속성 업데이트
이 예시에서는 개별 소스 속성 및 이벤트 시간을 업데이트하는 방법을 보여줍니다. 필드 마스크를 사용하여 특정 필드만 업데이트합니다. 필드 마스크가 없으면 발견 항목의 모든 변경 가능한 필드를 새 값으로 대체합니다.
새 발견 항목을 만들 때와 마찬가지로 source_properties
맵에서 키 이름은 1~255자여야 하며 문자로 시작하고 영숫자 문자 또는 밑줄만 포함해야 합니다. Security Command Center는 부울, 숫자, 문자열 값만 지원합니다.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T08:00:06.861Z SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=VALUE UPDATE_MASK=source_properties,event_time gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE \ --update-mask=$UPDATE_MASK
- --update-mask ''(비어 있음)를 사용하여 모든 변경 가능한 필드를 재정의합니다.
- 쉼표로 구분된 키-값 쌍 목록을 사용하여 소스 속성을 더 추가할 수 있습니다.
더 많은 예시를 보려면 다음을 실행하세요.
gcloud scc findings update --help
Python
자바
Go
Node.js
발견 항목의 상태 업데이트
또한 Security Command Center는 발견 항목의 상태만 업데이트하는 API를 제공합니다. 이 API는 발견 항목의 상태만 업데이트하는 수단을 제공하기 위해 존재합니다. 이 API는 권한 있는 주 구성원이 발견 항목의 다른 부분이 아닌 상태만 수정할 수 있도록 하는 간단한 API입니다. 아래 예시에서는 발견 항목의 상태를 비활성으로 변경하는 방법을 보여줍니다.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T09:00:06.861Z STATE=INACTIVE gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --event-time $EVENT_TIME
더 많은 예시를 보려면 다음을 실행하세요.
gcloud scc findings update --help
Python
자바
Go
Node.js
발견 항목 권한 확인
발견 항목을 만들고 업데이트하려면 다음 IAM 권한 중 하나가 필요합니다.
- 발견 항목 만들기 및 업데이트:
securitycenter.findings.update
- 발견 항목만 업데이트:
securitycenter.findings.setState
소스에 대한 발견 항목을 만들 수 없는 경우 다음 코드를 사용하여 계정에 시작하기 전에 섹션에 나열된 필수 권한이 있는지 확인합니다. 필요한 권한이 없는 경우 보안 소스 만들기 및 관리를 참조하여 적절한 IAM 정책을 설정합니다.
Python
자바
Go
Node.js
다음 단계
클라이언트 라이브러리를 사용하여 Security Command Center에 액세스 자세히 알아보기