1.3 - Cross-account data protection and access (KMS, S3 Access Points, delegated admin)
AWS Solutions Architect Professional objective 1.3 covers protecting data and controlling access across accounts. You use a KMS multi-Region key with a primary and a replica sharing the same key material so ciphertext produced in one Region decrypts in another, and you know cross-account S3 access to an SSE-KMS object needs both the key policy on the owner's key and the reader's identity policy to allow kms:Decrypt. S3 Access Points give each consumer its own named entry point and policy to tame a bloated bucket policy, and a Cognito identity pool exchanges a user pool token for temporary IAM credentials scoped per user. Security services like Security Hub, Macie, GuardDuty and IAM Access Analyzer register a delegated administrator through Organizations, Config conformance packs deploy org-wide, Amazon Detective investigates findings, and cross-account remediation roles are deployed by StackSets and locked by an SCP. Expect scenarios about shared-key ciphertext, cross-account object reads, or delegating security administration, and ask which control fits.
Encrypt in one Region, decrypt in another = KMS multi-Region key. Cross-account SSE-KMS read = key policy AND reader identity policy both allow kms:Decrypt. Move security admin out of the management account = register a delegated administrator.
Practice questions
1. An application in two Regions must encrypt data with a key that has one identity and shared ciphertext portability, so data encrypted in one Region decrypts in the other without re-encryption. Which TWO facts about the design are correct? (Choose TWO.)
- A standard single-Region KMS key can be replicated to any Region by toggling a setting
- Use a KMS multi-Region key with a primary and a replica sharing the same key material (correct answer)
- Ciphertext produced by one replica can be decrypted by the related replica in the other Region (correct answer)
- Each Region needs a completely unrelated KMS key and the application must decrypt and then re-encrypt the data on every transfer
Multi-Region keys are created as such (a normal key cannot be converted) with a primary and replicas that share key material and key ID, so ciphertext is portable and either replica decrypts the other's output without re-encryption. Ordinary independent keys would force a decrypt/re-encrypt cycle on cross-Region transfer.
2. A platform team wants developers to launch only approved, pre-configured stacks (for example a compliant Amazon RDS setup) without granting them broad IAM permissions to the underlying services. Which service provides this self-service catalog?
- AWS Service Catalog (correct answer)
- AWS Systems Manager Parameter Store
- AWS Config
- AWS Marketplace private offers negotiated with third-party vendors
Service Catalog lets admins publish approved products (CloudFormation templates) that users launch with a launch role, so users get the resources without direct broad permissions. Parameter Store stores config values, Config tracks compliance, and Marketplace sells third-party software.
3. A central team maintains a Service Catalog portfolio and wants every account in the organization to access it so end users launch products locally, without importing it account by account. How should they share it?
- Share the portfolio with the organization or specific OUs via Organizations integration (correct answer)
- Copy every product template into each account and republish it there manually
- Make the portfolio publicly accessible over the internet to anyone with the link
- Grant each individual developer direct cross-account console access into the central management account
Service Catalog integrates with Organizations to share a portfolio to the whole org or chosen OUs, so accounts import it automatically and users launch locally. Manual copying does not scale, public exposure is insecure, and cross-account console access bypasses the self-service model entirely.
4. A team standardizes on Terraform and wants a GitOps pipeline to provision and continuously customize Control Tower accounts. Which AWS solution fits?
- Account Factory for Terraform (AFT) (correct answer)
- The Control Tower console wizard clicked manually for each individual account
- AWS CloudFormation StackSets used exclusively, with no Terraform involved anywhere
- A plain terraform apply run by hand in each account without any pipeline or automation
AFT provides a Terraform/GitOps pipeline that provisions Control Tower accounts via Account Factory and applies customizations automatically. The console wizard is manual, StackSets are CloudFormation-based, and per-account manual terraform apply has no pipeline or governance.
5. An application in account A must read objects from an unencrypted S3 bucket owned by account B. What is the minimal configuration that grants this access?
- Enable cross-Region replication so account A permanently holds a full duplicate copy of the bucket contents
- Make the bucket public and rely on account A network controls to restrict who reads it
- A bucket policy in B allowing A's role, plus an identity policy on that role allowing s3:GetObject (correct answer)
- Turn off S3 Block Public Access on both accounts and share every object with account A through pre-signed URLs regenerated on a schedule
Cross-account S3 access needs BOTH sides to allow it: the resource owner (B) grants A's principal in the bucket policy, and A's own identity policy permits the action. Replication is wasteful and stale; making the bucket public or disabling Block Public Access is insecure and unnecessary.
6. Account A must read S3 objects in account B that are encrypted with an SSE-KMS customer managed key owned by B. Beyond the bucket policy and A's identity policy, which TWO additional grants are required? (Choose TWO.)
- A NAT gateway in account A so decryption traffic can reach the KMS regional endpoint over the public internet
- The key policy on B's KMS key must allow A's principal to call kms:Decrypt (correct answer)
- A separate KMS key created in account A to re-wrap the objects after download
- A's identity policy must also allow kms:Decrypt on B's key ARN (correct answer)
- Enabling S3 Bucket Keys, which removes the need for any KMS permission at all
To decrypt SSE-KMS objects cross-account you need the key policy on B's key to permit A's principal AND A's identity policy to allow kms:Decrypt on that key ARN. A NAT gateway is irrelevant, a new key cannot decrypt B's ciphertext, and Bucket Keys reduce KMS call volume but do not remove the permission requirement.