이 페이지에서는 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Security Health Analytics에 대한 커스텀 모듈을 생성, 확인, 업데이트, 삭제하는 방법을 설명합니다.
자세한 소개 정보는 Security Health Analytics의 커스텀 모듈 개요를 참조하세요.
시작하기 전에
커스텀 모듈 작업을 수행하려면 먼저 다음 기본 요건을 충족해야 합니다.
- Security Command Center 프리미엄 등급이 필요합니다. Security Command Center 등급에 대한 자세한 내용은 Security Command Center 활성화 개요를 참조하세요.
- Security Health Analytics를 사용 설정해야 합니다. Security Health Analytics 사용 설정에 대한 자세한 내용은 기본 제공되는 서비스 사용 설정 또는 사용 중지를 참조하세요.
- 사용자 계정에 필요한 권한이 포함된 하나 이상의 Identity and Access Management(IAM) 역할을 부여해야 합니다. 자세한 내용은 필수 IAM 권한을 참조하세요.
gcloud
명령어를 사용해서 자체 커스텀 모듈을 작성하고 이를 Security Command Center에 업로드할 경우 Google Cloud CLI가 필요합니다. gcloud CLI에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요.- Security Command Center API가 아직 사용 설정되지 않았으면 Security Health Analytics에 커스텀 모듈을 사용하기 전에 사용 설정해야 합니다. Google Cloud 콘솔의 API 라이브러리 페이지에서 Security Command Center API를 사용 설정할 수 있습니다.
- Security Health Analytics의 사용량 한도를 보려면 커스텀 모듈 할당량을 참조하세요.
필수 IAM 권한
커스텀 모듈을 작업하려면 다음 Identity and Access Management(IAM) 권한이 필요합니다.
권한 | 역할 |
---|---|
securitycenter.securityhealthanalyticscustommodules.create securitycenter.securityhealthanalyticscustommodules.update securitycenter.securityhealthanalyticscustommodules.delete |
roles/securitycenter.settingsEditor roles/securitycenter.admin |
securitycenter.securityhealthanalyticscustommodules.get securitycenter.securityhealthanalyticscustommodules.list |
roles/securitycenter.settingsViewer roles/securitycenter.adminViewer roles/securitycenter.admin |
securitycenter.securityhealthanalyticscustommodules.test | roles/securitycenter.securityHealthAnalyticsCustomModulesTester roles/securitycenter.adminViewer roles/securitycenter.adminEditor roles/securitycenter.admin |
IAM 권한 및 역할과 이를 부여하는 방법에 대한 자세한 내용은 Google Cloud 콘솔을 사용하여 IAM 역할 부여를 참조하세요.
커스텀 모듈 만들기
이 섹션에서는 Google Cloud 콘솔 또는 gcloud CLI를 사용하여 커스텀 모듈을 만드는 방법을 설명합니다.
생성 과정의 단계에 따라 커스텀 모듈을 테스트하려면 YAML 파일로 테스트 리소스 정의를 준비해야 합니다. 자세한 내용은 YAML 파일로 테스트 리소스 만들기를 참조하세요.
커스텀 모듈을 만들려면 다음 탭에서 사용하려는 메서드를 선택합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 커스텀 모듈을 만들려면 다음 단계를 완료합니다.
Google Cloud 콘솔에서 Security Command Center 설정 페이지로 이동합니다.
메시지가 표시되면 커스텀 모듈을 만들어야 하는 조직, 폴더, 프로젝트를 선택합니다.
Security Health Analytics 카드에서 설정 관리를 클릭합니다.
모듈 탭을 클릭합니다.
모듈 만들기를 클릭합니다. Security Health Analytics의 모듈 만들기 페이지가 열립니다.
모듈 구성 패널에서 표시 이름, 스캔할 리소스, 삭제 논리를 정의합니다.
모듈 이름 필드에서 모듈 이름을 지정합니다. 이름은 1~128자(영문 기준)여야 하고 소문자로 시작하며 영숫자 문자 또는 밑줄만 포함해야 합니다. 이 이름은 이 감지기가 생성하는 발견 항목의 범주가 됩니다. 모듈이 생성된 후에는 이름을 변경할 수 없습니다.
리소스 유형 추가 아래에서 스캔할 리소스 유형을 1~5개까지 지정합니다. 리소스 유형은 한 개 넘게 지정할 수 없습니다.
지원되는 리소스 유형 목록은 지원되는 리소스 유형을 참조하세요.
표현식 편집기에서 마지막 단계에서 지정한 리소스의 하나 이상의 속성에 대해 불리언 검사를 수행하도록 CEL 표현식을 작성합니다. 발견 항목을 트리거하려면 표현식이
TRUE
로 확인되어야 합니다. 예를 들어 다음 표현식은CryptoKey
리소스에 순환 기간이 정의되어 있고 순환 기간이 2,592,000초(30일)를 초과할 때 발견 항목을 트리거합니다.has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
자세한 내용은 다음을 참조하세요.
다음을 클릭합니다. 발견 항목 세부정보 정의 패널이 열립니다.
발견 항목 세부정보 정의 패널에서 해당 심각도, 문제, 문제 해결 방법, 발견 항목에 커스텀 소스 속성으로 포함하려는 데이터를 비롯하여 커스텀 모듈에서 감지되는 문제를 기술합니다.
심각도 필드에서 문제의 심각도를 지정합니다.
Low
,Medium
,High
,Critical
을 지정할 수 있습니다. 기본값은Medium
입니다.심각도 수준에 대한 자세한 내용은 발견 항목의 심각도 분류를 참조하세요.
발견 항목 설명 필드에서 커스텀 모듈이 감지하는 문제를 설명합니다. 이 설명은 보안팀에서 감지된 문제를 이해하고 해결하는 데 도움이 되도록 각 발견 항목 인스턴스에 표시됩니다.
발견 항목 다음 단계 필드에서 보안팀이 감지된 문제를 수정 또는 해결하기 위해 수행할 수 있는 단계를 설명합니다.
각 발견 항목 인스턴스와 함께 단계가 표시됩니다. 보안팀이 문제를 가능한 한 빨리 해결하기 위해 취할 수 있는 특정 단계를 포함합니다.
선택사항: 커스텀 발견 항목 속성 필드에서 각 발견 항목 인스턴스와 함께 반환할 커스텀 소스 속성을 정의하기 위해 최대 10개까지 이름-값 쌍을 지정합니다. 이 정보는 발견 항목 JSON에 소스 속성으로 반환되고 Google Cloud 콘솔의 발견 항목 세부정보에 잇는 소스 속성 탭에 표시됩니다. 텍스트 또는 속성 값을 키-값 쌍으로 지정합니다.
- 속성 이름 필드에 커스텀 소스 속성의 이름을 지정합니다. 이름은 다음 규칙을 준수해야 합니다.
- 이름은 소문자로 시작해야 합니다.
- 이름은 영숫자 문자 또는 밑줄만 포함해야 합니다.
- 이름은 길이가 1~128자 사이여야 합니다.
- 각 이름은 다른 소스 속성 간에 고유해야 합니다.
- 속성 값 필드에서 다음 값 중 하나를 1024자 이하로 지정합니다.
- 따옴표로 묶은 텍스트 문자열. 따옴표는 1024 글자 수 제한에 포함됩니다. 예를 들면
"This string provides additional useful information."
입니다. - 스캔되는 리소스의 속성.
예를 들어
CryptoKey
리소스를 확인하는 경우resource.rotationPeriod
를 지정할 수 있습니다.rotationPeriod
속성 값이 반환됩니다.
- 따옴표로 묶은 텍스트 문자열. 따옴표는 1024 글자 수 제한에 포함됩니다. 예를 들면
- 속성 이름 필드에 커스텀 소스 속성의 이름을 지정합니다. 이름은 다음 규칙을 준수해야 합니다.
다음을 클릭합니다. 모듈 사용 설정 패널이 열립니다.
선택사항: 모듈 사용 설정 패널의 드롭다운 메뉴를 사용하여 생성 시 커스텀 모듈이 사용 설정 또는 사용 중지되는지 여부를 지정합니다. 기본적으로 커스텀 모듈은 생성 시에 사용 설정됩니다. 사용 중지를 지정하면 Security Health Analytics 설정 페이지의 모듈 탭에서 나중에 모듈을 사용 설정할 수 있습니다.
다음을 클릭합니다. 테스트 모듈 패널이 열립니다.
선택사항: 커스텀 모듈을 만들기 전에 이를 테스트하는 것이 좋습니다.
커스텀 모듈을 테스트하려면 다음 단계를 수행합니다.
커스텀 모듈이 검사하는 리소스에 대해 테스트 리소스 정의가 포함된 YAML 파일을 만듭니다.
테스트 데이터 파일을 만드는 방법은 YAML 파일에 테스트 리소스 만들기를 참조하세요.
YAML 파일 업로드에서 찾아보기를 클릭하여 테스트 리소스 정의가 포함된 YAML 파일을 업로드합니다. 파일이 업로드되면 테스트가 자동으로 시작됩니다.
테스트 결과 미리보기에서 결과를 확인합니다.
- YAML 파일에 문법 또는 다른 오류가 있으면 플로팅 오류 메시지가 브라우저 페이지 하단 근처에 표시됩니다.
테스트가 성공하면 다음 정보가 반환됩니다.
- 커스텀 모듈의 표시 이름
- 테스트 데이터 파일에서
resource
속성에 지정한 임의 이름 - 커스텀 모듈이 생성되었거나 생성될 예정인 조직, 폴더, 프로젝트
테스트 결과는 Security Command Center에 저장되거나 기록되지 않습니다.
자세한 내용은 커스텀 모듈 테스트를 참조하세요.
만들기를 클릭합니다. 모듈 페이지로 돌아가서 사용 설정됨 상태로 생성된 모듈을 확인할 수 있습니다.
새 커스텀 모듈은 스캔 시에 Security Health Analytics에서 즉시 사용할 수 없습니다. 자세한 내용은 감지 지연 시간을 참조하세요.
gcloud CLI
gcloud
명령어를 사용하여 커스텀 모듈을 만들려면 먼저 감지 논리 및 출력 속성에 대한 CEL 표현식이 포함된 YAML 파일로 커스텀 모듈 정의를 코딩해야 합니다.
정의가 완료되면 gcloud CLI 명령어를 사용하여 Security Command Center에 정의를 업로드합니다.
- Security Health Analytics용 커스텀 모듈 코딩의 안내에 따라 YAML 파일에 커스텀 모듈 정의를 코딩합니다.
- gcloud CLI 인스턴스에 액세스할 수 있는 위치에 YAML 파일을 저장합니다.
Security Command Center에 커스텀 정의를 업로드합니다.
gcloud scc custom-modules sha create \ PARENT_FLAG=PARENT_ID \ --display-name="MODULE_DISPLAY_NAME" \ --enablement-state="ENABLEMENT_STATE" \ --custom-config-from-file=MODULE_FILE_NAME.yaml
다음을 바꿉니다.
PARENT_FLAG
:--organization
,--folder
,--project
중 하나에 해당하는 커스텀 모듈을 만들려는 수준입니다.PARENT_ID
: 커스텀 모듈을 만드는 중인 조직, 폴더, 프로젝트의 ID입니다.ENABLEMENT_STATE
:enabled
또는disabled
입니다.MODULE_DISPLAY_NAME
: 커스텀 모듈이 발견 항목을 반환할 때 표시하려는 발견 항목 카테고리 이름입니다. 이름은 1~128자(영문 기준)여야 하고 소문자로 시작하며 영숫자 문자 또는 밑줄만 포함해야 합니다.MODULE_FILE_NAME
: 커스텀 모듈의 정의가 포함된 YAML 파일의 경로 및 파일 이름입니다.
감지 지연 시간
커스텀 모듈의 정의를 만들거나 업데이트한 후에는 신규 또는 업데이트된 커스텀 모듈을 스캔에 사용할 수 있기 전에 최대 몇 시간까지 지연이 발생할 수 있습니다.
커스텀 모듈을 만들거나 수정해도 스캔이 트리거되지 않습니다. 커스텀 모듈을 사용할 수 있게 된 다음에는 첫 번째 배치 스캔 또는 대상 리소스 구성 변경사항으로 실시간 스캔이 트리거될 때까지 Security Health Analytics가 커스텀 모듈 사용을 시작하지 않습니다.
Security Health Analytics 스캔 유형에 대한 자세한 내용은 Security Health Analytics 스캔 유형을 참조하세요.
커스텀 모듈 업데이트
대부분의 Security Health Analytics 커스텀 모듈 속성을 업데이트할 수 있습니다.
커스텀 모듈의 다음 속성은 변경할 수 없습니다.
- 표시 이름
- 커스텀 모듈 ID
- 커스텀 모듈의 전체 리소스 이름
커스텀 모듈을 업데이트할 때 커스텀 모듈이 이전에 생성한 발견 항목은 동시에 업데이트되지 않습니다. 모듈 변경사항으로 생성된 발견 항목이 변경될 경우 다음 Security Health Analytics 배치 또는 실시간 스캔 이후에만 발견 항목에 변경사항을 반영합니다.
커스텀 모듈을 수정하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용할 수 있습니다. 안내를 보려면 다음 탭 중 하나를 클릭합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 기존 커스텀 모듈을 업데이트하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Security Command Center 설정 페이지로 이동합니다.
프로젝트 선택기에서 커스텀 모듈이 원래 생성된 조직, 폴더, 프로젝트를 선택합니다. 다른 곳에서는 커스텀 모듈을 수정할 수 없습니다.
Security Health Analytics 카드에서 설정 관리를 클릭합니다.
모듈 탭을 선택합니다. 모든 Security Health Analytics 감지 모듈이 표시됩니다.
모듈 목록 위에서 필터 필드를 사용하거나 스크롤하여 수정해야 하는 커스텀 모듈을 찾습니다.
커스텀 모듈의 행 오른쪽에서 작업 메뉴 아이콘
을 클릭합니다.작업 메뉴에서 수정 아이콘(edit)을 클릭합니다. 모듈 보기 페이지가 열리고 모듈 구성 탭이 표시됩니다.
필요에 따라 모듈 보기 페이지에서 각 탭의 커스텀 모듈 필드를 수정합니다.
선택사항: 업데이트를 저장하기 전에 테스트하는 것이 좋습니다.
커스텀 모듈을 테스트하려면 다음 단계를 수행합니다.
커스텀 모듈이 검사하는 리소스에 대해 테스트 리소스 정의가 포함된 YAML 파일을 만듭니다.
테스트 데이터 파일을 만드는 방법은 YAML 파일에 테스트 리소스 만들기를 참조하세요.
YAML 파일 업로드에서 찾아보기를 클릭하여 테스트 리소스 정의가 포함된 YAML 파일을 업로드합니다. 파일이 업로드되면 테스트가 자동으로 시작됩니다.
테스트 결과 미리보기에서 결과를 확인합니다.
- YAML 파일에 문법 또는 다른 오류가 있으면 플로팅 오류 메시지가 브라우저 페이지 하단 근처에 표시됩니다.
테스트가 성공하면 다음 정보가 반환됩니다.
- 커스텀 모듈의 표시 이름
- 테스트 데이터 파일에서
resource
속성에 지정한 임의 이름 - 커스텀 모듈이 생성되었거나 생성될 예정인 조직, 폴더, 프로젝트
테스트 결과는 Security Command Center에 저장되거나 기록되지 않습니다.
자세한 내용은 커스텀 모듈 테스트를 참조하세요.
페이지 하단에서 저장을 클릭합니다. 변경사항이 커스텀 모듈에 적용됩니다.
gcloud CLI
gcloud CLI를 사용하여 커스텀 모듈을 업데이트하려면 먼저 커스텀 모듈의 YAML 정의를 수정한 후 gcloud
명령어를 사용하여 Security Health Analytics에서 커스텀 모듈을 업데이트합니다.
커스텀 모듈 정의를 수정합니다. 커스텀 모듈 정의를 코딩하는 방법은 Security Health Analytics의 커스텀 모듈 코딩을 참조하세요.
수정된 YAML 파일을 gcloud CLI에 액세스할 수 있는 위치에 저장합니다.
다음 명령어를 실행하여 Security Health Analytics에서 커스텀 모듈을 업데이트합니다.
gcloud scc custom-modules sha update MODULE_ID \ PARENT_FLAG=PARENT_ID \ --enablement-state="ENABLED" \ --custom-config-from-file=MODULE_FILE_NAME.yaml
다음을 바꿉니다.
MODULE_ID
: 커스텀 모듈의 ID 또는 전체 리소스 이름입니다.PARENT_FLAG
: 커스텀 모듈이 생성된 수준(--organization
,--folder
,--project
)입니다.PARENT_ID
: 커스텀 모듈이 생성된 조직, 폴더, 프로젝트의 ID입니다.MODULE_FILE_NAME
: 커스텀 모듈의 정의가 포함된 YAML 파일의 경로 및 파일 이름입니다.
커스텀 모듈 보기
커스텀 모듈 정의를 보는 방법을 알아보려면 탭을 선택합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 커스텀 모듈을 보려면 다음 단계를 수행합니다.
Security Command Center 설정에서 Security Health Analytics 페이지로 이동합니다.
모듈 탭을 클릭합니다. 모듈 패널이 열립니다.
필요한 경우 모듈 목록 위에 있는 필터 필드를 사용하여 수정하려는 커스텀 모듈을 찾습니다.
커스텀 모듈 정의의 세부정보를 보려면 커스텀 모듈 행의 오른쪽에서 작업 메뉴 아이콘
을 클릭합니다.작업 메뉴에서 수정 아이콘 edit을 클릭합니다. 모듈 보기 페이지가 열리고 모듈 구성 탭이 표시됩니다.
모듈 보기 페이지를 하나씩 클릭해서 커스텀 모듈 정의의 모든 필드를 확인합니다.
gcloud CLI
커스텀 모듈의 세부정보를 보려면 다음 명령어를 입력합니다.
gcloud scc custom-modules sha get MODULE_ID \ PARENT_FLAG=PARENT_ID
다음을 바꿉니다.
MODULE_ID
: 커스텀 모듈의 ID 또는 전체 리소스 이름입니다.PARENT_FLAG
: 커스텀 모듈이 생성된 수준(--organization
,--folder
,--project
)입니다.PARENT_ID
: 커스텀 모듈이 생성된 조직, 폴더, 프로젝트의 ID입니다.
커스텀 모듈 나열
커스텀 모듈 목록을 표시하는 방법을 보려면 탭을 선택합니다.
Google Cloud 콘솔
Security Command Center 설정에서 Security Health Analytics 페이지로 이동합니다.
모듈 탭을 클릭합니다. 모듈 패널이 열립니다.
모듈 목록 위에서 필터 필드를 클릭하여 필터 유형 목록을 표시합니다.
유형을 선택하고
Custom
을 입력합니다. 커스텀 모듈만 표시하도록 모듈 목록이 업데이트됩니다.
gcloud CLI
커스텀 모듈 목록을 보려면 다음 명령어를 입력합니다.
gcloud scc custom-modules sha list \ PARENT_FLAG=PARENT_ID
다음을 바꿉니다.
PARENT_FLAG
: 커스텀 모듈이 생성된 수준(--organization
,--folder
,--project
)입니다.PARENT_ID
: 커스텀 모듈이 생성된 조직, 폴더, 프로젝트의 ID입니다.
커스텀 모듈 삭제
커스텀 모듈이 생성된 조직, 폴더, 프로젝트 또는 상위 조직 또는 폴더에서 커스텀 모듈을 삭제할 수 있습니다. 커스텀 모듈을 상속하는 폴더 또는 프로젝트에서는 커스텀 모듈을 삭제할 수 없습니다.
커스텀 모듈을 삭제하는 방법을 알아보려면 다음 탭 중 하나를 선택합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 Security Command Center 설정 페이지로 이동합니다.
메시지가 표시되면 조직, 폴더, 프로젝트를 선택합니다.
Security Health Analytics 카드에서 설정 관리를 클릭합니다.
모듈 탭을 선택합니다. 모든 Security Health Analytics 감지 모듈이 표시됩니다.
모듈 목록 위에서 필터 필드를 사용하거나 스크롤하여 수정해야 하는 커스텀 모듈을 찾습니다.
커스텀 모듈의 행 오른쪽에서 작업 메뉴 아이콘
을 클릭합니다.작업 메뉴에서 삭제를 클릭합니다. 커스텀 모듈 삭제 대화상자가 열립니다.
대화상자에서 삭제를 클릭합니다.
gcloud CLI
커스텀 모듈을 삭제하려면 다음 명령어를 입력합니다.
gcloud scc custom-modules sha delete MODULE_ID \ PARENT_FLAG=PARENT_ID
다음을 바꿉니다.
MODULE_ID
: 커스텀 모듈의 ID 또는 전체 리소스 이름입니다.PARENT_FLAG
: 커스텀 모듈이 생성된 수준(--organization
,--folder
,--project
)입니다.PARENT_ID
: 커스텀 모듈이 생성된 조직, 폴더, 프로젝트의 ID입니다.
삭제된 커스텀 모듈의 발견 항목은 다음 일괄 스캔에서 Security Health Analytics에 의해 비활성으로 표시됩니다.
발견 항목 검토
커스텀 모듈로 생성된 발견 항목은 Google Cloud 콘솔 또는 Security Command Center API에서 볼 수 있습니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 다른 Security Command Center 발견 항목과 함께 커스텀 모듈로 생성된 발견 항목을 볼 수 있습니다.
발견 항목을 보려면 다음 단계를 수행합니다.
Google Cloud 콘솔의 발견 항목 페이지로 이동합니다.
메시지가 표시되면 조직을 선택합니다.
빠른 필터 패널에서 소스 표시 이름 섹션으로 스크롤하고 Security Health Analytics 커스텀을 클릭합니다. 발견 항목 쿼리 결과 패널이 업데이트되어 Security Health Analytics 커스텀 모듈의 발견 항목만 표시됩니다.
Security Health Analytics 커스텀이 표시되지 않으면 커스텀 모듈에서 발견 항목이 반환되지 않았습니다.
특정 발견 항목의 세부정보를 보려면 발견 항목 쿼리 결과 패널의 카테고리 패널에서 발견 항목의 카테고리 이름을 클릭합니다. 발견 항목 세부정보 패널이 확장되어 발견 항목 세부정보 요약이 표시됩니다.
커스텀 소스 속성이 커스텀 모듈에 대해 정의된 경우 소스 속성 탭을 클릭하여 이를 볼 수 있습니다.
발견 항목의 전체 JSON 정의를 보려면 JSON 탭을 클릭합니다.
gcloud CLI
발견 항목을 보려면 다음을 수행합니다.
- 터미널 창을 엽니다.
Security Health Analytics의 소스 ID를 가져오려면 다음 명령어를 실행합니다.
gcloud scc sources describe organizations/ORGANIZATION_ID \ --source-display-name='Security Health Analytics Custom'
다음과 유사한 결과가 출력됩니다. 이 예시에서
SOURCE_ID
는 보안 소스의 서버 할당 ID입니다.description: ... displayName: Security Health Analytics Custom name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
커스텀 모듈에서 생성된 모든 발견 항목을 나열하려면 다음 명령어를 실행합니다.
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
특정 커스텀 모듈의 발견 항목을 나열하려면 다음 명령어를 실행합니다.
gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
다음 단계
Security Command Center의 모든 발견 항목과 같이 커스텀 모듈로 생성된 발견 항목을 관리할 수 있습니다. 자세한 내용은 다음 정보를 참조하세요.