exam questions

Exam AWS Certified Solutions Architect - Professional All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional exam

Exam AWS Certified Solutions Architect - Professional topic 1 question 597 discussion

A company is migrating its applications to AWS. The applications will be deployed to AWS accounts owned by business units. The company has several teams of developers who are responsible for the development and maintenance of all applications. The company is expecting rapid growth in the number of users.
The company's chief technology officer has the following requirements:
✑ Developers must launch the AWS infrastructure using AWS CloudFormation.
Developers must not be able to create resources outside of CloudFormation.

✑ The solution must be able to scale to hundreds of AWS accounts.
Which of the following would meet these requirements? (Choose two.)

  • A. Using CloudFormation, create an IAM role that can be assumed by CloudFormation that has permissions to create all the resources the company needs. Use CloudFormation StackSets to deploy this template to each AWS account.
  • B. In a central account, create an IAM role that can be assumed by developers, and attach a policy that allows interaction with CloudFormation. Modify the AssumeRolePolicyDocument action to allow the IAM role to be passed to CloudFormation.
  • C. Using CloudFormation, create an IAM role that can be assumed by developers, and attach policies that allow interaction with and passing a role to CloudFormation. Attach an inline policy to deny access to all other AWS services. Use CloudFormation StackSets to deploy this template to each AWS account.
  • D. Using CloudFormation, create an IAM role for each developer, and attach policies that allow interaction with CloudFormation. Use CloudFormation StackSets to deploy this template to each AWS account.
  • E. In a central AWS account, create an IAM role that can be assumed by CloudFormation that has permissions to create the resources the company requires. Create a CloudFormation stack policy that allows the IAM role to manage resources. Use CloudFormation StackSets to deploy the CloudFormation stack policy to each AWS account.
Show Suggested Answer Hide Answer
Suggested Answer: AC 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Kibana01
Highly Voted 3 years, 8 months ago
A&C seems a better combination.
upvoted 13 times
...
Anila_Dhharisi
Highly Voted 3 years, 8 months ago
Between A & E, its better to go with A. In E, they gave option of stack policy. We use stack policy only for updates and as well to avoid any unintentional updates. In this scenario, they had not discussed the requirement of updates on the resources of CloudFormation stack. Between B,C,D - its better to go with B. In option C, they mentioned about inline policy which is not appropriate as we need to embed the policy not attach it and better to use managed policies than inline policies. Inline policies are assigned to service linked roles which is inherited from the parent or user . In option D, its saying to create role to each of the developers which is not the right way in assigning the permissions. A role can be used by multiple developers instead of creating each role to each developer.
upvoted 12 times
viet1991
3 years, 7 months ago
A&C B is wrong. "Modify the AssumeRolePolicyDocument action to allow the IAM role to be passed to CloudFormation." => this sentence is wrong. "AssumeRolePolicyDocument The trust policy that is associated with this role. Trust policies define which entities can assume the role." We need to use iam:Passrole to pass the role from developer to cloudformation. AssumeRolePolicyDocument is used for assume the role only.
upvoted 4 times
...
...
Blair77
Most Recent 2 years, 7 months ago
Selected Answer: AC
AAA CCC 110% sure!
upvoted 1 times
...
tomosabc1
2 years, 8 months ago
Selected Answer: AC
The answer is AC. B(wrong):"Modify the AssumeRolePolicyDocument action to allow the IAM role to be passed to CloudFormation." => this sentence is wrong. "AssumeRolePolicyDocument The trust policy that is associated with this role. Trust policies define which entities can assume the role." We need to use iam:Passrole to pass the role from developer to cloudformation. D(wrong): "create an IAM role for each developer". This sentence is wrong. E(wrong): The newly created role in central account cannot be directly used by CloudFormation to create resources in other account. In addition, similar to S3 bucket policy, CloudFormation stack policy is used to control who can update the stack, rather than allowing the stack to create/manage AWS resource.
upvoted 1 times
...
hilft
2 years, 10 months ago
C and E
upvoted 1 times
...
aandc
2 years, 11 months ago
Selected Answer: AC
agreed with AC
upvoted 1 times
...
jyrajan69
3 years, 3 months ago
First we start by looking at either B or E, here E is more detailed and complete answer, so will go with E. Then is between A,C and D. D is not compliant with AWS not best practice to create role for each developer, so then between A and C. My answer would be C as this has an inline policy that prevents the developer from accessing the services directly. So answer is C and E
upvoted 4 times
...
AzureDP900
3 years, 6 months ago
I'll go with A,C
upvoted 1 times
...
WhyIronMan
3 years, 7 months ago
I'll go with A,C
upvoted 3 times
...
tekkart
3 years, 7 months ago
Here is a proposition of reasoning. First you must start from an account. Between B and E, you choose E because B is tempting (the statement about AssumeRolePolicyDocument looks right if I look this example : https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role--examples) but B does not allow you to export your configuration to other accounts. With E, CloudFormation gives itself the rights needed to auto-assign IAM. Then you use CloudFormation (options A, C, D). Remains to give rights to developers (C, D), but between these options, to respect the statement that "developers must not be able to create resources outside of CloudFormation", the only option is C "attach an inline policy to deny access to all other AWS services" not very fine grained, but the only present. Plus D has the keywords "for each developer" which as said by Anila is tedious. Therefore CE would be the right answers (as in the autocorrection, looking at the comments 90% of the answers are supposed to be good and I see discussion about the proposed answers on 50% !)
upvoted 6 times
tkanmani76
3 years, 5 months ago
Agree with Tekkart, C&E are the right choices.
upvoted 2 times
tkanmani76
3 years, 3 months ago
Correcting to A and C. C is the only choice which limits access to use of other services. And A deploys the template. (E deploys only stack set policy which is not correct).
upvoted 2 times
...
...
...
Waiweng
3 years, 7 months ago
it's A&C
upvoted 2 times
...
ppshein
3 years, 7 months ago
I would go with A & B. Because C is kinda duplicated with A and developers can manually amend policy by itself if required.
upvoted 1 times
...
Kian1
3 years, 7 months ago
going with AC
upvoted 1 times
...
Ebi
3 years, 7 months ago
I will go with AC
upvoted 4 times
...
petebear55
3 years, 7 months ago
A AND C
upvoted 2 times
...
Bulti
3 years, 7 months ago
A& C is the right answer. E is a misleading option. You need to deploy the CloudFormation template and not just the Stack policy. Moreover, the purpose of the stack policy is to prevent accidental changes to the resources being created by the CloudFormation template which is not the requirement. So A&C is correct.
upvoted 4 times
...
jackdryan
3 years, 8 months ago
I'll go with A,C
upvoted 4 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...