CNE GCP対応:セキュリティに関する推奨事項
Cloud Native Experience (CNE) GCP Readyは、Kubernetes、インフラストラクチャのプロビジョニング、およびプラットフォームへのアクセスにおいて、デフォルトでセキュリティが確保されたデプロイメントパターンをサポートします。
これらの推奨事項を活用して、運用リスクを軽減し、導入を一般的な企業セキュリティ対策に準拠させてください。
プライベートGKEクラスターを使用する
CNEは、デフォルトでGoogle Kubernetes Engine(GKE)クラスターをプライベートクラスターとしてプロビジョニングします。
可能な限り、プライベートクラスタ構成を有効にしておいてください。 Kubernetes APIサーバーを外部に公開することは避けてください。
クラスターへのアクセスには、パブリックAPIエンドポイントの代わりにConnect Gatewayを使用してください。
詳細については、 Kubernetes クラスターへのアクセス を参照してください。
テラフォーミングへのアクセスを制限する
Terraformを使用してインフラストラクチャをプロビジョニングすると、GCPプロジェクト全体でクラウド リソースを作成または削除できます。
Terraformの実行を承認済みのユーザーまたはCI/CD環境に限定する。
推奨される実践方法:
- プロビジョニングには専用のGoogleサービスアカウントを使用してください
- 必要最低限のIAMロールのみを付与する
- 共有資格情報の代わりにサービスアカウントの偽装を使用する
terraform applyには、制御された CI/CD 実行を優先します。
roles/owner や roles/editor のような広範なプロジェクトレベルの役割を付与することは避けてください。
シングルサインオン(SSO)を使用する
可能な限り、プラットフォームサービスをエンタープライズIDプロバイダーと統合してください。
推奨される連携機能としては、Argo CD、Grafana、およびArgo Workflowsが挙げられます。
OpenID Connect(OIDC)やSAMLなどの業界標準の認証プロトコルを使用してください。
すべての管理アクセスに多要素認証(MFA)を必須とする。
最小権限アクセスを適用する
ユーザーには、それぞれの職務に必要な権限のみを付与してください。
Google Cloud IAM、Kubernetes RBAC、および Argo CD RBAC 全体に最小権限アクセス制御を適用します。
権限の割り当ては、個々のユーザーアカウントではなく、IDプロバイダーグループを通じて行うことを推奨します。
ワークロードIDフェデレーションを使用する
CI/CDや外部連携においては、長期有効なサービスアカウントキーよりもワークロードIDフェデレーション(WIF)を優先的に使用してください。
WIFは認証情報管理のオーバーヘッドを削減し、リポジトリやCIシステムに静的な認証情報を保存することを回避します。
詳細については、 ワークロードIDフェデレーションを参照してください。
監査とアクセスログを有効にする
インフラストラクチャおよびプラットフォームコンポーネントの集中ログ記録を有効にする。
推奨されるログ記録ソースは以下のとおりです。
- GKEクラウド監査ログ
- VPCフローログ
- Cloud Load Balancerのアクセスログ
- Cloud SQL監査ログ
- Argo CD監査ログ
- Elasticsearch監査ログ
クラウドログ機能を使用して、データの収集と監視を一元的に行ってください。
組織のコンプライアンス要件に合致していることを確認するため、データ保持ポリシーを見直してください。
Kubernetes Pod セキュリティ アドミッションを使用する
Kubernetes名前空間にPodセキュリティアドミッションラベルを適用することで、準拠していないワークロードのデプロイを防止できます。
以下に例を示します。
pod-security.kubernetes.io/enforce: restricted
特権ノードアクセスを必要とするワークロードに対してのみ、昇格ポリシーを使用してください。
手動によるインフラストラクチャの変更は避ける
GitOps、Terraform、およびCrossplaneワークフローを通じてインフラストラクチャリソースを管理します。
インフラストラクチャの状態が不整合になる可能性があるため、GCPコンソールで管理対象リソースを直接作成、変更、または削除することは避けてください。