exam questions

Exam AWS Certified Security - Specialty All Questions

View all questions & answers for the AWS Certified Security - Specialty exam

Exam AWS Certified Security - Specialty topic 1 question 435 discussion

Exam question from Amazon's AWS Certified Security - Specialty
Question #: 435
Topic #: 1
[All AWS Certified Security - Specialty Questions]

A company’s data is encrypted in an Amazon S3 bucket by an AWS Key Management Service (AWS KMS) customer managed key. The company has AWS Lambda functions that run in the same account as the S3 bucket. The Lambda functions need to access the data in the S3 bucket. A security engineer must ensure that each Lambda function has its own programmatic access control permissions to use the KMS key.

What should the security engineer do to meet this requirement?

  • A. Create Lambda IAM users for each Lambda function. Attach an IAM policy that includes specific access permissions to use the KMS key.
  • B. Create a key grant for the Lambda service principal. Add or remove specific access permissions to use the KMS key.
  • C. Create a Lambda execution role that provides specific access permissions to use the KMS key for each Lambda function.
  • D. Configure each Lambda function to assume an IAM role that provides specific access permissions to use the AWS managed KMS key for Amazon S3.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

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
Isaias
Highly Voted 2 years, 9 months ago
Selected Answer: C
I go with C https://aws.amazon.com/premiumsupport/knowledge-center/lambda-execution-role-s3-bucket/?nc1=h_ls
upvoted 7 times
...
must_be_rohit
Highly Voted 2 years, 7 months ago
Selected Answer: B
GRANTS seems to be the best option https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
upvoted 6 times
...
kejam
Most Recent 1 year, 9 months ago
Selected Answer: D
Answer D A security engineer must ensure that each Lambda function has its own programmatic access control permissions to use the KMS key. https://docs.aws.amazon.com/lambda/latest/dg/security-iam.html https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html
upvoted 2 times
kejam
1 year, 9 months ago
Changing to C We don't manage the AWS managed KMS key policies.
upvoted 1 times
...
...
symplesims
2 years, 1 month ago
Selected Answer: C - Answerd by ChatGPT. By creating a separate Lambda execution role for each Lambda function, the security engineer can define granular access permissions for each function. The Lambda execution role can include the necessary permissions to use the KMS key, allowing the Lambda function to access the encrypted data in the S3 bucket. This approach ensures that each Lambda function has its own distinct set of permissions and provides isolation of access control for each function. On the other hand, Option B (creating a key grant for the Lambda service principal) would grant permissions directly to the Lambda service principal itself rather than to individual Lambda functions. This approach would not provide separate programmatic access control permissions for each Lambda function, as all functions would share the same permissions granted to the Lambda service principal. Therefore, Option C is the correct choice to ensure that each Lambda function has its own programmatic access control permissions to use the KMS key.
upvoted 3 times
...
vherman
2 years, 2 months ago
Selected Answer: C
The correct answer is C, because: 1. Requirement "Each Lambda Function has ITS OWN programmatic access" points to C (C: specific access permissions for EACH lambda function); (B: grant for THE lambda principal) - Grants are often used for temporary permissions
upvoted 1 times
...
Kezuko
2 years, 4 months ago
Selected Answer: B
https://docs.aws.amazon.com/workspaces-web/latest/adminguide/getting-started-iam-user-access-keys.html
upvoted 2 times
...
Cyp
2 years, 4 months ago
Selected Answer: B
Programatic access = Grant
upvoted 2 times
...
c73bf38
2 years, 5 months ago
Selected Answer: C
Lambda execution role
upvoted 2 times
...
milofficial
2 years, 6 months ago
Selected Answer: C
Very difficult choice between B and C. The correct answer is C, because: - Requirement "each Lambda function has ITS OWN programmatic access" points to C (C: specific access permissions for EACH lambda function); (B: grant for THE lambda principal) - Grants are often used for temporary permissions
upvoted 3 times
...
selim507
2 years, 6 months ago
Selected Answer: C
Lambda execution role is a service role
upvoted 1 times
...
arpgaur
2 years, 6 months ago
Programmatic access= Grants
upvoted 2 times
...
secdaddy
2 years, 7 months ago
Selected Answer: C
B "However, the grantee principal cannot be a service principal" https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant-best-practices Breaking down C, it might be saying "that provides specific access permissions...for each Lambda function", I guess by listing each lambda ARN one by one in the role policy. If so then for me this meets the "ensure that each Lambda function has its own access" part of the requirement and seems the better choice.
upvoted 5 times
...
Teknoklutz
2 years, 7 months ago
Selected Answer: B
Grant for programmatic access.
upvoted 2 times
...
Abhi_shek_kumar
2 years, 7 months ago
Selected Answer: B
Grant for programmatic access
upvoted 3 times
...
Fyssy
2 years, 8 months ago
Selected Answer: C
Every Lambda function has an IAM role called an execution role.
upvoted 2 times
...
aj2aj2
2 years, 8 months ago
Why not B - Key Grants are used programmatic access control permissions to use the KMS key
upvoted 3 times
...
D2
2 years, 8 months ago
C is more appropriate as D talks about AWS managed KMS key whereas questions states it's customer managed key
upvoted 3 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 ...