अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ PCSE परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक आप, सादे Terraform का उपयोग करके, सबसे छोटी यथार्थवादी PCSE सुरक्षा बेसलाइन — डिफ़ॉल्ट-नेटवर्क निर्माण को रोकने वाला एक ऑर्ग पॉलिसी प्रतिबंध, स्वचालित रोटेशन के साथ एक Cloud KMS कीरिंग + ग्राहक-प्रबंधित एन्क्रिप्शन कुंजी, एक CMK-एन्क्रिप्टेड Cloud Storage बकेट, और IAM घटनाओं को एक समर्पित लॉगिंग बकेट में रूट करने वाला एक Cloud Audit Logs सिंक — तैयार कर चुके होंगे। पाँच ब्लॉक; PCSE रोकें → एन्क्रिप्ट करें → ऑडिट करें लूप।
स्निपेट्स को एक ही main.tf में डालें, terraform init चलाएं, फिर terraform apply को चरण-दर-चरण चलाएं।
>= 1.5 या OpenTofu >= 1.6।roles/orgpolicy.policyAdmin की आवश्यकता है। उसी बाधा का संगठन-स्तर का संस्करण मौजूद है लेकिन उसे Org Admin की आवश्यकता होती है।your-project-id को बदलें।लैब के दायरे में लगभग निःशुल्क:
~$0–$1/माह। यदि आप डैशबोर्ड का अध्ययन करना चाहते हैं तो इसे चालू रखना सस्ता है।
Cloud KMS, Cloud Storage, Cloud Logging, और Org Policy API को सक्षम करें।
terraform {
required_version = ">= 1.5"
required_providers {
google = { source = "hashicorp/google", version = "~> 6.0" }
}
}
provider "google" {
project = "your-project-id" # REPLACE
region = "us-central1"
}
locals {
labels = {
project = "certlabpro-pcse"
managed_by = "terraform"
}
}
data "google_project" "current" {}
resource "google_project_service" "cloudkms" {
service = "cloudkms.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "storage" {
service = "storage.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "logging" {
service = "logging.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "orgpolicy" {
service = "orgpolicy.googleapis.com"
disable_on_destroy = false
}Org Policy Service PCSE का गार्डरेल प्रिमिटिव है — संगठन / फ़ोल्डर / प्रोजेक्ट दायरे पर एक बार बाधाएं निर्धारित करें, और उनका उल्लंघन करने वाले संसाधनों को कभी भी नहीं बनाया जा सकता है। PCSE परीक्षा बाधाओं-बनाम-IAM अंतर का परीक्षण करती है: IAM कौन कार्य कर सकता है को नियंत्रित करता है; Org Policy क्या मौजूद हो सकता है को नियंत्रित करती है।
हम प्रोजेक्ट दायरे पर compute.skipDefaultNetworkCreation लागू करते हैं — जब यह प्रोजेक्ट नया इनिशियलाइज़ होता है, तो GCP सामान्यतः अत्यधिक अनुमेय फ़ायरवॉल नियमों के साथ एक डिफ़ॉल्ट VPC बनाता है। यह बाधा इसे रोकती है। PCSE का डिफ़ॉल्ट रूप से रोकना आकार।
resource "google_project_organization_policy" "skip_default_network" {
project = data.google_project.current.project_id
constraint = "compute.skipDefaultNetworkCreation"
boolean_policy {
enforced = true
}
depends_on = [google_project_service.orgpolicy]
}Cloud KMS PCSE का CMK प्रिमिटिव है — GCS, BigQuery, Compute Engine डिस्क, Cloud SQL, Spanner, Secret Manager में प्रत्येक रेस्ट-पर-एन्क्रिप्शन परिदृश्य के लिए ग्राहक-प्रबंधित एन्क्रिप्शन कुंजी। PCSE परीक्षा CMK रोटेशन (CMEK में डिफ़ॉल्ट रूप से हमेशा चालू; डिफ़ॉल्ट 90-दिवसीय रोटेशन अनुशंसित सेटिंग है) और कीरिंग + कुंजी का पृथक्करण (कीरिंग IAM सीमा है; कुंजी इसे इनहेरिट करती है) का परीक्षण करती है।
हम 90-दिवसीय रोटेशन के साथ एक क्षेत्रीय कीरिंग + एक SYMMETRIC_ENCRYPTION कुंजी बनाते हैं। चरण 4 में बकेट द्वारा कुंजी का उपयोग करने से पहले Cloud Storage सेवा खाते को roles/cloudkms.cryptoKeyEncrypterDecrypter प्रदान करना आवश्यक है — चरण 4 में वह बाइंडिंग शामिल है।
resource "google_kms_key_ring" "main" {
name = "certlabpro-pcse-keyring"
location = "us-central1"
depends_on = [google_project_service.cloudkms]
}
resource "google_kms_crypto_key" "storage_cmk" {
name = "storage-cmk"
key_ring = google_kms_key_ring.main.id
purpose = "ENCRYPT_DECRYPT"
rotation_period = "7776000s" # 90 days
lifecycle {
prevent_destroy = false # lab-only
}
}PCSE-अनुशंसित रेस्ट-पर-एन्क्रिप्शन पैटर्न: संवेदनशील डेटा के लिए कभी भी डिफ़ॉल्ट Google-प्रबंधित एन्क्रिप्शन का उपयोग न करें; हमेशा एक CMK संलग्न करें। हम Cloud Storage सेवा एजेंट (एक प्रोजेक्ट-विशिष्ट सेवा खाता service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com) को CMK पर roles/cloudkms.cryptoKeyEncrypterDecrypter प्रदान करते हैं, फिर एक बकेट प्रावधान करते हैं जो कुंजी को संदर्भित करता है।
इस बकेट में लिखी गई कोई भी वस्तु एक डेटा एन्क्रिप्शन कुंजी (DEK) से लिपटी होती है, जिसे स्वयं CMK द्वारा लपेटा जाता है। CMK को घुमाने से अगली DEK घूमती है; मौजूदा वस्तुएं अगली बार लिखने पर फिर से एन्क्रिप्ट होती हैं। PCSE परीक्षा इस एन्वलप एन्क्रिप्शन आकार का परीक्षण करती है।
resource "random_id" "suffix" {
byte_length = 4
}
resource "google_storage_project_service_account" "gcs_account" {}
resource "google_kms_crypto_key_iam_member" "gcs_kms" {
crypto_key_id = google_kms_crypto_key.storage_cmk.id
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
member = "serviceAccount:${google_storage_project_service_account.gcs_account.email_address}"
}
resource "google_storage_bucket" "secure" {
name = "certlabpro-pcse-secure-${random_id.suffix.hex}"
location = "us-central1"
uniform_bucket_level_access = true
force_destroy = true # lab-only
encryption {
default_kms_key_name = google_kms_crypto_key.storage_cmk.id
}
labels = local.labels
depends_on = [google_kms_crypto_key_iam_member.gcs_kms]
}PCSE-अनुशंसित ऑडिट-लॉग प्रतिधारण: डिफ़ॉल्ट _Required और _Default लॉग बकेट में 30-दिन का प्रतिधारण होता है। संवेदनशील ऑडिट घटनाओं (IAM अनुदान / निरस्तीकरण / नीति संपादन) को बहुत अधिक समय तक रखने की आवश्यकता होती है — अक्सर SOX / HIPAA / FedRAMP अनुपालन के लिए 7 साल।
हम 400-दिवसीय प्रतिधारण के साथ एक समर्पित लॉगिंग बकेट + IAM-नीति-संबंधित ऑडिट लॉग को उसमें रूट करने वाला एक लॉग सिंक बनाते हैं। unique_writer_identity = true फ़्लैग प्रति-सिंक सेवा पहचान उत्पन्न करता है (ऑडिट चेन को संरक्षित करता है — आप अपनी उपयोगकर्ता पहचान को उजागर किए बिना इसे केवल-लेखन एक्सेस प्रदान कर सकते हैं)।
पाँच ब्लॉक (प्रदाता+APIs, Org Policy गार्डरेल, KMS कीरिंग+CMK, CMK बकेट, ऑडिट-लॉग सिंक) के साथ, PCSE रोकें → एन्क्रिप्ट करें → ऑडिट करें बेसलाइन का आकार ले लेती है। वास्तविक PCSE परिनियोजन इस आधार पर Security Command Center (SCC) Premium, VPC Service Controls परमिटर्स, Binary Authorization, Cloud Armor WAF, Identity-Aware Proxy, Workforce Identity Federation, और Sensitive Data Protection (DLP) को परत करते हैं।
resource "google_logging_project_bucket_config" "audit" {
project = data.google_project.current.project_id
location = "global"
retention_days = 400
bucket_id = "audit-events"
depends_on = [google_project_service.logging]
}
resource "google_logging_project_sink" "audit_sink" {
name = "certlabpro-pcse-audit-sink"
destination = "logging.googleapis.com/${google_logging_project_bucket_config.audit.id}"
filter = "logName:\"cloudaudit.googleapis.com\" AND (protoPayload.serviceName=\"iam.googleapis.com\" OR protoPayload.serviceName=\"cloudkms.googleapis.com\")"
unique_writer_identity = true
}
# Required so the sink can write to the bucket.
resource "google_project_iam_member" "audit_sink_writer" {
project = data.google_project.current.project_id
role = "roles/logging.bucketWriter"
member = google_logging_project_sink.audit_sink.writer_identity
}terraform destroy सब कुछ हटा देता है। KMS कुंजी को नष्ट करने के लिए निर्धारित किया गया है (24 घंटे की रियायती अवधि — Cloud KMS कुंजी कभी भी तुरंत नहीं मिटती)। CMK-एन्क्रिप्टेड बकेट नष्ट हो जाती है (force_destroy = true); मौजूदा ऑब्जेक्ट्स बाहर निकलने के दौरान फिर से एन्क्रिप्ट होते हैं — Cloud Storage इसे पारदर्शी रूप से संभालता है। ऑर्ग पॉलिसी बाधा हट जाती है; डिफ़ॉल्ट-नेटवर्क निर्माण को प्रोजेक्ट पर फिर से अनुमति दी जाती है। ऑडिट-लॉग सिंक + बकेट सफाई से नष्ट हो जाते हैं।
PCSE कई सुरक्षा सतहों को कवर करता है जिन्हें यह लैब शामिल नहीं कर सकती है — Security Command Center (SCC प्रीमियम / एंटरप्राइज़ — एकीकृत खतरे का पता लगाने + आसन प्रबंधन सतह), VPC Service Controls (BigQuery / Storage / आदि के आसपास डेटा एक्सफ़िल परमिटर्स), Cloud Armor (WAF + DDoS + बॉट प्रबंधन), Identity-Aware Proxy (IAP — शून्य-विश्वास ऐप-स्तरीय प्रमाणीकरण), Cloud HSM (FIPS-140-2 स्तर 3 हार्डवेयर-समर्थित KMS), Cloud External Key Manager (EKM — Google के बाहर रखी गई कुंजी), Confidential VMs / Confidential GKE Nodes (मेमोरी एन्क्रिप्शन), Binary Authorization (इमेज-अटेस्टेशन गेटिंग), Container Threat Detection / Web App and API Protection (WAAP), Sensitive Data Protection (DLP — PII खोज + मास्किंग), Workforce Identity Federation, Workload Identity Federation, Access Context Manager (संदर्भ-जागरूक एक्सेस नीतियां), और संपूर्ण मंडियांट-अधिग्रहित सतह (खतरे की जानकारी, हमले की सतह प्रबंधन, उल्लंघन विश्लेषण)।
हम Org Policy + KMS + CMK Storage + Audit Logs प्रिमिटिव तक सीमित रहते हैं क्योंकि वे PCSE का आधार हैं जिस पर प्रत्येक अधिक उन्नत नियंत्रण आधारित होता है। SCC उन्हीं ऑडिट लॉग से पढ़ता है। VPC-SC परमिटर्स उन्हीं बकेट को रैप करते हैं। Cloud HSM कुंजी बैकएंड के रूप में KMS की जगह लेता है। IAP उन्हीं IAM पहचानों पर ओवरले करता है। सब्सट्रेट में महारत हासिल करें; विशेष नियंत्रणों को परत करें।
सेवा-दर-सेवा वैचारिक कवरेज के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़, मार्गदर्शिका, और Editorial अनुभाग देखें।