デフォルトでセキュリティを確保するための事前定義されたポスチャー、基本事項

このページでは、デフォルトでセキュリティを確保するための事前定義された対策 v1.0 バージョンに含まれる予防的ポリシーの基本事項について説明します。この対策は、デフォルト設定に起因する一般的な構成ミスや一般的なセキュリティ問題を防ぐのに役立ちます。

この事前定義された対策を使用して、Google Cloud リソースの保護に役立つセキュリティ対策を構成できます。この事前定義済みの対策は、変更を加えることなくデプロイできます。

ポリシー 説明 コンプライアンス標準
iam.disableServiceAccountKeyCreation

この制約により、ユーザーはサービス アカウントに永続的なキーを作成できなくなり、サービス アカウントの認証情報が公開されるリスクが軽減されます。

サービス アカウント キーの作成を無効にする場合、値は true です。

NIST SP 800-53 コントロール: AC-2
iam.automaticIamGrantsForDefaultServiceAccounts

この制約により、デフォルトのサービス アカウントの作成時に、過剰な権限を持つ Identity and Access Management(IAM)ロール編集者が付与されなくなります。

デフォルトのサービス アカウントに対する IAM の自動付与を無効にする場合、値は false です。

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
storage.uniformBucketLevelAccess

このポリシーは、オブジェクトごとの ACL(IAM ポリシーとは別のシステム)を使用して Cloud Storage バケットへのアクセスが提供されるのを防ぎ、アクセス管理と監査に整合性をもたらします。

均一なバケットレベルのアクセスを適用する場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.requireOsLogin

このポリシーでは、SSH 認証鍵の管理、IAM ポリシーでのリソースレベルの権限の付与、ユーザー アクセスのロギングをより簡単にするために、新しく作成された VM に OS Login が必要です。

OS Login が必要な場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AU-12
compute.disableSerialPortAccess

このポリシーは、Compute Engine API コントロール プレーンからのバックドア アクセスに使用できる VM シリアルポートに、ユーザーがアクセスできないようにします。

VM シリアルポート アクセスを無効にする場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.restrictXpnProjectLienRemoval

このポリシーでは、プロジェクト リーエンの削除を制限して、共有 VPC ホスト プロジェクトの誤削除を防ぎます。

共有 VPC プロジェクト リーエンの削除を制限する場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.vmExternalIpAccess

このポリシーは、受信インターネット トラフィックと送信インターネット トラフィックに公開される可能性があるパブリック IP アドレスを持つ Compute Engine インスタンスの作成を禁止します。

パブリック IP アドレスからのすべてのアクセスをオフにする場合、値は denyAll になります。特定の VM インスタンスが公開アクセス権を持つことを許可するように変更する場合は、次の値を設定します。


policy_rules:
    - values:
      allowed_values:
      - is:projects/PROJECT_ID/zones/ZONE/instances/INSTANCE
NIST SP 800-53 コントロール: AC-3 および AC-6
compute.skipDefaultNetworkCreation

このポリシーにより、新しい各プロジェクトでのデフォルトの VPC ネットワークとデフォルトのファイアウォール ルールの自動作成が無効になり、ネットワークとファイアウォールのルールが意図したとおりに作成されます。

デフォルトの VPC ネットワークが作成されないようにする場合、値は true になります。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.setNewProjectDefaultToZonalDNSOnly

このポリシーにより、アプリケーション デベロッパーは、最新の DNS 設定よりもサービスの信頼性が低い Compute Engine インスタンスに対して、以前の DNS 設定を選択できなくなります。

新しいプロジェクトの場合、値は Zonal DNS only です。

NIST SP 800-53 コントロール: AC-3 および AC-6
sql.restrictPublicIp

このポリシーは、パブリック IP アドレスが受信インターネット トラフィックと送信インターネット トラフィックに公開される可能性があるパブリック IP アドレスを持つ Cloud SQL インスタンスの作成を禁止します。

パブリック IP アドレスによる Cloud SQL インスタンスへのアクセスを制限する場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
sql.restrictAuthorizedNetworks

このポリシーにより、パブリックまたは RFC 1918 以外のネットワーク範囲が Cloud SQL データベースにアクセスできなくなります。

Cloud SQL インスタンス上の承認済みネットワークを制限する場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.restrictProtocolForwardingCreationForTypes

このポリシーは、内部 IP アドレスに対してのみ VM プロトコル転送を許可します。

IP アドレスのタイプに基づいてプロトコル転送を制限する場合、値は INTERNAL です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.disableVpcExternalIpv6

このポリシーにより、受信と送信のインターネット トラフィックに公開される可能性のある外部 IPv6 サブネットを作成できなくなります。

外部 IPv6 サブネットを無効にする場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6
compute.disableNestedVirtualization

このポリシーは、すべての Compute Engine VM でネストされた仮想化を無効にして、モニタリングされていないネストされたインスタンスに関連するセキュリティ リスクを軽減します。

VM のネストされた仮想化をオフにする場合、値は true です。

NIST SP 800-53 コントロール: AC-3 および AC-6

YAML の定義

デフォルト設定の事前定義されたポスチャーの YAML 定義は次のとおりです。

name: organizations/123/locations/global/postureTemplates/secure_by_default_essential
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: 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.

次のステップ