ISO 27001 の事前定義された体制テンプレート

このページでは、国際標準化機構(ISO)27001 標準の事前定義された体制テンプレートの v1.0 バージョンに含まれる検出ポリシーについて説明します。このテンプレートには、ISO 27001 基準を遵守する必要があるワークロードに適用される Security Health Analytics 検出項目を定義するポリシーセットが含まれています。

このポスチャー テンプレートは、変更を加えることなくデプロイできます。

Security Health Analytics の検出機能

次の表に、このポスチャー テンプレートに含まれる Security Health Analytics の検出機能を示します。

検出項目の名前 説明
SQL_CROSS_DB_OWNERSHIP_CHAINING

この検出機能は、Cloud SQL for SQL Server の cross_db_ownership_chaining フラグがオフになっていないかどうかをチェックします。

INSTANCE_OS_LOGIN_DISABLED

この検出機能は、OS Login がオンになっていないかどうかをチェックします。

SQL_SKIP_SHOW_DATABASE_DISABLED

この検出機能は、Cloud SQL for MySQL で skip_show_database フラグがオンになっていないかどうかをチェックします。

ESSENTIAL_CONTACTS_NOT_CONFIGURED

この検出機能は、重要な連絡先が 1 人以上いるかどうかを確認します。

AUDIT_LOGGING_DISABLED

この検出機能は、リソースで監査ロギングがオフになっているかどうかを確認します。

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

この検出機能は、VPC フローログがオンになっていないかどうかをチェックします。

API_KEY_EXISTS

この検出機能は、プロジェクトが標準認証ではなく API キーを使用しているかどうかを確認します。

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

この検出機能は、Cloud SQL for PostgreSQL の log_min_error_statement フラグに適切な重大度が設定されていないかどうかを確認します。

LOCKED_RETENTION_POLICY_NOT_SET

この検出機能は、ロックされた保持ポリシーがログに設定されているかどうかを確認します。

SQL_LOG_DISCONNECTIONS_DISABLED

この検出機能は、Cloud SQL for PostgreSQL で log_disconnections フラグがオンになっていないかどうかをチェックします。

COMPUTE_SERIAL_PORTS_ENABLED

この検出機能は、シリアルポートが有効になっているかどうかを確認します。

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

この検出機能は、プロジェクト全体の SSH 認証鍵が使用されているかどうかを確認します。

KMS_KEY_NOT_ROTATED

この検出機能は、Cloud Key Management Service の暗号化のローテーションが有効になっていないかどうかを確認します。

DNS_LOGGING_DISABLED

この検出機能は、VPC ネットワークで DNS ロギングが有効になっているかどうかを確認します。

SQL_LOCAL_INFILE

この検出機能は、Cloud SQL for MySQL の local_infile フラグがオフになっていないかどうかをチェックします。

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

この検出機能は、Cloud SQL for PostgreSQL の log_min_duration_statement フラグが -1 に設定されていないかどうかを確認します。

PUBLIC_DATASET

この検出機能は、データセットが公開アクセスを許可するように構成されているかどうかを確認します。詳細については、データセットの脆弱性の検出をご覧ください。

DISK_CSEK_DISABLED

この検出機能は、VM で顧客指定の暗号鍵(CSEK)サポートがオフになっているかどうかを確認します。

SQL_USER_CONNECTIONS_CONFIGURED

この検出機能は、Cloud SQL for SQL Server で user connections フラグが構成されているかどうかを確認します。

SERVICE_ACCOUNT_ROLE_SEPARATION

この検出機能は、サービス アカウント キーの職掌分散をチェックします。

AUDIT_CONFIG_NOT_MONITORED

この検出機能は、監査構成の変更がモニタリングされているかどうかを確認します。

BUCKET_IAM_NOT_MONITORED

この検出機能は、Cloud Storage で IAM 権限の変更に対してロギングがオフになっているかどうかを確認します。

PUBLIC_SQL_INSTANCE

この検出機能は、Cloud SQL ですべての IP アドレスからの接続が許可されているかどうかを確認します。

AUTO_BACKUP_DISABLED

この検出機能は、Cloud SQL データベースで自動バックアップが有効になっていないかどうかを確認します。

DATAPROC_CMEK_DISABLED

この検出機能は、Dataproc クラスタで CMEK のサポートが無効になっているかどうかを確認します。

LOG_NOT_EXPORTED

この検出機能は、リソースにログシンクが構成されていないかどうかを確認します。

KMS_PROJECT_HAS_OWNER

この検出機能は、キーを含むプロジェクトに対するオーナー権限がユーザーに付与されているかどうかをチェックします。

KMS_ROLE_SEPARATION

この検出機能は、Cloud KMS 鍵の職掌分散をチェックします。

API_KEY_APIS_UNRESTRICTED

この検出機能は、API キーの使用範囲が広すぎるかどうかをチェックします。

SQL_LOG_MIN_MESSAGES

この検出機能は、Cloud SQL for PostgreSQL の log_min_messages フラグが warning に設定されていないかどうかを確認します。

SQL_PUBLIC_IP

この検出機能は、Cloud SQL データベースに外部 IP アドレスがあるかどうかを確認します。

DATASET_CMEK_DISABLED

この検出機能は、BigQuery データセットに対して CMEK のサポートがオフになっているかどうかを確認します。

FIREWALL_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ファイアウォール ルールの変更をモニタリングするように構成されていないかどうかを確認します。

SQL_LOG_STATEMENT

この検出機能は、Cloud SQL for PostgreSQL Server の log_statement フラグが ddl に設定されていないかどうかを確認します。

BIGQUERY_TABLE_CMEK_DISABLED

この検出機能は、BigQuery テーブルが顧客管理の暗号鍵(CMEK)を使用するように構成されていないかどうかを確認します。詳細については、データセットの脆弱性の検出をご覧ください。

CONFIDENTIAL_COMPUTING_DISABLED

この検出機能は、Confidential Computing が無効になっているかどうかを確認します。

SQL_INSTANCE_NOT_MONITORED

この検出機能は、Cloud SQL の構成変更に対するロギングがオフになっているかどうかを確認します。

KMS_PUBLIC_KEY

この検出機能は、Cloud Key Management Service 暗号鍵が一般公開されているかどうかをチェックします。詳細については、KMS の脆弱性の検出をご覧ください。

DEFAULT_NETWORK

この検出機能は、デフォルト ネットワークがプロジェクト内に存在するかどうかを確認します。

SQL_TRACE_FLAG_3625

この検出機能は、Cloud SQL for SQL Server で 3625 (trace flag) フラグがオンになっていないかどうかをチェックします。

API_KEY_NOT_ROTATED

この検出機能は、過去 90 日以内に API キーがローテーションされたかどうかを確認します。

DNSSEC_DISABLED

この検出機能は、Cloud DNS で DNS Security(DNSSEC)がオフになっているかどうかを確認します。詳細については、DNS の脆弱性の検出をご覧ください。

SQL_LOG_CONNECTIONS_DISABLED

この検出機能は、Cloud SQL for PostgreSQL で log_connections フラグがオンになっていないかどうかをチェックします。

LEGACY_NETWORK

この検出機能は、プロジェクトに以前のネットワークが存在するかどうかを確認します。

PUBLIC_IP_ADDRESS

この検出機能は、インスタンスに外部 IP アドレスがあるかどうかを確認します。

FULL_API_ACCESS

この検出機能は、インスタンスがすべての Google Cloud API に対する完全アクセス権を持つデフォルトのサービス アカウントを使用しているかどうかを確認します。

SQL_CONTAINED_DATABASE_AUTHENTICATION

この検出機能は、Cloud SQL for SQL Server の contained database authentication フラグがオフになっていないかどうかをチェックします。

OS_LOGIN_DISABLED

この検出機能は、OS Login がオフになっているかどうかを確認します。

SQL_USER_OPTIONS_CONFIGURED

この検出機能は、Cloud SQL for SQL Server で user options フラグが構成されているかどうかを確認します。

ADMIN_SERVICE_ACCOUNT

この検出機能は、サービス アカウントに管理者オーナー、または編集者の権限が付与されているかどうかを確認します。

DEFAULT_SERVICE_ACCOUNT_USED

この検出機能は、デフォルトのサービス アカウントが使用されているかどうかを確認します。

NETWORK_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ネットワークの変更をモニタリングするように構成されていないかどうかを確認します。

PUBLIC_BUCKET_ACL

この検出機能は、バケットが一般公開されているかどうかを確認します。

CUSTOM_ROLE_NOT_MONITORED

この検出機能は、カスタムロールの変更に対してロギングがオフになっているかどうかを確認します。

SQL_LOG_ERROR_VERBOSITY

この検出機能は、Cloud SQL for PostgreSQL の log_error_verbosity フラグが default に設定されていないかどうかを確認します。

LOAD_BALANCER_LOGGING_DISABLED

この検出機能は、ロードバランサのロギングがオフになっているかどうかを確認します。

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

この検出機能は、ユーザーが特定のサービス アカウントではなく、プロジェクト レベルでのサービス アカウントのロールを持っているかどうかを確認します。

SQL_REMOTE_ACCESS_ENABLED

この検出機能は、Cloud SQL for SQL Server の remote_access フラグがオフになっていないかどうかをチェックします。

RSASHA1_FOR_SIGNING

この検出機能は、Cloud DNS ゾーンにログインする鍵に RSASHA1 が使用されているかどうかを確認します。

CLOUD_ASSET_API_DISABLED

この検出機能は、Cloud Asset Inventory が無効になっているかどうかを確認します。

BUCKET_POLICY_ONLY_DISABLED

この検出機能は、均一なバケットレベルのアクセスが構成されているかどうかを確認します。

ROUTE_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ネットワーク ルートの変更をモニタリングするように構成されていないかどうかを確認します。

OWNER_NOT_MONITORED

この検出機能は、プロジェクト所有権の割り当てと変更に対してロギングがオフになっているかどうかを確認します。

YAML の定義

ISO 27001 の体制テンプレートの YAML 定義は次のとおりです。

name: organizations/123/locations/global/postureTemplates/iso_27001
description: Posture Template to make your workload ISO-27001 compliant.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: ISO-27001 detective policy set
  description: 63 SHA modules that new customers can automatically enable.
  policies:
  - policy_id: SQL cross DB ownership chaining
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_CROSS_DB_OWNERSHIP_CHAINING
  - policy_id: Instance OS login disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: INSTANCE_OS_LOGIN_DISABLED
  - policy_id: SQL skip show database disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_SKIP_SHOW_DATABASE_DISABLED
  - policy_id: Essential contacts not configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ESSENTIAL_CONTACTS_NOT_CONFIGURED
  - policy_id: Audit logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUDIT_LOGGING_DISABLED
  - policy_id: VPC flow logs settings not recommended
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED
  - policy_id: API key exists
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_EXISTS
  - policy_id: SQL log min error statement severity
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY
  - policy_id: Locked retention policy not set
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOCKED_RETENTION_POLICY_NOT_SET
  - policy_id: SQL log disconnections disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_DISCONNECTIONS_DISABLED
  - policy_id: Compute serial ports enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_SERIAL_PORTS_ENABLED
  - policy_id: Compute project wide ssh keys allowed
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED
  - policy_id: KMS key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_KEY_NOT_ROTATED
  - policy_id: DNS logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNS_LOGGING_DISABLED
  - policy_id: SQL local infile
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOCAL_INFILE
  - policy_id: SQL log min duration statement enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_DURATION_STATEMENT_ENABLED
  - policy_id: Public dataset
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_DATASET
  - policy_id: Disk CSEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DISK_CSEK_DISABLED
  - policy_id: SQL user connections configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_USER_CONNECTIONS_CONFIGURED
  - policy_id: Service account role separation
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SERVICE_ACCOUNT_ROLE_SEPARATION
  - policy_id: Audit config not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUDIT_CONFIG_NOT_MONITORED
  - policy_id: Bucket IAM not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_IAM_NOT_MONITORED
  - policy_id: Public SQL instance
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_SQL_INSTANCE
  - policy_id: Auto backup disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUTO_BACKUP_DISABLED
  - policy_id: Dataproc CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATAPROC_CMEK_DISABLED
  - policy_id: Log not exported
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOG_NOT_EXPORTED
  - policy_id: KMS project has owner
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PROJECT_HAS_OWNER
  - policy_id: KMS role separation
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_ROLE_SEPARATION
  - policy_id: API key APIs unrestricted
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_APIS_UNRESTRICTED
  - policy_id: SQL log min messages
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_MESSAGES
  - policy_id: SQL public IP
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_PUBLIC_IP
  - policy_id: Dataset CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATASET_CMEK_DISABLED
  - policy_id: Firewall not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: FIREWALL_NOT_MONITORED
  - policy_id: SQL log statement
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_STATEMENT
  - policy_id: BigQuery table CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BIGQUERY_TABLE_CMEK_DISABLED
  - policy_id: Confidential computing disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CONFIDENTIAL_COMPUTING_DISABLED
  - policy_id: SQL instance not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_INSTANCE_NOT_MONITORED
  - policy_id: KMS public key
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PUBLIC_KEY
  - policy_id: Default network
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DEFAULT_NETWORK
  - policy_id: SQL trace flag 3625
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_TRACE_FLAG_3625
  - policy_id: API key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_NOT_ROTATED
  - policy_id: DNSSEC disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNSSEC_DISABLED
  - policy_id: SQL log connections disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_CONNECTIONS_DISABLED
  - policy_id: Legacy network
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LEGACY_NETWORK
  - policy_id: Public IP address
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_IP_ADDRESS
  - policy_id: Full API access
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: FULL_API_ACCESS
  - policy_id: SQL contained database authentication
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_CONTAINED_DATABASE_AUTHENTICATION
  - policy_id: OS login disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OS_LOGIN_DISABLED
  - policy_id: SQL user options configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_USER_OPTIONS_CONFIGURED
  - policy_id: Admin service account
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ADMIN_SERVICE_ACCOUNT
  - policy_id: Default service account used
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DEFAULT_SERVICE_ACCOUNT_USED
  - policy_id: Network not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: NETWORK_NOT_MONITORED
  - policy_id: Public bucket ACL
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_BUCKET_ACL
  - policy_id: Custom role not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CUSTOM_ROLE_NOT_MONITORED
  - policy_id: SQL log error verbosity
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_ERROR_VERBOSITY
  - policy_id: Load balancer logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOAD_BALANCER_LOGGING_DISABLED
  - policy_id: Over privileged service account user
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OVER_PRIVILEGED_SERVICE_ACCOUNT_USER
  - policy_id: SQL remote access enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_REMOTE_ACCESS_ENABLED
  - policy_id: RSASHA1 for signing
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: RSASHA1_FOR_SIGNING
  - policy_id: Cloud asset API disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CLOUD_ASSET_API_DISABLED
  - policy_id: Bucket policy only disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_POLICY_ONLY_DISABLED
  - policy_id: Route not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ROUTE_NOT_MONITORED
  - policy_id: Owner not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OWNER_NOT_MONITORED

次のステップ