Ngân hàng đề — Google Cloud Professional Cloud Security Engineer

Tìm thấy 395 câu.

Câu 111
A manager wants to start retaining security event logs for 2 years while minimizing costs. You write a filter to select the appropriate log entries.
Where should you export the logs?
  1. A BigQuery datasets
  2. B Cloud Storage buckets
  3. C StackDriver logging
  4. D Cloud Pub/Sub topics
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi tập trung vào việc xuất (export) các bản ghi log sự kiện bảo mật (security event logs) trong Google Cloud Platform (GCP) để lưu trữ trong 2 năm đồng thời tối ưu hóa chi phí (minimizing costs). Quản lý viên muốn áp dụng một bộ lọc (filter) để chọn các log phù hợp, và cần chọn đích đến export logs sao cho phù hợp với yêu cầu lưu trữ dài hạn giá rẻ.
📘 Bối cảnh chính: Trong GCP Cloud Logging (trước đây gọi là Stackdriver Logging), logs mặc định chỉ giữ 30 ngày miễn phí. Để lưu lâu hơn (như 2 năm), phải export logs ra các dịch vụ khác. Yêu cầu nhấn mạnh chi phí thấp, nên ưu tiên giải pháp lưu trữ rẻ, không cần xử lý phức tạp.

✅ Đáp án đúng: Cloud Storage buckets

Lý do chọn:
Cloud Storage là lựa chọn tối ưu nhất cho việc lưu trữ logs dài hạn (2 năm) với chi phí thấp nhất trong GCP. Logs được export dưới dạng file JSON nén (gzip), và bạn có thể cấu hình Cloud Storage Lifecycle policies để tự động quản lý retention (giữ 2 năm rồi xóa). Chi phí storage ở lớp Standard hoặc Nearline rất rẻ (~$0.02/GB/tháng), phù hợp minimizing costs. Đây là best practice cho security logs theo tài liệu GCP mới nhất (2024-2026).
🛠️ Cách triển khai: Sử dụng Log Router với filter để sink logs vào bucket, ví dụ: gcloud logging sinks create my-sink storage.googleapis.com/my-bucket --log-filter="resource.type=... AND severity>=ERROR".

📋 Giải thích chi tiết tất cả các phương án

  • BigQuery datasets ❌ Sai:
    BigQuery phù hợp cho phân tích dữ liệu lớn (analytics), không phải lưu trữ thuần túy dài hạn. Chi phí storage cao hơn (~$0.02/GB/tháng nhưng cộng thêm query fees), và không tối ưu cho logs lớn (hàng TB). Nếu dùng cho retention 2 năm, chi phí sẽ đắt đỏ hơn Cloud Storage. Theo docs GCP 2026, chỉ dùng BigQuery nếu cần query thường xuyên.

  • Cloud Storage buckets ✅ Đúng:
    Như đã giải thích ở trên: Lưu trữ rẻ, scalable, hỗ trợ lifecycle rules để giữ chính xác 2 năm (ví dụ: chuyển sang Coldline sau 1 năm, xóa sau 2 năm). Logs export hàng ngày dưới dạng blobs, dễ quản lý và audit cho security. Best practice cho VPC Flow Logs, Audit Logs (security events).

  • StackDriver logging ❌ Sai:
    StackDriver Logging (nay là Cloud Logging) là nơi gốc lưu logs, không phải đích export. Retention mặc định chỉ 400 ngày (pro) hoặc 30 ngày (free), và chi phí log storage đắt hơn (~$0.50/GB so với Storage $0.02/GB). Export về đây là vô nghĩa, không giải quyết vấn đề retention dài hạn giá rẻ.

  • Cloud Pub/Sub topics ❌ Sai:
    Pub/Sub là dịch vụ messaging real-time, không lưu trữ lâu dài (messages chỉ giữ 7 ngày max). Dùng để stream logs đến apps khác, nhưng không phù hợp retention 2 năm và chi phí cao nếu volume lớn (per message). Không minimizing costs cho storage.

📚 Tài liệu tham khảo (cập nhật 2026)

🛡️ Lời khuyên bảo mật: Luôn enable CMEK (Customer-Managed Encryption Keys) cho bucket và audit logs để bảo vệ security events!

Câu 112
For compliance reasons, an organization needs to ensure that in-scope PCI Kubernetes Pods reside on `in-scope` Nodes only. These Nodes can only contain the
`in-scope` Pods.
How should the organization achieve this objective?
  1. A Add a nodeSelector field to the pod configuration to only use the Nodes labeled inscope: true.
  2. B Create a node pool with the label inscope: true and a Pod Security Policy that only allows the Pods to run on Nodes with that label.
  3. C Place a taint on the Nodes with the label inscope: true and effect NoSchedule and a toleration to match in the Pod configuration.
  4. D Run all in-scope Pods in the namespace ג€in-scope-pciג€.
Xem giải thích

🧩 Giải thích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc tuân thủ PCI compliance (Payment Card Industry Data Security Standard) trong môi trường Kubernetes trên AWS EKS (Elastic Kubernetes Service). Tổ chức cần đảm bảo hai yêu cầu kép một cách nghiêm ngặt:

  • Kubernetes Pods thuộc phạm vi PCI (in-scope Pods) chỉ được chạy trên Nodes thuộc phạm vi PCI (in-scope Nodes).
  • In-scope Nodes chỉ chứa in-scope Pods, không cho phép bất kỳ Pods ngoài phạm vi PCI (out-of-scope Pods) chạy trên đó.

Mục tiêu là cách ly vật lý/layer hạ tầng giữa Pods và Nodes để tránh rủi ro bảo mật, như dữ liệu PCI bị lẫn với workload không compliant. Trong AWS EKS (phiên bản mới nhất 2026 hỗ trợ Kubernetes 1.30+), các cơ chế scheduling như nodeSelector, taints/tolerations, và Pod Security Standards được sử dụng để enforce điều này. Đây là best practice cho multi-tenant clusters với compliance cao. 📘

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Place a taint on the Nodes with the label inscope: true and effect NoSchedule and a toleration to match in the Pod configuration.

Lý do chi tiết (bằng tiếng Việt):
🛠️ Phương pháp này sử dụng taints và tolerations – cơ chế scheduling mạnh mẽ nhất của Kubernetes để ngăn chặn hai chiều:

  • Taint "NoSchedule" trên in-scope Nodes (kèm label inscope: true) sẽ chặn tất cả Pods không có toleration tương ứng schedule lên Nodes đó. Kết quả: Nodes chỉ chứa in-scope Pods.
  • Toleration thêm vào Pod spec của in-scope Pods cho phép chúng chỉ schedule lên Nodes có taint matching, đảm bảo Pods không chạy trên Nodes ngoài phạm vi.
  • Kết hợp với label selector nếu cần (optional), đây là cách enforce strict isolation mà không ảnh hưởng hiệu suất cluster. Trong AWS EKS 2026, taints/tolerations được hỗ trợ đầy đủ qua kubectl taint và EKS Managed Node Groups. Đây là recommended pattern cho PCI DSS 4.0 (Requirement 2.2.1 về segregation).

📋 Phân tích tất cả các phương án (đúng/sai)

  • ❌ Phương án SAI: Add a nodeSelector field to the pod configuration to only use the Nodes labeled inscope: true.
    🧩 Giải thích: NodeSelector chỉ hạn chế Pods chọn Nodes (pull-based: in-scope Pods chỉ lên in-scope Nodes). Tuy nhiên, nó không ngăn Pods out-of-scope schedule lên Nodes đó (không có push-based exclusion). Kết quả: Nodes có thể lẫn Pods ngoài phạm vi, vi phạm yêu cầu "Nodes chỉ chứa in-scope Pods". Không đủ cho PCI isolation.

  • ❌ Phương án SAI: Create a node pool with the label inscope: true and a Pod Security Policy that only allows the Pods to run on Nodes with that label.
    🧩 Giải thích: Node pool với label OK, nhưng Pod Security Policy (PSP) đã deprecated từ Kubernetes 1.21 (EKS 2026 dùng Pod Security Admission thay thế). PSP chỉ enforce security contexts (như runAsUser, capabilities), không kiểm soát node affinity/scheduling. Không thể "only allows Pods to run on Nodes with label". Phương án lỗi thời và không hiệu quả.

  • ✅ Phương án ĐÚNG: Place a taint on the Nodes with the label inscope: true and effect NoSchedule and a toleration to match in the Pod configuration.
    🧩 Giải thích (tóm tắt lại): Như phần trên, đây là cách duy nhất enforce hai chiều: Taint chặn out-of-scope Pods, toleration cho phép in-scope Pods. Hoàn hảo cho compliance, scalable trên EKS Auto Scaling Groups.

  • ❌ Phương án SAI: Run all in-scope Pods in the namespace ג€in-scope-pciג€.
    🧩 Giải thích: Namespace chỉ cung cấp logical isolation (RBAC, NetworkPolicies), không ảnh hưởng đến node placement. Pods trong namespace vẫn có thể schedule lên bất kỳ Node nào. Không liên quan đến PCI node scoping, chỉ là multi-tenancy cơ bản – không đủ an toàn cho compliance. (Lưu ý: Ký tự lạ có thể là "in-scope-pci").

📘 Tài liệu tham khảo (cập nhật 2026)

Phương pháp taints/tolerations là gold standard cho EKS PCI workloads! 🚀 Nếu cần demo lệnh kubectl, hãy hỏi thêm.

Câu 113
In an effort for your company messaging app to comply with FIPS 140-2, a decision was made to use GCP compute and network services. The messaging app architecture includes a Managed Instance Group (MIG) that controls a cluster of Compute Engine instances. The instances use Local SSDs for data caching and
UDP for instance-to-instance communications. The app development team is willing to make any changes necessary to comply with the standard
Which options should you recommend to meet the requirements?
  1. A Encrypt all cache storage and VM-to-VM communication using the BoringCrypto module.
  2. B Set Disk Encryption on the Instance Template used by the MIG to customer-managed key and use BoringSSL for all data transit between instances.
  3. C Change the app instance-to-instance communications from UDP to TCP and enable BoringSSL on clients' TLS connections.
  4. D Set Disk Encryption on the Instance Template used by the MIG to Google-managed Key and use BoringSSL library on all instance-to-instance communications.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

✅ Giải thích nội dung câu hỏi:
Câu hỏi xoay quanh việc tuân thủ tiêu chuẩn FIPS 140-2 (Federal Information Processing Standards 140-2) cho một ứng dụng nhắn tin của công ty, sử dụng các dịch vụ Compute và Network trên Google Cloud Platform (GCP). Kiến trúc bao gồm Managed Instance Group (MIG) quản lý cụm Compute Engine instances, nơi các instance sử dụng Local SSD để lưu trữ cache dữ liệu tạm thời (ephemeral storage) và giao tiếp giữa các instance qua giao thức UDP (User Datagram Protocol - không kết nối, nhanh nhưng không mã hóa mặc định). Đội ngũ phát triển sẵn sàng thay đổi bất kỳ gì cần thiết để đạt chuẩn FIPS 140-2, vốn yêu cầu các mô-đun mã hóa phải được validated (xác thực) theo tiêu chuẩn Mỹ cho các hệ thống chính phủ. Thách thức chính: Local SSD không hỗ trợ mã hóa persistent disk thông thường (như CMEK/GMEK), và UDP không dễ áp dụng TLS chuẩn. Giải pháp cần đảm bảo mã hóa cache (Local SSD) và giao tiếp VM-to-VM tuân thủ FIPS mà không thay đổi lớn kiến trúc.

📘 Dẫn nguồn tham khảo:

🟢 Đáp án đúng và lý do lựa chọn

Đáp án đúng: Encrypt all cache storage and VM-to-VM communication using the BoringCrypto module.

✅ Lý do chi tiết:
BoringCrypto là mô-đun mã hóa FIPS 140-2 validated (Level 1) của Google, được tích hợp vào các image Compute Engine đặc biệt (như Container-Optimized OS hoặc Ubuntu với fips-mode). Nó cho phép:

  • 🛡️ Mã hóa Local SSD: Sử dụng dm-crypt với BoringCrypto primitives để encrypt ephemeral storage, khắc phục hạn chế Local SSD không hỗ trợ CMEK/GMEK.
  • 🔒 Mã hóa UDP comms: Hỗ trợ QUIC (dựa UDP) hoặc custom crypto cho VM-to-VM mà không cần chuyển sang TCP/TLS, giữ hiệu suất cao cho messaging app.
    Điều này đáp ứng đầy đủ FIPS mà không thay đổi lớn (chỉ enable fips-mode trên MIG template). Kiến thức cập nhật 2026: BoringCrypto vẫn là giải pháp chính thức cho FIPS trên GCP Compute (không deprecated).

❌ Phân tích tất cả các phương án

🧩 Phương án A (Đúng - như trên):
Encrypt all cache storage and VM-to-VM communication using the BoringCrypto module.
✅ Đúng vì: Như giải thích ở phần đáp án, đây là giải pháp chính thức, toàn diện cho Local SSD và UDP trên GCP FIPS mode.

🧩 Phương án B (Sai):
Set Disk Encryption on the Instance Template used by the MIG to customer-managed key and use BoringSSL for all data transit between instances.
❌ Sai vì:

  • Local SSD không hỗ trợ Disk Encryption (CMEK) - chỉ persistent disks mới được. Sử dụng CMEK trên MIG template sẽ lỗi.
  • BoringSSL chỉ là thư viện mã hóa mã nguồn mở (không FIPS validated đầy đủ), thiếu crypto module chính thức như BoringCrypto.

🧩 Phương án C (Sai):
Change the app instance-to-instance communications from UDP to TCP and enable BoringSSL on clients' TLS connections.
❌ Sai vì:

  • Thay UDP sang TCP không bắt buộc và làm giảm hiệu suất messaging app (UDP nhanh hơn cho real-time). FIPS không yêu cầu TCP.
  • BoringSSL không FIPS validated; "clients' TLS" không liên quan (câu hỏi chỉ VM-to-VM, không đề cập client). Không giải quyết Local SSD.

🧩 Phương án D (Sai):
Set Disk Encryption on the Instance Template used by the MIG to Google-managed Key and use BoringSSL library on all instance-to-instance communications.
❌ Sai vì:

  • Local SSD không hỗ trợ GMEK (chỉ default encryption cơ bản, không FIPS tự động).
  • BoringSSL không phải mô-đun FIPS chính thức; GMEK không kiểm soát được validation như customer-managed hoặc BoringCrypto yêu cầu cho FIPS nghiêm ngặt.

🔍 Kết luận khuyến nghị: Chọn BoringCrypto để triển khai nhanh trên MIG bằng cách sử dụng fips-enabled machine types (như n2d-standard với fips-mode). Test bằng fipscheck tool trên instance! 🚀

Câu 114
A customer has an analytics workload running on Compute Engine that should have limited internet access.
Your team created an egress firewall rule to deny (priority 1000) all traffic to the internet.
The Compute Engine instances now need to reach out to the public repository to get security updates.
What should your team do?
  1. A Create an egress firewall rule to allow traffic to the CIDR range of the repository with a priority greater than 1000.
  2. B Create an egress firewall rule to allow traffic to the CIDR range of the repository with a priority less than 1000.
  3. C Create an egress firewall rule to allow traffic to the hostname of the repository with a priority greater than 1000.
  4. D Create an egress firewall rule to allow traffic to the hostname of the repository with a priority less than 1000.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi mô tả một tình huống thực tế trong Google Cloud Platform (GCP): Một khách hàng đang chạy workload phân tích dữ liệu (analytics) trên các máy ảo Compute Engine (thuộc VPC network), và họ muốn hạn chế truy cập internet để tăng cường bảo mật. Nhóm của bạn đã tạo một egress firewall rule (quy tắc tường lửa kiểm soát lưu lượng đi ra từ VM) với priority 1000 để deny (chặn) toàn bộ traffic đến internet. Tuy nhiên, giờ đây các instance Compute Engine cần kết nối ra public repository (kho lưu trữ công khai) để tải security updates (cập nhật bảo mật).
Vấn đề cốt lõi: Quy tắc deny hiện tại đang chặn tất cả, nên cần tạo quy tắc mới để cho phép (allow) traffic đến repository cụ thể, mà không ảnh hưởng đến việc chặn internet chung.
Nguyên tắc GCP Firewall (cập nhật đến 2026):

  • Firewall rules được đánh giá theo priority (số càng thấp càng có độ ưu tiên cao hơn).
  • Egress rules áp dụng cho traffic từ VM ra ngoài (ví dụ: 0.0.0.0/0 cho internet).
  • Không hỗ trợ hostname trực tiếp; chỉ dùng CIDR range (dải IP).
    🛠️ Mục tiêu: Tạo rule allow với priority cao hơn (thấp hơn số 1000) và chỉ định đúng đích đến.

✅ Đáp án đúng:
Create an egress firewall rule to allow traffic to the CIDR range of the repository with a priority less than 1000.

Lý do chọn đáp án này (chi tiết):

  • Quy tắc mới phải allow traffic đến CIDR range (dải IP) của repository (ví dụ: 198.51.100.0/24 nếu repo có IP cụ thể).
  • Priority < 1000 (ví dụ: 900) để rule allow được đánh giá trước rule deny (priority 1000), đảm bảo traffic đến repo được phép đi qua, còn internet khác vẫn bị chặn.
  • Đây là best practice theo tài liệu GCP mới nhất (2026), tránh rule conflict và tuân thủ nguyên tắc least privilege.
    📘 Nguồn tham khảo: GCP VPC Firewall rules và Egress rules best practices.

🔍 Giải thích tất cả các phương án (đúng/sai)

  • ❌ [SAI] Create an egress firewall rule to allow traffic to the CIDR range of the repository with a priority greater than 1000.
    Lý do sai: Priority > 1000 (ví dụ: 1100) có độ ưu tiên thấp hơn rule deny (1000), nên rule deny sẽ được đánh giá trước và chặn hết traffic, kể cả đến CIDR của repo. Không giải quyết được vấn đề.

  • ✅ [ĐÚNG] Create an egress firewall rule to allow traffic to the CIDR range of the repository with a priority less than 1000.
    Lý do đúng: Như giải thích ở trên – priority thấp hơn đảm bảo allow trước deny, và dùng CIDR chính xác (không hostname). Hoàn hảo cho security updates mà vẫn limited internet.

  • ❌ [SAI] Create an egress firewall rule to allow traffic to the hostname of the repository with a priority greater than 1000.
    Lý do sai: GCP firewall không hỗ trợ hostname (chỉ CIDR/IP range hoặc tags). Ngoài ra, priority > 1000 vẫn thua deny rule, nên vô hiệu.

  • ❌ [SAI] Create an egress firewall rule to allow traffic to the hostname of the repository with a priority less than 1000.
    Lý do sai: Dù priority < 1000 (ưu tiên cao), nhưng hostname không được hỗ trợ trong GCP firewall rules (cập nhật 2026). Rule sẽ invalid hoặc không match, traffic vẫn bị deny.

🛡️ Lời khuyên thực hành: Sử dụng Cloud Armor hoặc Packet Mirroring để monitor thêm nếu workload analytics nhạy cảm. Kiểm tra rule qua gcloud compute firewall-rules list!
📘 Tài liệu bổ sung: GCP Firewall troubleshooting.

Câu 115
You want data on Compute Engine disks to be encrypted at rest with keys managed by Cloud Key Management Service (KMS). Cloud Identity and Access
Management (IAM) permissions to these keys must be managed in a grouped way because the permissions should be the same for all keys.
What should you do?
  1. A Create a single KeyRing for all persistent disks and all Keys in this KeyRing. Manage the IAM permissions at the Key level.
  2. B Create a single KeyRing for all persistent disks and all Keys in this KeyRing. Manage the IAM permissions at the KeyRing level.
  3. C Create a KeyRing per persistent disk, with each KeyRing containing a single Key. Manage the IAM permissions at the Key level.
  4. D Create a KeyRing per persistent disk, with each KeyRing containing a single Key. Manage the IAM permissions at the KeyRing level.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi tập trung vào việc mã hóa dữ liệu tại chỗ (at-rest encryption) cho các đĩa persistent disks trên Compute Engine trong Google Cloud Platform (GCP). Yêu cầu cụ thể là:

  • Sử dụng Cloud Key Management Service (KMS) để quản lý khóa mã hóa (keys).
  • Quản lý quyền IAM cho các khóa này theo cách nhóm (grouped way), vì tất cả các khóa cần có quyền IAM giống hệt nhau.

Mục tiêu là thiết lập cấu trúc KeyRing và Keys sao cho việc cấp quyền IAM được thực hiện một lần duy nhất cho toàn bộ nhóm khóa, tránh phải quản lý riêng lẻ từng khóa. Điều này giúp đơn giản hóa việc quản lý bảo mật, tuân thủ nguyên tắc least privilege và centralized management trong Cloud KMS.
(Lưu ý: Đây là kiến thức GCP Cloud KMS phiên bản mới nhất đến năm 2026, không thay đổi lớn từ các bản cập nhật 2023-2025 theo tài liệu chính thức).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Create a single KeyRing for all persistent disks and all Keys in this KeyRing. Manage the IAM permissions at the KeyRing level.

Lý do 🛠️:

  • Tạo một KeyRing duy nhất chứa tất cả các Keys cho các persistent disks giúp nhóm các khóa lại với nhau.
  • Quản lý IAM tại mức KeyRing sẽ tự động áp dụng quyền cho tất cả Keys bên trong, đáp ứng yêu cầu "grouped way" và "permissions the same for all keys".
  • Đây là best practice của GCP: Permissions trên KeyRing kế thừa xuống Keys, giảm thiểu công việc quản lý (IAM roles như roles/cloudkms.cryptoKeyEncrypterDecrypter áp dụng toàn bộ).
    📘 Tài liệu tham khảo: Cloud KMS IAM Permissions và Key Hierarchy (cập nhật 2025).

📋 Phân tích tất cả các phương án

Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể:

  • ❌ [SAI] Create a single KeyRing for all persistent disks and all Keys in this KeyRing. Manage the IAM permissions at the Key level.
    Lý do sai ❌: Mặc dù sử dụng một KeyRing duy nhất để nhóm keys là đúng, nhưng quản lý IAM tại mức Key sẽ yêu cầu cấp quyền riêng lẻ cho từng Key, không đáp ứng "grouped way". Điều này làm phức tạp hóa quản lý khi có nhiều disks/keys.

  • ✅ [ĐÚNG] Create a single KeyRing for all persistent disks and all Keys in this KeyRing. Manage the IAM permissions at the KeyRing level.
    Lý do đúng ✅: Kết hợp hoàn hảo một KeyRing chung và IAM tại KeyRing level, quyền tự động kế thừa xuống tất cả Keys. Hiệu quả, scalable và tuân thủ best practice GCP cho encryption Compute Engine disks.

  • ❌ [SAI] Create a KeyRing per persistent disk, with each KeyRing containing a single Key. Manage the IAM permissions at the Key level.
    Lý do sai ❌: Tạo KeyRing riêng cho từng disk (với một Key mỗi cái) làm phân mảnh cấu trúc, không nhóm được. Quản lý IAM tại Key level còn tệ hơn, phải cấp quyền cho từng Key riêng biệt, vi phạm yêu cầu "permissions the same for all keys" một cách grouped.

  • ❌ [SAI] Create a KeyRing per persistent disk, with each KeyRing containing a single Key. Manage the IAM permissions at the KeyRing level.
    Lý do sai ❌: Dù IAM tại KeyRing level là tốt (quyền kế thừa xuống Key), nhưng KeyRing riêng từng disk không tạo nhóm chung cho tất cả keys. Phải cấp IAM cho từng KeyRing riêng, không hiệu quả và không "grouped" toàn bộ như yêu cầu.

🛡️ Lời khuyên bảo mật bổ sung

  • Sử dụng Customer-Managed Encryption Keys (CMEK) cho Compute Engine để kiểm soát tốt hơn.
  • Kết hợp với VPC Service Controls để bảo vệ KMS keys khỏi rò rỉ.
  • 📘 Tài liệu thêm: Encrypt Compute Engine Disks with CMEK (cập nhật 2026).

Hy vọng phân tích này giúp bạn ôn thi chứng chỉ Professional Cloud Security Engineer hiệu quả! 🚀

Câu 116
A company is backing up application logs to a Cloud Storage bucket shared with both analysts and the administrator. Analysts should only have access to logs that do not contain any personally identifiable information (PII). Log files containing PII should be stored in another bucket that is only accessible by the administrator.
What should you do?
  1. A Use Cloud Pub/Sub and Cloud Functions to trigger a Data Loss Prevention scan every time a file is uploaded to the shared bucket. If the scan detects PII, have the function move into a Cloud Storage bucket only accessible by the administrator.
  2. B Upload the logs to both the shared bucket and the bucket only accessible by the administrator. Create a job trigger using the Cloud Data Loss Prevention API. Configure the trigger to delete any files from the shared bucket that contain PII.
  3. C On the bucket shared with both the analysts and the administrator, configure Object Lifecycle Management to delete objects that contain any PII.
  4. D On the bucket shared with both the analysts and the administrator, configure a Cloud Storage Trigger that is only triggered when PII data is uploaded. Use Cloud Functions to capture the trigger and delete such files.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả một tình huống thực tế trong Google Cloud Platform (GCP): Một công ty đang sao lưu (backup) các log ứng dụng vào một Cloud Storage bucket được chia sẻ giữa analysts (nhà phân tích) và administrator (quản trị viên). Yêu cầu bảo mật là:

  • Analysts chỉ được truy cập các log không chứa thông tin cá nhân có thể nhận dạng (PII - Personally Identifiable Information), như tên, email, số điện thoại, v.v.
  • Các file log chứa PII phải được chuyển hoặc lưu vào một bucket khác, chỉ admin mới có quyền truy cập. Mục tiêu là tự động hóa quy trình phát hiện và phân loại file log ngay khi upload, đảm bảo tuân thủ nguyên tắc least privilege (quyền hạn tối thiểu) và bảo vệ dữ liệu nhạy cảm. Thách thức chính: Cần một cơ chế scan tự động (sử dụng DLP - Data Loss Prevention) để kiểm tra PII mà không làm gián đoạn quy trình backup, đồng thời di chuyển file phù hợp mà không xóa hoặc để lộ dữ liệu. (Lưu ý: Đây là kiến thức GCP cập nhật đến 2026, dựa trên Cloud DLP API v2 và Eventarc/Cloud Functions gen2 với trigger storage mới nhất).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng:
Use Cloud Pub/Sub và Cloud Functions để trigger một Data Loss Prevention scan mỗi khi file được upload vào shared bucket. Nếu scan phát hiện PII, function sẽ di chuyển file vào Cloud Storage bucket chỉ admin truy cập được.

Lý do chọn đáp án này 🛠️:

  • Đây là giải pháp tự động, scalable và chính xác nhất trong GCP. Sử dụng Cloud Storage event (qua Pub/Sub notification) để trigger Cloud Functions ngay lập tức khi file upload → gọi Cloud DLP API scan PII → Nếu có PII, di chuyển file (copy + delete origin) sang bucket riêng (dùng gsutil cp hoặc Storage API).
  • Đảm bảo không xóa dữ liệu (tuân thủ backup), analysts chỉ thấy file sạch, admin thấy tất cả.
  • Hiệu suất cao: Cloud Functions serverless, DLP hỗ trợ batch/inspect jobs lớn, tích hợp Eventarc (mới 2023+) cho trigger đáng tin cậy.
  • Phù hợp best practice GCP Security: Inspect-in-place mà không cần duplicate storage ban đầu.

📋 Giải thích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên tính khả thi, độ chính xác và best practice GCP (cập nhật 2026).

  • Use Cloud Pub/Sub and Cloud Functions to trigger a Data Loss Prevention scan every time a file is uploaded to the shared bucket. If the scan detects PII, have the function move into a Cloud Storage bucket only accessible by the administrator.
    ✅ Đúng 🏆: Như giải thích trên, đây là workflow chuẩn (Storage → Pub/Sub topic → Function → DLP inspect → Conditional move). IAM policy dễ config: analysts storage.objectViewer trên shared bucket, admin full access cả hai. Không tốn kém (DLP free tier + Functions pay-per-use).
    Nguồn: Cloud DLP Documentation, Storage Event Triggers.

  • Upload the logs to both the shared bucket and the bucket only accessible by the administrator. Create a job trigger using the Cloud Data Loss Prevention API. Configure the trigger to delete any files from the shared bucket that contain PII.
    ❌ Sai 🚫: Phương án này lãng phí storage (duplicate tất cả file trước scan) và rủi ro mất dữ liệu (delete file từ shared bucket nếu có PII, nhưng analysts có thể cần xem file sạch). Cloud DLP job trigger phù hợp cho recurring scans, không phải real-time upload. Delete không an toàn cho backup logs.
    Nguồn: DLP Job Triggers Limits – Không khuyến khích delete mà nên de-identify/move.

  • On the bucket shared with both the analysts and the administrator, configure Object Lifecycle Management to delete objects that contain any PII.
    ❌ Sai 🔒: Object Lifecycle Management chỉ dựa trên metadata/thời gian/điều kiện đơn giản (size, age, class), KHÔNG THỂ scan nội dung PII (không tích hợp DLP). Không detect được PII → Không thể delete chính xác, dẫn đến lộ dữ liệu hoặc xóa nhầm.
    Nồn: Cloud Storage Lifecycle – Chỉ rule-based, không content inspection.

  • On the bucket shared with both the analysts and the administrator, configure a Cloud Storage Trigger that is only triggered when PII data is uploaded. Use Cloud Functions to capture the trigger and delete such files.
    ❌ Sai ⚠️: Cloud Storage không có trigger "chỉ khi PII uploaded" – Event trigger chỉ dựa trên hành động (finalize, delete, metadata change), KHÔNG detect nội dung trước. Phải scan trước mới biết PII → Logic vòng lặp vô tận hoặc miss data. Delete cũng không phù hợp (như phương án 2).
    Nguồn: Cloud Functions Storage Triggers & Eventarc Events – No content-based pre-filter.

📘 Tài liệu tham khảo chính (cập nhật 2026)

  • 🛡️ Google Cloud Skills Boost: "Automating DLP Inspection with Cloud Functions" lab.
  • 🔗 Official Docs: DLP + Storage Integration, Architecting Secure Workloads.
  • 📊 Exam Prep: GCP Professional Cloud Security Engineer guide (2024-2026 syllabus, question ID tương tự Q-456).

Giải pháp này đảm bảo zero-trust security và compliance (GDPR/HIPAA)! Nếu cần code sample Cloud Functions, hãy hỏi thêm nhé! 🚀

Câu 117
A customer terminates an engineer and needs to make sure the engineer's Google account is automatically deprovisioned.
What should the customer do?
  1. A Use the Cloud SDK with their directory service to remove their IAM permissions in Cloud Identity.
  2. B Use the Cloud SDK with their directory service to provision and deprovision users from Cloud Identity.
  3. C Configure Cloud Directory Sync with their directory service to provision and deprovision users from Cloud Identity.
  4. D Configure Cloud Directory Sync with their directory service to remove their IAM permissions in Cloud Identity.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào tình huống an ninh và quản lý danh tính trong Google Cloud Identity 📘: Một khách hàng sa thải một kỹ sư và cần đảm bảo tài khoản Google của kỹ sư đó được tự động hủy kích hoạt (deprovisioned) để tránh rủi ro bảo mật, như truy cập trái phép vào tài nguyên Google Cloud.

  • Mục tiêu chính: Tích hợp dịch vụ thư mục (directory service) của khách hàng (ví dụ: Active Directory on-premises) với Google Cloud Identity để tự động đồng bộ hóa việc xóa user khi nhân viên rời đi.
  • Bối cảnh: Đây là quy trình provisioning/deprovisioning tự động (tạo/xóa tài khoản user), không chỉ xóa quyền IAM mà là xóa toàn bộ tài khoản khỏi Cloud Identity.
  • Phiên bản cập nhật: Dựa trên tài liệu Google Cloud mới nhất đến 2026, Google Cloud Directory Sync (GCDS) là công cụ chuẩn cho đồng bộ hai chiều giữa directory on-prem và Cloud Identity, hỗ trợ deprovisioning tự động (xóa user khi bị xóa ở nguồn). Nguồn: Google Cloud Directory Sync Documentation.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Configure Cloud Directory Sync with their directory service to provision and deprovision users from Cloud Identity.

Lý do: 🛠️ GCDS (Google Cloud Directory Sync) là giải pháp chính thức của Google để đồng bộ tự động users giữa directory service (như LDAP/Active Directory) và Cloud Identity, bao gồm cả provision (tạo mới) và deprovision (xóa/hủy kích hoạt). Khi kỹ sư bị xóa khỏi directory on-prem, GCDS sẽ tự động deprovision tài khoản Google tương ứng, đảm bảo an toàn ngay lập tức. Đây là best practice cho doanh nghiệp lớn, tránh thao tác thủ công. Nguồn: GCDS User Deprovisioning Guide.

📋 Giải thích tất cả các phương án (đúng/sai)

Dưới đây là phân tích từng lựa chọn một cách chi tiết, giữ nguyên văn bản gốc bằng tiếng Anh:

  • ❌ Phương án SAI: Use the Cloud SDK with their directory service to remove their IAM permissions in Cloud Identity.
    Giải thích: Cloud SDK (gcloud CLI) dùng để quản lý tài nguyên qua lệnh dòng lệnh, nhưng không hỗ trợ tích hợp trực tiếp với directory service để xóa IAM permissions tự động. Nó chỉ phù hợp cho thao tác thủ công IAM roles, không deprovision toàn bộ tài khoản Google, dẫn đến rủi ro user vẫn tồn tại mà không có quyền.

  • ❌ Phương án SAI: Use the Cloud SDK with their directory service to provision and deprovision users from Cloud Identity.
    Giải thích: Tương tự, Cloud SDK không có chức năng provision/deprovision users tự động từ directory service. Nó thiếu cơ chế đồng bộ hai chiều; chỉ dùng cho scripting thủ công, không phù hợp cho quy trình tự động khi sa thải nhân viên.

  • ✅ Phương án ĐÚNG: Configure Cloud Directory Sync with their directory service to provision and deprovision users from Cloud Identity.
    Giải thích: Như đã nêu ở trên, GCDS chính là công cụ lý tưởng, hỗ trợ đồng bộ đầy đủ (sync) users/groups/contacts, bao gồm deprovision tự động (xóa user khỏi Cloud Identity khi bị xóa ở directory nguồn). Cấu hình một lần, chạy định kỳ để đảm bảo tính nhất quán. Nguồn: GCDS Setup Guide.

  • ❌ Phương án SAI: Configure Cloud Directory Sync with their directory service to remove their IAM permissions in Cloud Identity.
    Giải thích: GCDS chỉ tập trung vào users/groups ở mức Identity, không trực tiếp quản lý IAM permissions (IAM là riêng biệt ở Google Cloud IAM). Deprovision user sẽ gián tiếp xóa quyền, nhưng phương án này sai vì nhầm lẫn chức năng – GCDS không dùng để "remove IAM permissions" cụ thể.

Kết luận 🏆: Sử dụng GCDS là cách tối ưu, tự động hóa cao nhất cho kịch bản này, tuân thủ nguyên tắc Zero Trust trong Google Cloud Security! Nếu cần config chi tiết, tham khảo docs chính thức.

Câu 118
An organization is evaluating the use of Google Cloud Platform (GCP) for certain IT workloads. A well-established directory service is used to manage user identities and lifecycle management. This directory service must continue for the organization to use as the `source of truth` directory for identities.
Which solution meets the organization's requirements?
  1. A Google Cloud Directory Sync (GCDS)
  2. B Cloud Identity
  3. C Security Assertion Markup Language (SAML)
  4. D Pub/Sub
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi tập trung vào tình huống một tổ chức đang cân nhắc sử dụng Google Cloud Platform (GCP) cho các workload IT cụ thể. Họ đã có một dịch vụ thư mục (directory service) lâu đời để quản lý danh tính người dùng (user identities) và vòng đời (lifecycle management). Yêu cầu quan trọng là dịch vụ thư mục hiện tại phải tiếp tục là "source of truth" (nguồn sự thật duy nhất) cho các danh tính, nghĩa là không thay đổi hoặc di chuyển hoàn toàn sang hệ thống mới của GCP, mà chỉ cần tích hợp để GCP có thể sử dụng thông tin từ nguồn gốc này.
🛠️ Mục tiêu: Tìm giải pháp cho phép đồng bộ (sync) dữ liệu danh tính từ directory service on-premises (như Active Directory hoặc LDAP) sang GCP mà không làm mất vai trò "source of truth" của directory gốc.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Google Cloud Directory Sync (GCDS)
📈 Lý do: GCDS là công cụ chính thức của Google được thiết kế để đồng bộ một chiều (one-way sync) người dùng, nhóm và thông tin khác từ directory service hiện có (như Microsoft Active Directory hoặc LDAP) vào Google Cloud Directory (trong Google Workspace hoặc Cloud Identity). Directory gốc vẫn giữ nguyên vai trò "source of truth", chỉ có dữ liệu được copy sang GCP để sử dụng cho xác thực và quản lý. Điều này hoàn hảo cho tổ chức muốn giữ hệ thống cũ mà vẫn tích hợp mượt mà với GCP. Kiến thức cập nhật đến 2026: GCDS vẫn là giải pháp chuẩn, hỗ trợ phiên bản mới nhất với cải tiến bảo mật (như hỗ trợ LDAPS và OAuth).

🔍 Giải thích tất cả các phương án

Dưới đây là phân tích chi tiết từng lựa chọn, với đánh giá đúng/sai dựa trên yêu cầu câu hỏi:

  • ✅ Google Cloud Directory Sync (GCDS):
    🟢 Đúng vì đây là giải pháp chuyên biệt để đồng bộ dữ liệu danh tính từ directory on-premises (như AD/LDAP) sang GCP một cách an toàn, giữ nguyên directory gốc làm "source of truth". GCDS chạy định kỳ, hỗ trợ lọc dữ liệu và không thay đổi nguồn gốc.

  • ❌ Cloud Identity:
    🔴 Sai vì Cloud Identity là dịch vụ quản lý danh tính tích hợp sẵn của Google (dựa trên Google Workspace), hoạt động như một IdP độc lập. Nó không đồng bộ từ directory bên ngoài mà thay thế, làm mất vai trò "source of truth" của directory hiện tại.

  • ❌ Security Assertion Markup Language (SAML):
    🔴 Sai vì SAML chỉ là giao thức federation (xác thực liên kết giữa IdP và SP), không phải công cụ đồng bộ dữ liệu danh tính. Nó cho phép xác thực SSO nhưng không quản lý lifecycle hay giữ "source of truth" từ directory gốc.

  • ❌ Pub/Sub:
    🔴 Sai vì Pub/Sub là dịch vụ message queuing và publish-subscribe của GCP, dùng cho giao tiếp ứng dụng thời gian thực. Hoàn toàn không liên quan đến quản lý danh tính hoặc đồng bộ directory.

📘 Tài liệu tham khảo

  • Google Cloud Directory Sync (GCDS): Tài liệu chính thức (cập nhật 2024-2026, bao gồm hướng dẫn cài đặt và best practices).
  • Cloud Identity Overview: Tài liệu Cloud Identity – Xác nhận không hỗ trợ sync từ external directory làm source of truth.
  • Identity & Access Management trên GCP: IAM và Directory Sync – Hướng dẫn tích hợp AD với GCDS.
  • AWS không liên quan trực tiếp (câu hỏi về GCP), nhưng tương đương là AWS Directory Service nếu so sánh cross-cloud.

🛡️ Lưu ý từ Google Cloud Professional Cloud Security Engineer: Giải pháp này đảm bảo tuân thủ nguyên tắc least privilege và zero-trust, với GCDS hỗ trợ mã hóa dữ liệu đồng bộ. Nếu triển khai, khuyến nghị kiểm tra audit logs qua Cloud Audit Logs!

Câu 119
Which international compliance standard provides guidelines for information security controls applicable to the provision and use of cloud services?
  1. A ISO 27001
  2. B ISO 27002
  3. C ISO 27017
  4. D ISO 27018
Xem giải thích

🧩 Giải thích nội dung câu hỏi
Câu hỏi yêu cầu xác định tiêu chuẩn tuân thủ quốc tế cung cấp hướng dẫn về các kiểm soát an ninh thông tin áp dụng cho việc cung cấp và sử dụng dịch vụ đám mây.
📖 Đây là một câu hỏi trắc nghiệm tập trung vào các tiêu chuẩn ISO liên quan đến an ninh đám mây trên AWS. Câu hỏi nhấn mạnh vào hướng dẫn kiểm soát an ninh cụ thể cho đám mây (provision and use of cloud services), không chỉ là an ninh thông tin chung hay bảo vệ dữ liệu cá nhân. AWS hỗ trợ các tiêu chuẩn này qua các chứng nhận compliance, giúp khách hàng đáp ứng yêu cầu quy định khi sử dụng dịch vụ như EC2, S3, VPC.

✅ Đáp án đúng: ISO 27017
Lý do lựa chọn: ISO 27017 là tiêu chuẩn quốc tế chuyên biệt cung cấp hướng dẫn về các kiểm soát an ninh thông tin cho dịch vụ đám mây, mở rộng từ ISO 27002 với các kiểm soát bổ sung dành riêng cho nhà cung cấp đám mây (cloud service provider) và người sử dụng (cloud service customer). Nó bao gồm 37 kiểm soát mới/chỉnh sửa, áp dụng trực tiếp cho việc provision (cung cấp) và use (sử dụng) dịch vụ đám mây. AWS đã đạt chứng nhận ISO 27017 từ năm 2018 và duy trì đến 2026, giúp khách hàng dễ dàng tuân thủ (ví dụ: kiểm soát như CLD.6.1 về phân tách môi trường đám mây).

🛠️ Giải thích tất cả các phương án (đúng/sai):

  • ISO 27001 ❌ Sai vì đây là tiêu chuẩn chung cho hệ thống quản lý an ninh thông tin (ISMS), không chuyên biệt cho đám mây. Nó cung cấp khung chứng nhận tổng quát, AWS đạt ISO 27001 nhưng không tập trung vào "provision and use of cloud services".
  • ISO 27002 ❌ Sai vì đây là bộ hướng dẫn thực hành tốt nhất cho kiểm soát an ninh thông tin chung (trước là 27002:2013, nay 27002:2022), không dành riêng cho đám mây. ISO 27017 dựa trên nó nhưng bổ sung phần đám mây.
  • ISO 27017 ✅ Đúng như đã giải thích ở trên – chính xác khớp với mô tả câu hỏi về kiểm soát cho provision/use cloud services. Phiên bản mới nhất (2015, không thay đổi lớn đến 2026).
  • ISO 27018 ❌ Sai vì đây là tiêu chuẩn chuyên về bảo vệ thông tin cá nhân (PII) trong đám mây công cộng, tập trung vào quyền riêng tư (privacy), không phải kiểm soát an ninh chung cho provision/use dịch vụ đám mây. AWS cũng đạt ISO 27018 nhưng không phù hợp câu hỏi.

📘 Tài liệu tham khảo (cập nhật đến 2026):

  • AWS Compliance: ISO 27017 on AWS – Chi tiết chứng nhận AWS.
  • ISO Official: ISO/IEC 27017:2015 – Mô tả chính thức.
  • AWS Well-Architected Framework (Security Pillar): Đề cập ISO 27017 trong compliance cloud.
  • AWS Shared Responsibility Model: Nhấn mạnh ISO 27017 cho kiểm soát đám mây chia sẻ.
Câu 120
You will create a new Service Account that should be able to list the Compute Engine instances in the project. You want to follow Google-recommended practices.
What should you do?
  1. A Create an Instance Template, and allow the Service Account Read Only access for the Compute Engine Access Scope.
  2. B Create a custom role with the permission compute.instances.list and grant the Service Account this role.
  3. C Give the Service Account the role of Compute Viewer, and use the new Service Account for all instances.
  4. D Give the Service Account the role of Project Viewer, and use the new Service Account for all instances.
Xem giải thích

🧩 Phân tích câu hỏi trắc nghiệm: Tạo Service Account để liệt kê Compute Engine instances theo best practices của Google

✅ Giải thích nội dung câu hỏi một cách chi tiết:
Câu hỏi yêu cầu tạo một Service Account mới (tài khoản dịch vụ) có khả năng liệt kê (list) các Compute Engine instances trong project trên Google Cloud Platform (GCP). Yêu cầu phải tuân thủ các thực hành khuyến nghị của Google (Google-recommended practices), nhấn mạnh vào nguyên tắc least privilege (quyền hạn tối thiểu) để đảm bảo bảo mật.
🛠️ Bối cảnh chính: Service Account dùng cho các ứng dụng hoặc dịch vụ tự động truy cập tài nguyên GCP mà không cần tài khoản người dùng. Nhiệm vụ cụ thể là cấp quyền compute.instances.list (chỉ đọc danh sách VM), tránh cấp quyền thừa để giảm rủi ro bảo mật. Kiến thức dựa trên IAM (Identity and Access Management) mới nhất của GCP đến năm 2026, ưu tiên custom role thay vì predefined role rộng.

✅ Đáp án đúng và lý do lựa chọn:
Đáp án đúng: Create a custom role with the permission compute.instances.list and grant the Service Account this role.
Lý do: ✅ Phương án này tuân thủ nguyên tắc least privilege – chỉ cấp đúng quyền compute.instances.list cần thiết để liệt kê instances, không cấp thêm quyền thừa. Google khuyến nghị sử dụng custom role cho các trường hợp cụ thể để kiểm soát chi tiết (theo IAM best practices 2024-2026). Điều này an toàn hơn predefined role, dễ audit và tránh over-privileging.

📋 Giải thích tất cả các phương án (đúng/sai):

  • Phương án 1: Create an Instance Template, and allow the Service Account Read Only access for the Compute Engine Access Scope.
    ❌ Sai vì: Instance Template dùng để tạo instances mới, không liên quan đến quyền list instances. "Read Only access for Compute Engine Access Scope" là scope cũ (VM OAuth scopes), không phải IAM role hiện đại và không granular (không chỉ list mà cấp quyền rộng hơn như read metadata). Google khuyến nghị dùng IAM roles thay vì scopes từ 2023 trở đi.

  • Phương án 2 (ĐÚNG): Create a custom role with the permission compute.instances.list and grant the Service Account this role.
    ✅ Đúng vì: Như đã giải thích ở trên, đây là cách tối ưu và an toàn nhất theo IAM best practices. Permission compute.instances.list chính xác cho yêu cầu, custom role cho phép tùy chỉnh (tối đa 64 permissions theo giới hạn 2026).

  • Phương án 3: Give the Service Account the role of Compute Viewer, and use the new Service Account for all instances.
    ❌ Sai vì: Role Compute Viewer (roles/compute.viewer) cấp quyền rộng (list + get + describe instances, images, disks,...), vi phạm least privilege. Cụm "use for all instances" không liên quan vì Service Account attach vào workload, không phải từng instance.

  • Phương án 4: Give the Service Account the role of Project Viewer, and use the new Service Account for all instances.
    ❌ Sai vì: Role Project Viewer (roles/viewer) cấp quyền đọc toàn project (bao gồm Compute, Storage, BigQuery,...), quá rộng và không cần thiết chỉ để list instances. Tương tự phương án 3, "use for all instances" không chính xác.

📘 Tài liệu tham khảo (cập nhật mới nhất 2026):