Security Health Analytics용 커스텀 모듈 개요

이 페이지에서는 Security Health Analytics 커스텀 모듈에 대해 간략히 설명합니다. 기본 제공 모듈에 대한 자세한 내용은 Security Health Analytics 기본 제공 감지기를 참조하세요.

커스텀 모듈을 사용하면 취약점, 잘못된 구성, 규정 준수 위반을 검사하기 위해 정의하는 규칙을 사용해서 지정되는 Google Cloud리소스 및 정책을 스캔하는 커스텀 감지기를 만들어 Security Health Analytics의 감지 기능을 확대할 수 있습니다.

Google Cloud 콘솔에서 만들든 직접 코딩하든 커스텀 모듈의 구성 또는 정의에 따라 감지기가 검사하는 리소스, 감지기가 평가하는 속성, 취약점 또는 잘못된 구성이 감지될 때 감지기가 반환하는 정보가 결정됩니다.

Security Command Center가 지원하는 리소스 또는 애셋에 대해 커스텀 모듈을 만들 수 있습니다.

커스텀 모듈 정의를 직접 코딩할 때는 YAML 및 Common Expression Language(CEL) 표현식을 사용합니다.Google Cloud 콘솔을 사용하여 커스텀 모듈을 만들 경우에는 대부분의 코딩이 자동으로 수행되지만 CEL 표현식을 코딩해야 합니다.

YAML 파일의 커스텀 모듈 정의 예시를 보려면 커스텀 모듈 정의 예시를 참조하세요.

커스텀 모듈은 실시간 및 배치 스캔 모두 Security Health Analytics의 기본 제공되는 감지기와 함께 실행됩니다. 실시간 모드에서는 애셋 구성이 변경될 때마다 스캔이 트리거됩니다. 배치 모드 스캔은 등록된 조직 도는 프로젝트에 대한 모든 감지기에서 하루 한 번 실행됩니다.

스캔 중에는 각 커스텀 감지기가 사용 설정된 각 조직, 폴더, 프로젝트의 모든 일치하는 애셋에 적용됩니다.

커스텀 감지기의 발견 항목은 Security Command Center에 기록됩니다.

자세한 내용은 다음을 참조하세요.

기본 제공 감지기와 커스텀 모듈 비교

커스텀 모듈은 기본 제공 Security Health Analytics 감지기보다 광범위한 감지 기능을 제공합니다. 하지만 커스텀 모듈은 기본 제공 감지기가 제공하는 일부 Security Command Center 기능을 지원하지 않습니다.

기능 지원

Security Health Analytics 커스텀 모듈은 공격 경로 시뮬레이션에서 지원되지 않습니다. 커스텀 모듈에서 생성된 발견 항목에는 공격 노출 점수 또는 공격 경로가 포함되지 않습니다.

감지 논리 비교

커스텀 모듈로 수행할 수 있는 일부 작업에 대한 예시로, 기본 제공되는 감지기 PUBLIC_SQL_INSTANCE가 검사할 수 있는 항목과 커스텀 모듈로 검사할 수 있는 항목을 비교합니다.

기본 제공되는 감지기 PUBLIC_SQL_INSTANCE는 Cloud SQL 인스턴스의 authorizedNetworks 속성이 0.0.0.0/0로 설정되었는지 확인합니다. 이렇게 설정되었으면 감지기는 Cloud SQL 인스턴스가 모든 IP 주소의 연결을 수락하기 때문에 공개되었음을 나타내는 발견 사항을 생성합니다.

커스텀 모듈에서는 보다 복잡한 감지 논리를 구현하여 Cloud SQL 인스턴스에서 다음과 같은 항목을 검사할 수 있습니다.

  • 특정 프리픽스가 포함된 IP 주소(와일드 카드 사용)
  • 값이 MAINTENANCE로 설정된 경우 인스턴스를 무시하고 값이 다른 값이면 발견 항목을 트리거하는 state 속성의 값
  • 특정 리전에서 공개 IP 주소가 있는 인스턴스에 대해서만 발견 항목을 트리거하기 위해 사용할 수 있는 region 속성의 값

필수 IAM 역할 및 권한

IAM 역할은 Security Health Analytics 커스텀 모듈로 수행할 수 있는 작업을 결정합니다.

다음 표에는 필요한 Security Health Analytics 커스텀 모듈 권한과 이 권한이 포함된 사전 정의된 IAM 역할의 목록이 나와 있습니다.

Google Cloud 콘솔 또는 Security Command Center API를 사용하여 조직, 폴더, 프로젝트 수준에서 이러한 역할을 적용할 수 있습니다.

권한 필요 역할
securitycentermanagement.securityHealthAnalyticsCustomModules.create
securitycentermanagement.securityHealthAnalyticsCustomModules.update
securitycentermanagement.securityHealthAnalyticsCustomModules.delete
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesEditor
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycentermanagement.securityHealthAnalyticsCustomModules.list
securitycentermanagement.securityHealthAnalyticsCustomModules.get
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.list
securitycentermanagement.effectiveSecurityHealthAnalyticsCustomModules.get
securitycentermanagement.securityHealthAnalyticsCustomModules.simulate
securitycentermanagement.securityHealthAnalyticsCustomModules.test
roles/securitycentermanagement.shaCustomModulesViewer
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin

IAM 권한 및 역할과 이를 부여하는 방법에 대한 자세한 내용은 Google Cloud 콘솔을 사용하여 IAM 역할 부여하기를 참고하세요.

커스텀 모듈 할당량

Security Health Analytics 커스텀 모듈에는 할당량 한도가 적용됩니다.

커스텀 모듈 생성 시 기본 할당량 한도는 100이지만 필요한 경우 할당량 증가를 요청할 수 있습니다.

커스텀 모듈 메서드에 대한 API 호출에도 할당량 한도가 적용됩니다. 다음 표에서는 커스텀 모듈 API 호출의 기본 할당량 한도를 보여줍니다.

API 호출 유형 한도
CustomModules 읽기 요청(가져오기, 나열) 조직별로 분당 API 호출 1,000개
CustomModules 쓰기 요청(만들기, 업데이트, 삭제) 조직별로 분당 API 호출 60개
CustomModules 테스트 요청 조직별로 분당 API 호출 12개

할당량을 상향 조정하려면 Google Cloud 콘솔의 할당량 페이지에서 요청을 제출하세요.

Security Command Center 할당량에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

지원되는 리소스 유형

이 섹션에서는 맞춤 모듈에서 지원되는 Google Cloud 리소스 유형을 요약합니다.

서비스 이름 리소스 이름
Access Context Manager accesscontextmanager.googleapis.com/AccessLevel
accesscontextmanager.googleapis.com/AccessPolicy
accesscontextmanager.googleapis.com/ServicePerimeter
Gemini Enterprise 에이전트 플랫폼 aiplatform.googleapis.com/BatchPredictionJob
aiplatform.googleapis.com/CustomJob
aiplatform.googleapis.com/Dataset
aiplatform.googleapis.com/Endpoint
aiplatform.googleapis.com/Featurestore
aiplatform.googleapis.com/HyperparameterTuningJob
aiplatform.googleapis.com/Index
aiplatform.googleapis.com/MetadataStore
aiplatform.googleapis.com/Model
aiplatform.googleapis.com/NotebookRuntimeTemplate
aiplatform.googleapis.com/SpecialistPool
aiplatform.googleapis.com/Tensorboard
aiplatform.googleapis.com/TrainingPipeline
AlloyDB alloydb.googleapis.com/Backup
alloydb.googleapis.com/Cluster
alloydb.googleapis.com/Instance
API 키 apikeys.googleapis.com/Key
Artifact Registry 저장소 artifactregistry.googleapis.com/Repository
BigQuery bigquery.googleapis.com/Dataset
bigquery.googleapis.com/Model
bigquery.googleapis.com/Table
bigquerydatatransfer.googleapis.com/TransferConfig
Cloud Billing 프로젝트 결제 정보 cloudbilling.googleapis.com/ProjectBillingInfo
Cloud Run Functions cloudfunctions.googleapis.com/CloudFunction
Cloud KMS cloudkms.googleapis.com/CryptoKey
cloudkms.googleapis.com/CryptoKeyVersion
cloudkms.googleapis.com/ImportJob
cloudkms.googleapis.com/KeyRing
Resource Manager cloudresourcemanager.googleapis.com/Folder
cloudresourcemanager.googleapis.com/Organization
cloudresourcemanager.googleapis.com/Project
cloudresourcemanager.googleapis.com/TagBinding
Managed Service for Apache Airflow 환경 composer.googleapis.com/Environment
Compute Engine compute.googleapis.com/Address
compute.googleapis.com/Autoscaler
compute.googleapis.com/BackendBucket
compute.googleapis.com/BackendService
compute.googleapis.com/Commitment
compute.googleapis.com/Disk
compute.googleapis.com/Firewall
compute.googleapis.com/FirewallPolicy
compute.googleapis.com/ForwardingRule
compute.googleapis.com/GlobalForwardingRule
compute.googleapis.com/HealthCheck
compute.googleapis.com/Image
compute.googleapis.com/Instance
compute.googleapis.com/InstanceGroup
compute.googleapis.com/InstanceGroupManagers
compute.googleapis.com/InstanceTemplate
compute.googleapis.com/InterconnectAttachment
compute.googleapis.com/MachineImage
compute.googleapis.com/Network
compute.googleapis.com/NetworkEndpointGroup
compute.googleapis.com/NodeGroup
compute.googleapis.com/NodeTemplate
compute.googleapis.com/PacketMirroring
compute.googleapis.com/Project
compute.googleapis.com/RegionBackendService
compute.googleapis.com/RegionDisk
compute.googleapis.com/Reservation
compute.googleapis.com/ResourcePolicy
compute.googleapis.com/Route
compute.googleapis.com/Router
compute.googleapis.com/SecurityPolicy
compute.googleapis.com/Snapshot
compute.googleapis.com/SslCertificate
compute.googleapis.com/SslPolicy
compute.googleapis.com/Subnetwork
compute.googleapis.com/TargetHttpProxy
compute.googleapis.com/TargetHttpsProxy
compute.googleapis.com/TargetInstance
compute.googleapis.com/TargetPool
compute.googleapis.com/TargetSslProxy
compute.googleapis.com/TargetVpnGateway
compute.googleapis.com/UrlMap
compute.googleapis.com/VpnGateway
compute.googleapis.com/VpnTunnel
Google Kubernetes Engine container.googleapis.com/Cluster
container.googleapis.com/NodePool
Dataflow dataflow.googleapis.com/Job
Cloud Data Fusion datafusion.googleapis.com/Instance
Managed Service for Apache Spark dataproc.googleapis.com/AutoscalingPolicy
dataproc.googleapis.com/Batch
dataproc.googleapis.com/Cluster
dataproc.googleapis.com/Job
Datastream datastream.googleapis.com/ConnectionProfile
datastream.googleapis.com/PrivateConnection
datastream.googleapis.com/Stream
Dialogflow CX dialogflow.googleapis.com/Agent
Sensitive Data Protection dlp.googleapis.com/DeidentifyTemplate
dlp.googleapis.com/DlpJob
dlp.googleapis.com/InspectTemplate
dlp.googleapis.com/JobTrigger
dlp.googleapis.com/StoredInfoType
Cloud DNS dns.googleapis.com/ManagedZone
dns.googleapis.com/Policy
Filestore file.googleapis.com/Instance
허브 (Fleet이라고도 함) gkehub.googleapis.com/Feature
gkehub.googleapis.com/Membership
IAM iam.googleapis.com/Role
iam.googleapis.com/ServiceAccountKey
Kubernetes k8s.io/Namespace
k8s.io/Node
k8s.io/Pod
k8s.io/Service
apps.k8s.io/DaemonSet
apps.k8s.io/Deployment
apps.k8s.io/ReplicaSet
apps.k8s.io/StatefulSet
batch.k8s.io/CronJob
networking.k8s.io/Ingress
networking.k8s.io/NetworkPolicy
rbac.authorization.k8s.io/ClusterRole
rbac.authorization.k8s.io/ClusterRoleBinding
rbac.authorization.k8s.io/Role
rbac.authorization.k8s.io/RoleBinding
Cloud Logging logging.googleapis.com/LogBucket
logging.googleapis.com/LogMetric
logging.googleapis.com/LogSink
Cloud Monitoring monitoring.googleapis.com/AlertPolicy
monitoring.googleapis.com/NotificationChannel
NetApp Volumes
netapp.googleapis.com/Snapshot
netapp.googleapis.com/Volume
Gemini Enterprise Agent Platform Workbench notebooks.googleapis.com/Instance
조직 정책 서비스 v2 orgpolicy.googleapis.com/CustomConstraint
orgpolicy.googleapis.com/Policy
Certificate Authority Service privateca.googleapis.com/Certificate
privateca.googleapis.com/CertificateRevocationList
Pub/Sub pubsub.googleapis.com/Snapshot
pubsub.googleapis.com/Subscription
pubsub.googleapis.com/Topic
Memorystore for Redis redis.googleapis.com/Cluster
redis.googleapis.com/Instance
Cloud Run run.googleapis.com/DomainMapping
run.googleapis.com/Execution
run.googleapis.com/Job
run.googleapis.com/Revision
run.googleapis.com/Service
Secret Manager secretmanager.googleapis.com/Secret
secretmanager.googleapis.com/SecretVersion
서비스 사용량 serviceusage.googleapis.com/Service
Spanner spanner.googleapis.com/Backup
spanner.googleapis.com/Database
spanner.googleapis.com/Instance
MySQL용 Cloud SQL sqladmin.googleapis.com/BackupRun
sqladmin.googleapis.com/Instance
Cloud Storage storage.googleapis.com/Bucket
Google Cloud VMware Engine vmwareengine.googleapis.com/Cluster
vmwareengine.googleapis.com/ExternalAccessRule
vmwareengine.googleapis.com/ExternalAddress
vmwareengine.googleapis.com/NetworkPeering
vmwareengine.googleapis.com/NetworkPolicy
vmwareengine.googleapis.com/PrivateCloud
vmwareengine.googleapis.com/PrivateConnection
vmwareengine.googleapis.com/VmwareEngineNetwork
VPC 커넥터 vpcaccess.googleapis.com/Connector
Cloud Workstations workstations.googleapis.com/Workstation
workstations.googleapis.com/WorkstationConfig

다음 단계