SaveMyCert
Log in
5 of 5 free questions left today·for 10 a day
SAP-C03 · Domain 2

Security, Compliance, and Governance practice questions

Security, Compliance, and Governance is worth 25% of the SAP-C03 exam — the heaviest of the 5 domains. Securing and governing multi-account estates: identity federation and least privilege, data perimeters, encryption and key management (including CloudHSM and post-quantum cryptography), Organizations and Control Tower guardrails, centralized logging, compliance, data residency, and responsible-AI controls. Official weighting 25%. 6 fully worked examples are further down this page, answers included.

Exam weight
25%
the heaviest of the 5 domains
Questions
220
across 5 topics
Free, no account
5/day
a free account allows 10 a day
Explanations
Every option
right and wrong

Build a practice session

5 free questions left today.

Domains

How many?

Mode

Ready when you are

10 fresh questions drawn across 1 of 5 domains, in Learn mode.

Review what you missed

Every question you answer incorrectly, and every question you flag while practising, is saved here automatically. Finish a session and you can come back to re-drill just those.

6 sample Security, Compliance, and Governance questions, fully explained

Questions from the SAP-C03 bank mapped to domain 2, with the answer key and the reasoning behind every option. None of them repeat the examples on the main SAP-C03 practice page.

Question 1Security, Compliance, and Governance

A company connected IAM Identity Center to Microsoft Entra ID as an external identity provider using SAML 2.0 and assigned an Entra ID group named Platform-Admins to a permission set in six accounts. Existing members sign in successfully. Engineers added to the Entra ID group this week are authenticated by Entra ID but then receive an error from Identity Center and see no accounts. What should a solutions architect do to fix this with the least ongoing effort?

Choose one.

  • a
    Add the engineers' email addresses as SAML attributes in the Entra ID enterprise application so they are matched at sign-in

    Attribute mappings change what the assertion carries, but Identity Center still needs a matching user in its identity store. Adding attributes does not create the users or their group membership.

  • b
    Create the new engineers manually as users in the Identity Center store and add them to a matching local group

    Manually creating users would let these engineers in, but every future joiner and leaver would need the same manual work, which fails the least-ongoing-effort requirement.

  • c
    Reassign the permission set to the Platform-Admins group in each account so Identity Center refreshes its membership

    Reassigning the permission set does not create users. The group membership Identity Center knows about comes from its identity store, which is not being updated.

  • d
    Enable automatic provisioning in Identity Center and configure Entra ID to provision users and groups through SCIM Correct

    The new engineers do not exist in the Identity Center identity store. SCIM provisioning creates them and their group membership from Entra ID automatically, so every future joiner works without manual steps.

The concept

With an external IdP, Identity Center authorises only users and groups that exist in its identity store; SCIM keeps that store in sync.

Why that’s the answer

Authentication at Entra ID succeeds, but Identity Center cannot match the incoming assertion to a user, because new joiners were never provisioned into its identity store. Identity Center has no just-in-time provisioning from SAML. Enabling SCIM automatic provisioning from Entra ID creates the users and their group memberships and removes them when they leave. Manual creation works once but adds effort for every change; re-assigning permission sets or adding SAML attributes does not create identities.

How to reason it out
  1. Note the symptom: the IdP authenticates the user, Identity Center rejects them.
  2. Recall that Identity Center needs a matching user in its identity store and does not create one from SAML.
  3. Choose the mechanism that keeps users and groups in sync automatically: SCIM.
  4. Discard one-off manual fixes when the constraint is least ongoing effort.

Exam tip: No SCIM, no new users: Identity Center does not provision just in time from a SAML assertion.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

Question 2Security, Compliance, and Governance

A platform team manages access through IAM Identity Center. It updated a permission set named DataEngineer to reference a customer managed policy called data-lake-read with path /platform/, so that each account's copy can name that account's own buckets. Provisioning the updated permission set succeeds in 3 accounts but fails in the other 17 accounts it is assigned to. What is the MOST likely cause, and the fix?

Choose one.

  • a
    The 17 assigned accounts block customer managed policies through an SCP; exempt the AWSReservedSSO role path in that SCP

    SCPs restrict what principals can do; they do not stop Identity Center from attaching a policy during provisioning. The failure pattern points to the policy itself being absent.

  • b
    The policy has to live in the Identity Center administration account; create data-lake-read under /platform/ there and share it with AWS RAM

    IAM policies are not shareable through AWS RAM, and a customer managed policy reference resolves inside each target account, not in the administration account.

  • c
    The 17 accounts have no matching policy on that path; create data-lake-read under /platform/ in each of those accounts first Correct

    A customer managed policy reference is resolved by name and path in each account the permission set is provisioned to. Where no matching policy exists, provisioning fails, so the policy must be deployed to every assigned account, typically with CloudFormation StackSets.

  • d
    The permission set exceeds the inline policy size limit; move data-lake-read into an AWS managed policy and reprovision

    Size limits would fail in every account, not in only some, and an AWS managed policy cannot be tailored to name each account's buckets.

The concept

Permission sets can reference customer managed policies, which Identity Center resolves by name and path in each target account.

Why that’s the answer

Referencing a customer managed policy lets one permission set carry account-specific permissions, because each account holds its own version of a policy with the same name and path. Identity Center does not create that policy; if it is missing from an account, provisioning to that account fails. The pattern of success in 3 accounts and failure in 17 indicates the policy exists only in 3. Deploying it everywhere, for example with StackSets, fixes provisioning. SCPs, RAM sharing and size limits do not explain a per-account split.

How to reason it out
  1. Note that provisioning succeeds in some accounts and fails in others.
  2. Recall how customer managed policy references resolve: same name and path in each account.
  3. Conclude the policy is missing where provisioning fails.
  4. Deploy the policy to all assigned accounts before reprovisioning.

Exam tip: A customer managed policy reference in a permission set needs the same-named policy, on the same path, in every assigned account.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

Question 3Security, Compliance, and Governance

A company uses IAM Identity Center with Okta as its identity source. About 60 project teams share analytics accounts, and each S3 bucket and Athena workgroup is tagged with project. Each engineer's Okta profile carries a project attribute. New projects start every week, and the security team will not create or change a permission set, group or policy for each new project. Engineers must reach only their own project's resources. What should a solutions architect do?

Choose one.

  • a
    Create one Okta group and one permission set for each project, each with an inline policy that lists that project's buckets and workgroups by ARN

    This enforces per-project access, but every new project needs a new group, permission set and policy, which the security team has ruled out.

  • b
    Enable attributes for access control, pass project from Okta, and allow access where the resource's project tag equals aws:PrincipalTag/project Correct

    Attributes for access control turn the Okta project attribute into a session tag for each engineer's session. One permission set compares it with the resource tag, so new projects need only correctly tagged resources and profile attributes.

  • c
    Create one permission set whose policy grants access when the resource's project tag matches a project attribute tagged on the permission set's IAM role

    Identity Center creates one AWSReservedSSO role per permission set per account, shared by every engineer assigned to it. A tag on that role is the same for all engineers, so it cannot separate projects.

  • d
    Create one permission set with an inline session policy for each engineer that lists the buckets and Athena workgroups of that engineer's project

    Permission sets do not hold per-user session policies; one inline policy applies to everyone assigned. Per-engineer policies would also need maintenance for every project change.

The concept

IAM Identity Center attributes for access control pass identity-source attributes into each session as aws:PrincipalTag values, enabling ABAC with one permission set.

Why that’s the answer

ABAC scales because the policy does not change as projects are added: it compares the user's attribute with the resource's tag. In Identity Center, the attribute must reach the session as a principal tag, which is what attributes for access control does (from the SAML assertion or the identity store). Tagging the permission set's role cannot work, because one role serves every assigned user, and per-project groups or per-engineer policies break the no-new-artifact constraint.

How to reason it out
  1. Spot the constraint: no new permission set, group or policy per project.
  2. That points to ABAC: one policy comparing a user attribute with a resource tag.
  3. Ask how the user's attribute reaches the session: Identity Center attributes for access control.
  4. Reject role tags, because the AWSReservedSSO role is shared by all assigned users.

Exam tip: With Identity Center, ABAC uses aws:PrincipalTag from attributes for access control, not tags on the shared permission-set role.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

Question 4Security, Compliance, and Governance

A company deploys infrastructure from GitHub Actions workflows to three AWS accounts. The workflows use access keys for an IAM user stored as repository secrets, and an audit found that the keys have not been rotated in two years. The security team wants the workflows to stop using any long-term AWS credentials. What should a solutions architect recommend?

Choose one.

  • a
    Store the IAM user's access keys in AWS Secrets Manager with scheduled rotation and have the workflows in each account read them at run time

    Rotation shortens the exposure window, but the workflows still use long-term IAM user keys and now also need credentials to read Secrets Manager.

  • b
    Create an IAM OIDC identity provider for GitHub and a role in each account that trusts it, then assume the role from each workflow Correct

    GitHub issues each workflow run a signed OIDC token. Exchanging it through AssumeRoleWithWebIdentity returns short-lived credentials, so no AWS keys are stored in GitHub at all.

  • c
    Register the GitHub runners with IAM Roles Anywhere using X.509 certificates from the company's private CA and assume the deployment role

    Roles Anywhere suits servers that hold X.509 certificates. GitHub-hosted runners already receive an OIDC token per run, so issuing and protecting certificates adds work without benefit.

  • d
    Create an Amazon Cognito identity pool that trusts GitHub and give the workflows its unauthenticated role for deployments

    An unauthenticated identity-pool role is available to anyone who calls the pool, which is unsuitable for deployment permissions.

The concept

CI/CD platforms that issue OIDC tokens should use IAM OIDC federation instead of stored access keys.

Why that’s the answer

GitHub Actions can request an OIDC token for each workflow run. With an IAM OIDC identity provider for GitHub and a role that trusts it, the workflow calls AssumeRoleWithWebIdentity and gets temporary credentials that expire automatically. Nothing long-lived is stored. Rotating IAM user keys still leaves long-term credentials, Roles Anywhere needs a PKI the scenario does not call for, and an unauthenticated Cognito role is not access control.

How to reason it out
  1. Identify the problem: long-term IAM user keys stored outside AWS.
  2. Check what the platform can present: GitHub Actions issues OIDC tokens.
  3. Federate with an IAM OIDC provider and a role per account.
  4. Reject options that keep long-term keys or open access to unauthenticated callers.

Exam tip: If the platform issues OIDC tokens, federate with IAM and drop the access keys.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

Question 5Security, Compliance, and Governance

A deployment role in a production account trusts the GitHub OIDC provider. Its trust policy currently checks only that token.actions.githubusercontent.com:aud equals sts.amazonaws.com. A review shows that a workflow in any repository could assume the role. Only workflows running on the main branch of the example-org/payments repository may deploy. Which condition should a solutions architect add to the trust policy?

Choose one.

  • a
    StringLike on token.actions.githubusercontent.com:sub with the value repo:example-org/*:ref:refs/heads/main

    This limits the role to the main branch but of every repository in the organization, so other teams' workflows could still deploy to production.

  • b
    StringEquals on token.actions.githubusercontent.com:sub with the value repo:example-org/payments:ref:refs/heads/main Correct

    The sub claim identifies the repository and the ref the workflow runs on. Matching it exactly allows only the main branch of the payments repository.

  • c
    StringEquals on aws:PrincipalOrgID with the value of the company's AWS Organizations ID, added alongside the existing aud check

    The caller is a GitHub workflow, not an AWS principal in the organization, so an organization ID condition does not describe which repository is calling.

  • d
    StringEquals on sts:ExternalId with a value stored as an encrypted secret in the example-org/payments repository

    External IDs apply to AssumeRole calls by third-party AWS principals. Web identity federation identifies the caller through token claims, so sub is the condition to use.

The concept

OIDC federation trust policies must scope the token's subject claim, not just its audience.

Why that’s the answer

The aud claim only proves the token was minted for AWS STS; every GitHub workflow can produce such a token. The sub claim carries the repository and ref (or environment) of the run, so an exact match on repo:example-org/payments:ref:refs/heads/main restricts the role to that branch of that repository. A wildcard over the organization is still too broad, and organization IDs or external IDs do not apply to web identity callers.

How to reason it out
  1. Note that the audience check alone lets any repository's workflow in.
  2. Recall which claim identifies the repository and branch: sub.
  3. Match it exactly for the one repository and branch allowed.
  4. Reject conditions designed for AWS principals (PrincipalOrgID, ExternalId).

Exam tip: For GitHub OIDC, aud says the token is for AWS; sub says who is asking. Always restrict sub.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

Question 6Security, Compliance, and Governance

A startup is building a consumer mobile app with a backend on Amazon API Gateway and AWS Lambda. Users must be able to sign up with an email address or sign in with their Google or Apple accounts, and the backend needs signed tokens to identify each user on every API call. The team does not want to run its own user database or token service. What should a solutions architect recommend?

Choose one.

  • a
    An Amazon Cognito identity pool with Google and Apple as identity providers, and IAM authorization on the API

    Identity pools exchange tokens for temporary AWS credentials. On their own they offer no email sign-up or user directory.

  • b
    AWS IAM Identity Center with Google and Apple as external identity providers, and a Lambda authorizer on the API

    Identity Center is for workforce access to AWS accounts and business applications, not consumer sign-up in a mobile app.

  • c
    IAM OIDC identity providers for Google and Apple, and a role each user's app assumes through AssumeRoleWithWebIdentity

    Direct web identity federation hands the app AWS credentials but provides no email sign-up, user directory or application tokens for the API to read.

  • d
    An Amazon Cognito user pool with Google and Apple as identity providers, and a Cognito authorizer on the API Correct

    A user pool is a managed user directory and OAuth 2.0/OIDC token issuer. It federates social providers, and API Gateway validates its tokens with a Cognito authorizer.

The concept

Amazon Cognito user pools provide customer identity: sign-up, sign-in, social federation and OIDC tokens for APIs.

Why that’s the answer

The app needs a user directory with email sign-up, social sign-in and tokens that the API can validate. That is a Cognito user pool: it federates Google and Apple, issues ID and access tokens, and integrates with API Gateway through a Cognito authorizer. Identity pools only exchange tokens for AWS credentials, Identity Center serves the workforce, and IAM OIDC providers give no directory or application tokens.

How to reason it out
  1. Classify the users: consumers of the company's own app.
  2. List the needs: sign-up, social sign-in, tokens for an API.
  3. Match them to a Cognito user pool with an API Gateway Cognito authorizer.

Exam tip: Customer sign-up and sign-in for your app: Cognito user pool. AWS credentials for those users: identity pool.

SAP-C03 Identity Security Architecture: Identity Center Federation, Cognito, EKS Pod Identity, Least Privilege, ABAC and Data Perimeters — the lesson that teaches this.

What SAP-C03 domain 2 tests, topic by topic

The official exam guide breaks Security, Compliance, and Governance into 5 topics. The question bank follows the same split, so a weak topic shows up as a cluster of misses you can go back and read.

Published SAP-C03 practice questions per topic in Security, Compliance, and Governance
TopicWhat it coversQuestions
Design identity security architecturesOfficial SAP-C03 Task 2.1 skills: (1) Implement identity federation by using standard protocols (for example, AWS IAM Identity Center, SAML 2.0, OpenID Connect, System for Cross-domain Identity Management [SCIM]). (2) Design application authentication and authorization solutions (for example, by using Amazon Cognito user pools, identity pools, OAuth 2.0, Amazon EKS Pod Identity). (3) Design least-privilege access controls such as cross-account access and temporary credentials (for example, by using IAM roles, IAM policies, permissions boundaries, external IDs, session policies, attribute-based access control [ABAC]). (4) Design data perimeter controls and external access validation solutions (for example, by using AWS Identity and Access Management Access Analyzer, VPC endpoint policies, AWS Verified Access). (5) Design workload identities for hybrid and multi-cloud environments (for example, by using IAM Roles Anywhere).44
Design solutions to implement encryption and key management strategiesOfficial SAP-C03 Task 2.2 skills: (1) Implement encryption at rest by using customer managed keys and automatic key rotation (for example, by using AWS KMS). (2) Implement encryption in transit by using certificate management (for example, TLS 1.3, AWS Certificate Manager [ACM], AWS Private CA). (3) Implement dedicated hardware security modules to comply with regulations (for example, AWS CloudHSM). (4) Design post-quantum cryptography strategies (for example, by using AWS KMS with Module-Lattice Digital Signature Algorithm [ML-DSA], Module-Lattice-Based Key-Encapsulation Mechanism [ML-KEM]).44
Design multi-account governance and compliance solutionsOfficial SAP-C03 Task 2.3 skills: (1) Design organizational structures that include features such as guardrails, landing zones, and automated account provisioning (for example, by using AWS Organizations, OUs, AWS Control Tower, AWS Control Tower Account Factory). (2) Implement centralized logging and configuration management solutions, including solutions for AI model invocations and responses (for example, by using AWS CloudTrail organization trails, AWS Config aggregation, AWS GuardDuty, Amazon Security Lake, AWS Security Hub, Amazon CloudWatch Logs). (3) Configure cross-account resource sharing (for example, AWS Resource Access Manager [AWS RAM], AWS Transit Gateway). (4) Design policy enforcement by using SCPs and RCPs. (5) Implement automated compliance monitoring (for example, by using AWS Config rules, AWS Security Hub CSPM). (6) Configure automated vulnerability scanning and patch management (for example, by using Amazon Inspector, AWS Systems Manager Patch Manager).44
Design architectures to meet compliance requirementsOfficial SAP-C03 Task 2.4 skills: (1) Design architectures to meet data protection requirements (for example, by implementing encryption, access controls, audit logging). (2) Design solutions to meet regulatory requirements such as data sovereignty controls. (3) Implement audit trail management for regulated workloads, including for AI services. (4) Design data residency controls such as AWS Region-specific deployments and transfer restrictions. (5) Implement compliance evidence collection and reporting solutions (for example, by using AWS Artifact). (6) Implement risk assessment solutions for cloud architectures such as threat modeling and mitigation strategies.44
Design security and responsible AI controlsOfficial SAP-C03 Task 2.5 skills: (1) Implement content filtering and compliance controls for generative AI services (for example, by using Amazon Bedrock Guardrails). (2) Implement access controls for generative and agentic AI applications (for example, by using Amazon Bedrock AgentCore Identity). (3) Design human oversight workflows that include approval mechanisms for AI operations (for example, by using AWS Step Functions).44
Total220

Revise Security, Compliance, and Governance before you drill it

Other SAP-C03 domains

Security, Compliance, and Governance: your questions

Security, Compliance, and Governance is domain 2 of the SAP-C03 exam guide and carries 25% of the scored content — the heaviest of the 5 domains. On a 75-question paper that works out to roughly 19 questions, though AWS does not publish an exact per-domain count and individual exam forms vary.

Source

The domain weight and topic list on this page come from the official SAP-C03 exam guide.