GCP

Ansibleで管理するGoogle Cloudリソースのセキュリティと構成についての文書です。

文書一覧

文書 パス
Cloud SQL の自動バックアップ設定の確認 ansible/gcp/sql_db_instance_backup_disabled
包含データベース認証が有効なCloud SQLインスタンス ansible/gcp/cloud_sql_instance_with_contained_database_authentication_on
データベース間の所有権チェーンが有効なCloud SQLインスタンス ansible/gcp/cloud_sql_instance_with_cross_db_ownership_chaining_on
Cloud DNS の DNSSEC 設定の確認 ansible/gcp/cloud_dns_without_dnnsec
Cloud DNS の DNSSEC 署名アルゴリズムの確認 ansible/gcp/dnssec_using_rsasha1
GCP ファイアウォールの許可ポート範囲の確認 ansible/gcp/google_compute_network_using_firewall_allows_port_range
サブネットの Private Google Access 設定の確認 ansible/gcp/google_compute_subnetwork_with_private_google_access_disabled
GKE の VPC ネイティブネットワーク設定の確認 ansible/gcp/ip_aliasing_disabled
GKE コントロールプレーンの許可ネットワークの確認 ansible/gcp/gke_master_authorized_networks_disabled
GKE ノードによるデフォルトサービスアカウントの使用 ansible/gcp/gke_using_default_service_account
GKE のレガシー Basic 認証設定の確認 ansible/gcp/gke_basic_authentication_enabled
GKE のネットワークポリシー適用設定の確認 ansible/gcp/network_policy_disabled
GKE ノードの自動アップグレード設定の確認 ansible/gcp/node_auto_upgrade_disabled
GKE ノードプールの自動修復設定の確認 ansible/gcp/google_container_node_pool_auto_repair_disabled
GKE ノードイメージ選択の確認 ansible/gcp/cos_node_image_not_used
GKE のログ収集が無効 ansible/gcp/stackdriver_logging_disabled
GKE のモニタリングが無効 ansible/gcp/stackdriver_monitoring_disabled
GKE クラスターのラベルが不足 ansible/gcp/cluster_labels_disabled
GKE ノードとコントロールプレーンの公開アクセスの確認 ansible/gcp/private_cluster_disabled
Compute Engine VM で IP 転送が有効 ansible/gcp/ip_forwarding_enabled
Cloud KMS キーのローテーション間隔の確認 ansible/gcp/high_google_kms_crypto_key_rotation_period
従来の ABAC を有効にした GKE クラスター設定 ansible/gcp/gke_legacy_authorization_enabled
ローカルファイルの読み込みが有効なCloud SQL MySQLインスタンス ansible/gcp/mysql_instance_with_local_infile_on
PostgreSQL のチェックポイントログが無効 ansible/gcp/postgresql_log_checkpoints_flag_not_set_to_on
PostgreSQL のサーバーログレベルの確認 ansible/gcp/postgresql_misconfigured_log_messages_flag
PostgreSQL の一時ファイルログの範囲の確認 ansible/gcp/postgresql_logging_of_temporary_files_disabled
PostgreSQL の接続ログが無効 ansible/gcp/postgresql_log_connections_disabled
PostgreSQL の実行時間ログの基準の確認 ansible/gcp/postgresql_misconfigured_logging_duration_flag
RDPへの接続元を制限していないGCPファイアウォール ansible/gcp/rdp_access_is_not_restricted
IPv4 全体からの SSH を許可する GCP ファイアウォール ansible/gcp/ssh_access_is_not_restricted
Cloud SQLのデータベース接続の暗号化 ansible/gcp/sql_db_instance_with_ssl_disabled
Shielded VM の保護設定の確認 ansible/gcp/shielded_vm_disabled
VM の対話型シリアルコンソールが有効 ansible/gcp/serial_ports_enabled_for_vm_instances
VM インスタンスで OS Login が無効 ansible/gcp/oslogin_is_disabled_for_vm_instance
VM の Cloud API スコープと IAM 権限の確認 ansible/gcp/vm_with_full_cloud_access
認証済みの全ユーザーを対象とする BigQuery アクセス設定 ansible/gcp/bigquery_dataset_is_public
外部 IP が設定された Compute Engine インスタンス ansible/gcp/compute_instance_is_publicly_accessible
ネットワークアクセス設定の確認が必要な Cloud SQL インスタンス ansible/gcp/sql_db_instance_is_publicly_accessible
GCP の既定のファイアウォールルールによるアクセス範囲の確認 ansible/gcp/google_compute_network_using_default_firewall_rule
VM のデフォルトサービスアカウントの権限を確認 ansible/gcp/using_default_service_account
Compute Engine ディスクの暗号化キー管理の確認 ansible/gcp/disk_encryption_disabled
Cloud Storage バケットの使用状況ログ設定の確認 ansible/gcp/cloud_storage_bucket_logging_not_enabled
GKE コントロールプレーンの認証設定の確認 ansible/gcp/cluster_master_authentication_disabled
すべてのポートを許可する GCP ファイアウォールルール ansible/gcp/google_compute_network_using_firewall_rule_allows_all_ports
Cloud Storage のオブジェクトのバージョニング設定の確認 ansible/gcp/cloud_storage_bucket_versioning_disabled
Compute SSL ポリシーの最小 TLS バージョンの確認 ansible/gcp/google_compute_ssl_policy_weak_cipher_in_use
Cloud Storage バケットの公開アクセス権限の確認 ansible/gcp/cloud_storage_anonymous_or_publicly_accessible
GKEの従来のクライアント証明書認証 ansible/gcp/client_certificate_disabled
VM インスタンスでプロジェクト共通 SSH 鍵を許可 ansible/gcp/project_wide_ssh_keys_are_enabled_in_vm_instances

関連ページ49

Cloud SQL の自動バックアップ設定の確認

対応するバックアップ方式と保持方針を構成し、実際に復元できることを確認してください。

包含データベース認証が有効なCloud SQLインスタンス

包含データベース認証では、データベース内でユーザーのアクセスを管理できます。機能の必要性とユーザー管理権限を確認してください。

データベース間の所有権チェーンが有効なCloud SQLインスタンス

データベース間の所有権チェーンは、別のデータベースのオブジェクトに対する権限確認に影響します。既存の依存関係を確認し、不要なチェーンを解消してください。

Cloud DNS の DNSSEC 設定の確認

公開 DNS 応答を検証できるよう、DNSSEC と親ゾーンへの信頼の連鎖を構成してください。

Cloud DNS の DNSSEC 署名アルゴリズムの確認

推奨される DNSSEC 署名アルゴリズムを使用し、信頼の連鎖を維持して移行してください。

GCP ファイアウォールの許可ポート範囲の確認

サービスに必要なポート、送信元、対象だけを許可してください。

サブネットの Private Google Access 設定の確認

外部 IP のない VM の Google API 接続経路と Private Google Access を確認してください。

GKE の VPC ネイティブネットワーク設定の確認

GKE の VPC ネイティブネットワークと Pod、Service のアドレス計画を確認します。

GKE コントロールプレーンの許可ネットワークの確認

GKE コントロールプレーンの IP エンドポイントへのアクセスを、必要な管理ネットワークに限定します。

GKE ノードによるデフォルトサービスアカウントの使用

GKE ノードには、必要なロールだけを持つ専用サービスアカウントを使用します。

GKE のレガシー Basic 認証設定の確認

GKE 構成に残るレガシー Basic 認証設定とログイン手順を整理します。

GKE のネットワークポリシー適用設定の確認

GKE に必要な NetworkPolicy を配置し、通信制限が実際に適用されることを確認します。

GKE ノードの自動アップグレード設定の確認

GKE ノードの自動アップグレードとセキュリティ更新の予定を確認します。

GKE ノードプールの自動修復設定の確認

GKE ノードの自動修復と障害監視を合わせて確認します。

GKE ノードイメージ選択の確認

ノードイメージをワークロードの OS 要件とサポート方針に合わせて選んでください。

GKE のログ収集が無効

GKE で必要なシステムログとワークロードログが収集されることを確認します。

GKE のモニタリングが無効

GKE で必要なメトリクスを収集し、運用のアラートに結び付けます。

GKE クラスターのラベルが不足

環境と担当チームを示すクラスターラベルを一貫して管理してください。

GKE ノードとコントロールプレーンの公開アクセスの確認

GKE ノードの外部 IP とコントロールプレーンへのアクセス経路を別々に確認し、必要な管理経路だけを許可してください。

Compute Engine VM で IP 転送が有効

ルーターやネットワーク機器として使わない VM では IP 転送を無効にし、必要な例外を管理してください。

Cloud KMS キーのローテーション間隔の確認

組織の方針に従ってキーのバージョンを更新し、既存データの復号に必要なバージョンを保持してください。

従来の ABAC を有効にした GKE クラスター設定

GKE の従来の ABAC は、IAM や RBAC 以外の権限を追加します。必要な権限を用意してから ABAC を無効にし、実際のクラスターへのアクセスを確認してください。

ローカルファイルの読み込みが有効なCloud SQL MySQLインスタンス

LOAD DATA LOCALはクライアントのファイルをMySQLサーバーへ転送します。不要な読み込みを無効にし、クライアントのファイルアクセスと接続先の確認を徹底してください。

PostgreSQL のチェックポイントログが無効

Cloud SQL for PostgreSQL のチェックポイントログで、書き込み負荷や性能の問題を調べます。

PostgreSQL のサーバーログレベルの確認

PostgreSQL の運用に必要なサーバーログのレベルを選び、無効な値や記録の過不足を防いでください。

PostgreSQL の一時ファイルログの範囲の確認

PostgreSQL の一時ファイルログのサイズ基準を運用目的に合わせ、ログ量とアクセス権限を確認してください。

PostgreSQL の接続ログが無効

Cloud SQL for PostgreSQL の接続ログで、アカウントの接続履歴を確認します。

PostgreSQL の実行時間ログの基準の確認

PostgreSQL の実行時間ログの基準を診断の必要性とログ量に合わせ、SQL 文を含むログを保護してください。

RDPへの接続元を制限していないGCPファイアウォール

すべてのアドレスからRDP接続を許可すると、不要な認証試行やサービスへの攻撃を受けるおそれがあります。管理に必要な接続元と経路に限定してください。

IPv4 全体からの SSH を許可する GCP ファイアウォール

SSH の管理アクセスを承認済みの送信元と対象 VM に限定し、強固な認証も適用してください。

Cloud SQLのデータベース接続の暗号化

データベース接続をSSL/TLSで保護し、サーバーの身元を検証してください。Cloud SQLのエンジンと実際の接続経路に合った設定が必要です。

Shielded VM の保護設定の確認

対応する VM イメージで、起動時の整合性保護を設定します。

VM の対話型シリアルコンソールが有効

不要な VM の対話型シリアルコンソールアクセスを無効にします。

VM インスタンスで OS Login が無効

対応する Linux VM では OS Login で SSH アクセスを IAM と連携させ、必要な権限だけを付与してください。

VM の Cloud API スコープと IAM 権限の確認

VM の OAuth スコープとサービスアカウントの IAM ロールを合わせて確認します。

認証済みの全ユーザーを対象とする BigQuery アクセス設定

BigQuery で allAuthenticatedUsers に権限を与えると、組織外の認証済みユーザーもデータにアクセスできる場合があります。必要な対象とロールにアクセスを限定してください。

外部 IP が設定された Compute Engine インスタンス

VM に外部 IP が必要か確認し、ファイアウォール、管理経路、サービスの認証を適切に設定してください。

ネットワークアクセス設定の確認が必要な Cloud SQL インスタンス

Cloud SQL の IP 設定と承認済みネットワークを確認し、必要なクライアントだけが接続できるように構成します。

GCP の既定のファイアウォールルールによるアクセス範囲の確認

既定のファイアウォールルールが許可する送信元、対象、ポートを確認し、業務に必要な範囲に制限してください。

VM のデフォルトサービスアカウントの権限を確認

VM の用途に合うサービスアカウントと、最小限の権限を設定します。

Compute Engine ディスクの暗号化キー管理の確認

既定の暗号化を確認し、顧客による管理が必要な場合はキー権限と復旧手順を構成してください。

Cloud Storage バケットの使用状況ログ設定の確認

監査目的に合うログを収集し、アクセス権限と保持期間を管理してください。

GKE コントロールプレーンの認証設定の確認

GKE コントロールプレーンの認証方法と IAM、RBAC の権限を確認します。

すべてのポートを許可する GCP ファイアウォールルール

許可する TCP・UDP ポートを必要なサービスに限定し、ファイアウォールの送信元と対象も確認してください。

Cloud Storage のオブジェクトのバージョニング設定の確認

オブジェクトの変更履歴と削除からの復旧要件に合う保護を構成してください。

Compute SSL ポリシーの最小 TLS バージョンの確認

必要なクライアントとの互換性を保ちながら、古い TLS 接続を制限してください。

Cloud Storage バケットの公開アクセス権限の確認

Cloud Storage の公開権限を確認し、バケットとオブジェクトへのアクセスを必要な範囲に制限します。

GKEの従来のクライアント証明書認証

GKEで推奨される認証方式を使い、発行済みの従来のクライアント証明書に付与された権限を管理する方法を説明します。

VM インスタンスでプロジェクト共通 SSH 鍵を許可

メタデータベースの SSH を使う VM では、プロジェクト共通鍵の必要性を確認し、必要なインスタンスへのアクセスだけを許可してください。