SOA-C03 · 16% of the exam
Security and Compliance practice questions
10 free Security and Compliance questions for the AWS Certified CloudOps Engineer – Associate (SOA-C03) exam, each with the correct answer and an explanation for every option.
What this domain covers
Operating AWS securely: identity and multi-account access, compliance enforcement, data protection and acting on security findings.
- Exam weight
- 16%
- On a real exam
- ≈ 10 questions
- In our bank
- 96 questions
Topics that come up most
- IAM policies, permissions boundaries and access troubleshooting
- Organizations, SCPs and IAM Identity Center
- AWS Config conformance packs and Trusted Advisor
- KMS, ACM and Secrets Manager
- Security Hub, GuardDuty, Inspector and Macie findings
How to study it
Read policy JSON until you can predict the effect of an explicit deny across identity, resource and SCP policies.
Sample Security and Compliance questions
Try each one before opening the answer. Original questions written to the official exam objectives.
Question 1
Several applications use a database password to connect to an Amazon RDS for MySQL database. A security policy requires that the password be changed automatically every 30 days, both in the database and in the stored credential. Applications retrieve the credential at runtime, and no application code or configuration changes should be needed after each change. Which solution meets these requirements?
- AStore the credential in AWS Secrets Manager and turn on automatic rotation with a 30-day schedule
- BStore the credential as a Parameter Store SecureString with an advanced-tier parameter policy set to 30 days
- CEncrypt the credential with an AWS KMS customer managed key that has automatic key rotation turned on
- DStore the credential in AWS Certificate Manager and rely on its managed renewal every 30 days
Show answer and explanation
Answer: A) Store the credential in AWS Secrets Manager and turn on automatic rotation with a 30-day schedule
Secrets Manager natively rotates database credentials on a schedule, updating both the secret and the database. Parameter Store policies only expire parameters or send notifications, and KMS and ACM rotate keys and certificates, not passwords.
- ACorrect. Secrets Manager rotation updates the credentials in both the secret and the database, either through managed rotation or a rotation Lambda function. Applications that retrieve the secret by name get the current value without code changes.
- BIncorrect. Parameter Store does not provide credential rotation. Parameter policies can set an expiration or send a notification when a parameter has not been changed, but they do not change the password in the database. AWS recommends Secrets Manager when rotation is needed.
- CIncorrect. KMS automatic key rotation replaces the cryptographic material of the KMS key itself. It does not change the database password or update the database user's credentials.
- DIncorrect. AWS Certificate Manager manages and renews SSL/TLS certificates. It does not store or rotate database passwords.
Question 2
A company lets a third-party monitoring vendor assume an IAM role in the company's AWS account. The role's trust policy names the vendor's AWS account as the principal. The vendor serves many customers from that same account. The company is worried that another vendor customer could give the vendor this role's ARN and trick it into accessing the company's resources. Which change to the trust policy best reduces this risk?
- AAdd a condition that requires the sts:ExternalId value to match the unique identifier the vendor generated and assigned to this company.
- BAdd a condition that requires aws:SourceAccount to equal the vendor's AWS account ID for every AssumeRole request.
- CAdd a condition that requires aws:MultiFactorAuthPresent to be true for every AssumeRole request the vendor makes.
- DReduce the role's maximum session duration to 15 minutes so that any credentials the vendor obtains expire quickly.
Show answer and explanation
Answer: A) Add a condition that requires the sts:ExternalId value to match the unique identifier the vendor generated and assigned to this company.
For third-party cross-account roles, AWS recommends a trust policy condition on sts:ExternalId with a unique value generated by the vendor. This stops other vendor customers from turning the vendor into a confused deputy.
- ACorrect. The external ID exists to prevent the confused deputy problem. The vendor generates a unique value for each customer and always includes that customer's value when it assumes a role. If another customer submits this role's ARN, the vendor sends that customer's external ID, the condition doesn't match, and the AssumeRole call fails.
- BIncorrect. aws:SourceAccount is meant for cross-service confused deputy protection, when an AWS service principal accesses a resource. Even if it applied here, every request the vendor makes on behalf of any customer comes from the same vendor account, so it couldn't tell this company's requests apart from another customer's.
- CIncorrect. Requiring MFA proves that the vendor's principal authenticated strongly. It doesn't show which customer the vendor is acting for, so a request made for another customer could still pass. It would also break the vendor's automated, unattended role assumption.
- DIncorrect. A shorter session limits how long credentials stay valid. It does nothing to stop the vendor from assuming the role for the wrong customer in the first place, so unauthorized access is still possible during each session.
Question 3
A company has 40 departments, and new departments are added often. Every IAM role and every AWS resource carries a Department tag. A security engineer must ensure that principals can manage only resources whose Department tag matches their own. When new departments or resources are added, no permissions policy should need to be edited. Which solution meets these requirements?
- AAttach one policy to all roles with a condition requiring aws:ResourceTag/Department to equal ${aws:PrincipalTag/Department}
- BCreate one IAM role for each department, with a policy that lists the ARNs of the resources that department owns
- CApply a permissions boundary to each role that lists the resource ARNs its department is allowed to manage
- DAttach an SCP that denies actions on any resource that doesn't have a Department tag
Show answer and explanation
Answer: A) Attach one policy to all roles with a condition requiring aws:ResourceTag/Department to equal ${aws:PrincipalTag/Department}
ABAC uses tag condition keys, such as aws:ResourceTag matched against ${aws:PrincipalTag/key}, so that one policy grants access when principal and resource tags match. This lets permissions scale to new departments and resources without editing any policy, unlike RBAC policies that list specific resources.
- ACorrect. This is attribute-based access control (ABAC). A single policy allows access when the principal's tag matches the resource's tag. To add a department, you create and tag a role, and the policy stays unchanged. New resources are covered as soon as they are tagged.
- BIncorrect. This is the traditional RBAC model. Each time a department adds a resource, its policy must be updated with the new ARN, and each new department needs its own new policy.
- CIncorrect. Permissions boundaries limit the maximum permissions a principal can have. Listing ARNs in them still requires editing a policy whenever resources or departments change.
- DIncorrect. This only ensures that a Department tag exists on the resource. It does not compare the resource's tag with the principal's tag, so a principal could still manage another department's resources.
Question 4
A CloudOps engineer is explaining how security groups and network ACLs differ in a VPC. Which statement correctly describes where each one applies and how each one handles return traffic?
- ASecurity groups apply at the instance level and are stateful; network ACLs apply at the subnet level and are stateless
- BSecurity groups apply at the instance level and are stateless; network ACLs apply at the subnet level and are stateful
- CSecurity groups apply at the subnet level and are stateful; network ACLs apply at the instance level and are stateless
- DSecurity groups and network ACLs both apply at the subnet level, and both automatically allow return traffic
Show answer and explanation
Answer: A) Security groups apply at the instance level and are stateful; network ACLs apply at the subnet level and are stateless
Security groups apply at the instance level and are stateful, so return traffic is allowed automatically. Network ACLs apply at the subnet level and are stateless, so return traffic must be allowed explicitly.
- ACorrect. A security group applies to the instances associated with it, and return traffic for allowed connections is permitted automatically. A network ACL applies to every instance in its associated subnets, and return traffic has to be allowed explicitly.
- BIncorrect. The levels are right but the statefulness is reversed. Security groups are stateful, and network ACLs are stateless.
- CIncorrect. The statefulness is right but the levels are reversed. Security groups apply at the instance level, and network ACLs apply at the subnet level.
- DIncorrect. Security groups apply at the instance level. Network ACLs are stateless, so their return traffic must be allowed explicitly.
Question 5
A CloudOps engineer manages an AWS account where IAM users already have identity-based policies that grant their job permissions. A new requirement says that when an IAM user signs in to the console without MFA, the user must be blocked from everything except setting up and managing their own MFA device. What should the engineer do?
- AAttach a policy with a Deny statement that uses NotAction to exempt the MFA self-management actions, with a BoolIfExists condition of aws:MultiFactorAuthPresent set to false
- BConfigure a custom IAM account password policy that requires users to register an MFA device the next time they sign in
- CAttach a policy with an Allow statement for all actions that uses a Bool condition of aws:MultiFactorAuthPresent set to true for each user
- DEnable a virtual MFA device on the AWS account root user so that MFA is enforced for all identities in the account
Show answer and explanation
Answer: A) Attach a policy with a Deny statement that uses NotAction to exempt the MFA self-management actions, with a BoolIfExists condition of aws:MultiFactorAuthPresent set to false
To make IAM users use MFA, add an explicit Deny (Deny + NotAction) that applies when aws:MultiFactorAuthPresent is false or missing (BoolIfExists), and exempt only the MFA self-management actions. Password policies and root user MFA do not enforce MFA for IAM users.
- ACorrect. This is the pattern AWS documents. The Deny + NotAction statement denies every action except the listed MFA-setup actions, and only when the user did not authenticate with MFA. BoolIfExists also treats a missing key, such as with long-term access keys, as non-MFA. Because an explicit Deny overrides the Allows in the users' other policies, this blocks non-MFA sessions.
- BIncorrect. A custom password policy only sets minimum length, character types, expiration, reuse prevention, and whether users can change their own passwords. It has no option to require MFA.
- CIncorrect. A conditional Allow does not take away permissions that the users' other policies already grant without conditions. Only an explicit Deny can block non-MFA sessions that other policies would otherwise allow.
- DIncorrect. Root user MFA protects only the root user's credentials. IAM users are separate identities, and each has its own MFA configuration.
Question 6
An application encrypts data client-side with AWS KMS in us-east-1 and replicates the ciphertext to eu-west-1. If us-east-1 has an outage, the copy in eu-west-1 must be decryptable by calling AWS KMS only in eu-west-1, without re-encrypting the data first. Which approach meets this requirement?
- ACreate a multi-Region primary key in us-east-1 and a replica key in eu-west-1
- BCreate single-Region keys in both Regions and give them the same alias name
- CUse the AWS managed key for the service, which exists in every Region
- DAdd a key policy statement that lets eu-west-1 principals use the us-east-1 key
Show answer and explanation
Answer: A) Create a multi-Region primary key in us-east-1 and a replica key in eu-west-1
Multi-Region keys are separate KMS keys in different Regions that share a key ID and key material, so they can decrypt each other's ciphertext locally. Aliases, AWS managed keys and key policies do not change the fact that a single-Region key is tied to one Region.
- ACorrect. Related multi-Region keys share the same key ID and key material, so ciphertext encrypted by the primary key can be decrypted by the replica in another Region. This works without re-encrypting the data or making a cross-Region call to AWS KMS.
- BIncorrect. An alias is just a friendly name for a key in one Region. Two single-Region keys with the same alias still have different key material, so neither can decrypt the other's ciphertext.
- CIncorrect. AWS managed keys are always single-Region keys. Each Region has a separate key with different key material, so data encrypted in us-east-1 cannot be decrypted in eu-west-1.
- DIncorrect. A key policy controls who can use a key, not where the key exists. Decryption would still need a cross-Region call to AWS KMS in us-east-1, which fails during that Region's outage.
Question 7
A company is starting a new multi-account AWS environment. The CloudOps engineer must build a landing zone based on best practices, with a log archive account and an audit account. New accounts must be created from a standard template. Preventive controls (enforced with SCPs) and detective controls (enforced with AWS Config rules) must be applied to organizational units automatically, and a dashboard must show noncompliant resources. Which approach meets these requirements with the LEAST operational overhead?
- ASet up AWS Control Tower, use Account Factory to create accounts, and turn on controls for the OUs
- BCreate an organization in AWS Organizations, then write and attach SCPs to each OU manually
- CDeploy AWS Config conformance packs across the organization's accounts from a delegated administrator account
- DPublish account baseline templates as AWS Service Catalog products and share the portfolio with each account
Show answer and explanation
Answer: A) Set up AWS Control Tower, use Account Factory to create accounts, and turn on controls for the OUs
AWS Control Tower sets up a best-practice landing zone and provides Account Factory. It applies controls through SCPs/RCPs (preventive), AWS Config rules (detective), and CloudFormation hooks (proactive), and shows compliance on a dashboard.
- ACorrect. Control Tower orchestrates AWS Organizations, IAM Identity Center, and Service Catalog to build a landing zone based on best practices. Account Factory creates standardized accounts. Controls are applied to OUs: preventive controls use SCPs and RCPs, and detective controls use AWS Config rules. The Control Tower dashboard shows noncompliant resources.
- BIncorrect. Organizations provides OUs and SCPs, but it doesn't build a landing zone, the log archive and audit accounts, an account template, detective Config rules, or a compliance dashboard. All of that would have to be built and maintained by hand.
- CIncorrect. Conformance packs only check resource compliance after the fact (detective). They don't create accounts, set up the landing zone's account structure, or enforce preventive SCP-based controls.
- DIncorrect. Service Catalog lets users deploy approved products. On its own it doesn't create the multi-account landing zone or apply SCP and Config rule controls to OUs. Control Tower's Account Factory is built on Service Catalog, but Control Tower handles that orchestration for you.
Question 8
A compliance team maintains about 30 AWS Config rules and their associated remediation actions that map to a regulatory framework. They want to define the whole set in one template and deploy it as a single entity to an account and Region, or across their organization in AWS Organizations, instead of creating each rule one at a time. What should they use?
- AAn AWS Config conformance pack defined in a YAML template
- BAn AWS Config multi-account, multi-Region aggregator
- CAn AWS Systems Manager Automation runbook for each rule
- DA service control policy attached to the organization root
Show answer and explanation
Answer: A) An AWS Config conformance pack defined in a YAML template
AWS Config conformance packs bundle Config rules and remediation actions in a YAML template. You can deploy the pack as one entity to an account and Region or across an organization.
- ACorrect. A conformance pack is a collection of AWS Config rules and remediation actions. You write it as a YAML template and deploy it as a single entity to an account and Region, or across an organization.
- BIncorrect. An aggregator collects configuration and compliance data from multiple accounts and Regions into one view. It does not package or deploy rules or remediation actions.
- CIncorrect. Automation runbooks can serve as remediation actions, but they do not define or deploy Config rules. Using one per rule would still mean managing each rule separately.
- DIncorrect. SCPs set the maximum permissions available to accounts. They do not evaluate resource compliance or deploy Config rules and remediations.
Question 9
A company stores data in Amazon S3 buckets and Amazon RDS DB instances. A compliance requirement says the team must write the key policy themselves, choose when key material is rotated, and be able to disable or schedule deletion of the encryption key. Which encryption key option meets these requirements?
- AA customer managed key created in AWS KMS and specified for both the S3 buckets and the RDS instances
- BThe AWS managed keys (aws/s3 and aws/rds) that each service creates in the account to encrypt its resources
- CAWS owned keys that the services use by default to encrypt data without any extra configuration in the account
- DServer-side encryption with Amazon S3 managed keys (SSE-S3) applied as the default encryption on each bucket
Show answer and explanation
Answer: A) A customer managed key created in AWS KMS and specified for both the S3 buckets and the RDS instances
Customer managed keys are the only KMS key type that gives the customer full control over the key policy, rotation, enabling and disabling, and deletion. AWS managed keys, AWS owned keys and SSE-S3 keys are all managed by AWS.
- ACorrect. Customer managed keys are KMS keys that you create, own and manage. You control their key policies, IAM policies and grants, enable or disable them, rotate them, and schedule them for deletion. S3 and RDS both let you specify a customer managed key.
- BIncorrect. AWS managed keys are in your account and you can view them, but you cannot change their key policies, change their rotation schedule (AWS rotates them every year), or schedule them for deletion.
- CIncorrect. AWS owned keys are kept in an AWS service account, and that service manages them. You cannot view or change their policies, audit their use, or delete them.
- DIncorrect. With SSE-S3, Amazon S3 manages the keys for you, so you cannot write a key policy or control rotation or deletion. It also applies only to S3 and cannot be used for RDS.
Question 10
A company uses AWS IAM Identity Center with its corporate identity provider. Members of the Auditors group must get read-only access to all 12 production accounts and sign in through the AWS access portal, without IAM users or roles being created by hand in each account. Which actions should a CloudOps engineer take? (Choose two.)
Select 2 answers.
- ACreate a permission set that uses the ReadOnlyAccess AWS managed policy
- BAssign the Auditors group to the 12 production accounts with that permission set
- CCreate an IAM user for each auditor in every production account
- DAttach an SCP that allows read-only actions to the production OU
- EAdd the auditors' corporate user names to the S3 bucket policies in each account
Show answer and explanation
Answer: A) Create a permission set that uses the ReadOnlyAccess AWS managed policy; B) Assign the Auditors group to the 12 production accounts with that permission set
In IAM Identity Center, a permission set defines access, and assigning a group to accounts with that permission set provisions the roles in each account.
- ACorrect. A permission set defines the permissions users get in an account. Identity Center turns it into an IAM role in each account it's assigned to.
- BCorrect. An account assignment links a group, a permission set and accounts. Identity Center provisions the role in each account, and group members see the accounts in the access portal.
- CIncorrect. This is the per-account manual work the company wants to avoid, and it creates long-term credentials.
- DIncorrect. SCPs only limit the maximum permissions in accounts. They never grant access to anyone.
- EIncorrect. Resource policies would have to be added to every resource type and wouldn't give access through the AWS access portal.
Security and Compliance: FAQs
How much of the SOA-C03 exam is Security and Compliance?
Security and Compliance is 16% of the SOA-C03 exam by the official exam guide's weighting, which on a 65-question form works out to roughly 10 questions. The real exam's exact split varies by form.
What does the Security and Compliance domain cover?
Operating AWS securely: identity and multi-account access, compliance enforcement, data protection and acting on security findings.
How should I study Security and Compliance for SOA-C03?
Read policy JSON until you can predict the effect of an explicit deny across identity, resource and SCP policies.
Where can I practise more Security and Compliance questions?
This page has 10 free Security and Compliance questions with answers. CertRidge's SOA-C03 question bank has 96 questions in this domain. Every practice exam result breaks your score down by domain, and Review Mode re-drills the questions you missed.
Other SOA-C03 domains
- Monitoring, Logging, Analysis, Remediation, and Performance Optimization22% of the exam
- Reliability and Business Continuity22% of the exam
- Deployment, Provisioning, and Automation22% of the exam
- Networking and Content Delivery18% of the exam
Also: 15 free questions across all domains, the SOA-C03 cheat sheet and the study guide.
Get Security and Compliance exam-ready
The full SOA-C03 bank has 96 Security and Compliance questions. Timed practice exams match the real exam's length and domain weights, every result shows your score per domain, and Review Mode re-drills the questions you missed.
Not affiliated with AWS; questions are original and never copied from the real exam.