기본 보안을 위한 사전 정의된 상황, 확장 요소

이 페이지에서는 기본 보안을 위한 사전 정의된 상황(확장 요소)의 v1.0 버전에 포함된 예방 정책에 대해 설명합니다. 이러한 사전 정의된 상황은 기본 설정으로 인해 발생하는 일반적인 구성 오류 및 일반적인 보안 문제를 방지하는 데 도움이 됩니다.

이 사전 정의된 상황을 사용해서 Google Cloud 리소스 보호에 도움이 되는 보안 상황을 구성할 수 있습니다. 이 사전 정의된 상황을 배포하려면 환경에 적용되도록 일부 정책을 맞춤설정해야 합니다.

정책 설명 규정 준수 표준
iam.disableServiceAccountKeyCreation

이 제약조건은 사용자가 노출된 서비스 계정 사용자 인증 정보 위험을 줄이기 위해 서비스 계정에 대해 영구 키를 만들지 못하도록 방지합니다.

값은 true이며 서비스 계정 키 만들기를 사용 중지합니다.

NIST SP 800-53 제어: AC-2
iam.automaticIamGrantsForDefaultServiceAccounts

이 제약조건은 기본 서비스 계정을 만들 때 권한이 과도한 Identity and Access Management(IAM) 편집자 역할을 계정에 부여하지 못하도록 방지합니다.

값은 false이며 기본 서비스 계정에 대해 자동 IAM 권한 부여를 사용 중지합니다.

NIST SP 800-53 제어: AC-3
iam.disableServiceAccountKeyUpload

이 제약조건은 서비스 계정 키에서 커스텀 키 자료가 누출 및 재사용되지 않도록 위험을 방지합니다.

값은 true이며 서비스 계정 키 업로드를 사용 중지합니다.

NIST SP 800-53 제어: AC-6
storage.publicAccessPrevention

이 정책은 Cloud Storage 버킷이 인증되지 않은 공개 액세스에 개방되지 않도록 방지합니다.

값은 true이며 버킷에 대한 공개 액세스를 방지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
iam.allowedPolicyMemberDomains

이 정책은 선택한 도메인의 관리 사용자 ID만 이 조직 내의 리소스에 액세스할 수 있도록 IAM 정책을 제한합니다.

값은 directoryCustomerId이며 도메인 간 공유를 제한합니다.

NIST SP 800-53 제어: AC-3, AC-6, IA-2
essentialcontacts.allowedContactDomains

이 정책은 선택한 도메인의 관리 사용자 ID만 플랫폼 알림을 수신할 수 있도록 필수 연락처를 제한합니다.

값은 @google.com입니다. 도메인에 맞게 값을 변경해야 합니다.

NIST SP 800-53 제어: AC-3, AC-6, IA-2
storage.uniformBucketLevelAccess

이 정책은 Cloud Storage 버킷이 객체별 ACL(IAM 정책 이외의 별개 시스템)을 사용해서 액세스를 제공하지 못하도록 방지하여 액세스 관리 및 감사의 일관성을 강화합니다.

값은 true이며 균일한 버킷 수준 액세스를 적용합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.requireOsLogin

이 정책은 SSH를 보다 쉽게 관리하고 IAM 정책에 리소스 수준 권한을 제공하고, 사용자 액세스를 로깅하기 위해 새로 생성된 VM에 대해 OS 로그인이 필요합니다.

값은 true이며 OS 로그인이 필요합니다.

NIST SP 800-53 제어: AC-3 및 AU-12
compute.disableSerialPortAccess

이 정책은 Compute Engine API 제어 영역에서 백도어 액세스에 사용할 수 있는 VM 직렬 포트에 사용자가 액세스할 수 없도록 방지합니다.

값은 true이며 VM 직렬 포트 액세스를 사용 중지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.restrictXpnProjectLienRemoval

이 정책은 프로젝트 선취권 삭제를 제한하여 공유 VPC 호스트 프로젝트가 실수로 삭제되지 않도록 방지합니다.

값은 true이며 공유 VPC 프로젝트 선취권 삭제를 제한합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.vmExternalIpAccess

이 정책은 공개 IP 주소를 사용하여 Compute Engine 인스턴스를 만들어서 들어오는 인터넷 트래픽 및 나가는 인터넷 트래픽에 노출될 수 없도록 방지합니다.

값은 denyAll이며 공개 IP 주소의 모든 액세스를 사용 중지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.skipDefaultNetworkCreation

이 정책은 각각의 새로운 프로젝트에서 기본 VPC 네트워크 및 기존 방화벽 규칙이 자동으로 생성되지 않도록 방지하여 네트워크 및 방화벽 규칙이 의도한 대로 생성될 수 있도록 보장합니다.

값은 true이며 기본 VPC 네트워크가 생성되지 않도록 방지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.setNewProjectDefaultToZonalDNSOnly

이 정책은 애플리케이션 개발자가 Compute Engine 인스턴스에 대해 최신 DNS 설정보다 서비스 신뢰성이 낮은 기존 DNS 설정을 선택할 수 없도록 제한합니다.

값은 새 프로젝트에 대해 Zonal DNS only입니다.

NIST SP 800-53 제어: AC-3 및 AC-6
sql.restrictPublicIp

이 정책은 공개 IP 주소를 사용하여 Cloud SQL 인스턴스를 만들어서 들어오는 인터넷 트래픽 및 나가는 인터넷 트래픽에 노출될 수 없도록 방지합니다.

값은 true이며 공개 IP 주소를 사용하는 Cloud SQL 인스턴스 액세스를 제한합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
sql.restrictAuthorizedNetworks

이 정책은 공개 또는 비RFC 1918 네트워크 범위가 Cloud SQL 데이터베이스에 액세스할 수 없도록 방지합니다.

값은 true이며 Cloud SQL 인스턴스에서 승인된 네트워크를 제한합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.restrictProtocolForwardingCreationForTypes

이 정책은 내부 IP 주소에 대해서만 VM 프로토콜 전달을 허용합니다.

값은 INTERNAL이며 IP 주소 유형에 따라 프로토콜 전달을 제한합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.disableVpcExternalIpv6

이 정책은 외부 IPv6 서브넷을 만들어서 들어오고 나가는 인터넷 트래픽에 노출될 수 없도록 방지합니다.

값은 true이며 외부 IPv6 서브넷을 사용 중지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6
compute.disableNestedVirtualization

이 정책은 모니터링되지 않은 중첩된 인스턴스로 인한 보안 위험을 줄이기 위해 중첩된 가상화를 사용 중지합니다.

값은 true이며 VM 중첩된 가상화를 사용 중지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6

YAML 정의

다음은 기본 설정의 사전 정의된 상황에 대한 YAML 정의입니다.

name: organizations/123/locations/global/postureTemplates/secure_by_default
description: Posture Template to make your cloud environment more secure.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: Secure-By-Default policy_set
  description: 18 org policies that new customers can automatically enable.
  policies:
  - policy_id: Disable service account key creation
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.disableServiceAccountKeyCreation
        policy_rules:
        - enforce: true
    description: Prevent users from creating persistent keys for service accounts to decrease the risk of exposed service account credentials.
  - policy_id: Disable Automatic IAM Grants for Default Service Accounts
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.automaticIamGrantsForDefaultServiceAccounts
        policy_rules:
        - enforce: true
    description: Prevent default service accounts from receiving the overly-permissive IAM role Editor at creation.
  - policy_id: Disable Service Account Key Upload
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.disableServiceAccountKeyUpload
        policy_rules:
        - enforce: true
    description: Avoid the risk of leaked and reused custom key material in service account keys.
  - policy_id: Enforce Public Access Prevention
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: storage.publicAccessPrevention
        policy_rules:
        - enforce: true
    description: Enforce that Storage Buckets cannot be configured as open to unauthenticated public access.
  - policy_id: Domain restricted sharing
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    - standard: NIST SP 800-53
      control: IA-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: iam.allowedPolicyMemberDomains
        policy_rules:
        - values:
            allowed_values:
            - directoryCustomerId
    description: Limit IAM policies to only allow managed user identities in my selected domain(s) to access resources inside this organization.
  - policy_id: Domain restricted contacts
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    - standard: NIST SP 800-53
      control: IA-2
    constraint:
      org_policy_constraint:
        canned_constraint_id: essentialcontacts.allowedContactDomains
        policy_rules:
        - values:
            allowed_values:
            - "@google.com"
    description: Limit Essential Contacts to only allow managed user identities in my selected domain(s) to receive platform notifications.
  - policy_id: Enforce uniform bucket-level access
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: storage.uniformBucketLevelAccess
        policy_rules:
        - enforce: true
    description: Prevent GCS buckets from using per-object ACL (a separate system from IAM policies) to provide access, enforcing a consistency for access management and auditing.
  - policy_id: Require OS Login
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AU-12
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.requireOsLogin
        policy_rules:
        - enforce: true
    description: Require OS Login on newly created VMs to more easily manage SSH keys, provide resource-level permission with IAM policies, and log user access.
  - policy_id: Disable VM serial port access
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableSerialPortAccess
        policy_rules:
        - enforce: true
    description: Prevent users from accessing the VM serial port which can be used for backdoor access from the Compute Engine API control plane
  - policy_id: Restrict shared VPC project lien removal
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.restrictXpnProjectLienRemoval
        policy_rules:
        - enforce: true
    description: Prevent the accidental deletion of Shared VPC host projects by restricting the removal of project liens.
  - policy_id: Define allowed external IPs for VM instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.vmExternalIpAccess
        policy_rules:
        - deny_all: true
    description: Prevent the creation of Compute instances with a public IP, which can expose them to internet ingress and egress.
  - policy_id: Skip default network creation
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.skipDefaultNetworkCreation
        policy_rules:
        - enforce: true
    description: Disable the automatic creation of a default VPC network and default firewall rules in each new project, ensuring that my network and firewall rules are intentionally created.
  - policy_id: Sets the internal DNS setting for new projects to Zonal DNS Only
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.setNewProjectDefaultToZonalDNSOnly
        policy_rules:
        - enforce: true
    description: Set guardrails that application developers cannot choose legacy DNS settings for compute instances that have lower service reliability than modern DNS settings.
  - policy_id: Restrict Public IP access on Cloud SQL instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: sql.restrictPublicIp
        policy_rules:
        - enforce: true
    description: Prevent the creation of Cloud SQL instances with a public IP, which can expose them to internet ingress and egress.
  - policy_id: Restrict Authorized Networks on Cloud SQL instances
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: sql.restrictAuthorizedNetworks
        policy_rules:
        - enforce: true
    description: Prevent public or non-RFC 1918 network ranges from accessing my Cloud SQL databases.
  - policy_id: Restrict Protocol Forwarding Based on type of IP Address
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.restrictProtocolForwardingCreationForTypes
        policy_rules:
        - values:
            allowed_values:
            - INTERNAL
    description: Allow VM protocol forwarding for internal IP addresses only.
  - policy_id: Disable VPC External IPv6 usage
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableVpcExternalIpv6
        policy_rules:
        - enforce: true
    description: Prevent the creation of external IPv6 subnets, which can be exposed to internet ingress and egress.
  - policy_id: Disable VM nested virtualization
    compliance_standards:
    - standard: NIST SP 800-53
      control: AC-3
    - standard: NIST SP 800-53
      control: AC-6
    constraint:
      org_policy_constraint:
        canned_constraint_id: compute.disableNestedVirtualization
        policy_rules:
        - enforce: true
    description: Disable nested virtualization to decrease my security risk due to unmonitored nested instances.

다음 단계