Ngân hàng đề — AWS Certified Security Specialty
Tìm thấy 445 câu.
Which combination of conditions must the security engineer add to the IAM policy to meet these requirements? (Choose two.)
- A "Bool": {"aws:MultiFactorAuthPresent": "true"}
- B "Bool": {"aws:MultiFactorAuthPresent": "false"}
- C "NumericLessThan": {"aws:MultiFactorAuthAge": "7200"}
- D "NumericGreaterThan": {"aws:MultiFactorAuthAge": "7200"}
- E "NumericLessThan": {"MaxSessionDuration": "7200"}
Xem giải thích
Đáp án
A và C — kiểm aws:MultiFactorAuthPresent bằng true, và aws:MultiFactorAuthAge nhỏ hơn một ngưỡng
Vì sao đúng
Hai khoá điều kiện này trả lời hai câu hỏi khác nhau và đề cần cả hai:
- A.
MultiFactorAuthPresent = true— phiên hiện tại có xác thực đa yếu tố hay không. - C.
MultiFactorAuthAge < 7200— lần xác thực đó diễn ra cách đây bao lâu. Không có vế này thì một phiên xác thực từ nhiều giờ trước vẫn qua được, làm yếu hẳn ý nghĩa của MFA.
Vì sao các phương án khác sai
- B.
MultiFactorAuthPresent = false— ngược hẳn: cho phép chính những phiên không có MFA. - D.
MultiFactorAuthAge > 7200— chỉ cho qua những phiên đã xác thực quá lâu, vô lý. - E.
MaxSessionDuration— là thuộc tính cấu hình của vai, không phải khoá điều kiện dùng trong chính sách.
What action should be performed to allow the ping to work?
- A In the security group of the EC2 instance, allow inbound ICMP traffic.
- B In the security group of the EC2 instance, allow outbound ICMP traffic.
- C In the VPC’s NACL, allow inbound ICMP traffic.
- D In the VPC’s NACL, allow outbound ICMP traffic.
Xem giải thích
Đáp án
D — Cho phép lưu lượng ICMP đi ra trong NACL của VPC
Vì sao đúng
Điểm mấu chốt là NACL không giữ trạng thái. Security group thì có: cho phép chiều vào là chiều ra tự động được phép. NACL thì phải khai cả hai chiều riêng biệt. Khi gói ping đi vào đã qua được (chiều vào đã mở), gói trả lời đi ra vẫn bị NACL chặn nếu chưa có luật cho chiều ra — và triệu chứng đúng là ping không nhận được phản hồi.
Vì sao các phương án khác sai
- A và B. Sửa security group — security group giữ trạng thái, nên chỉ cần luật chiều vào là gói trả lời tự đi ra được; sửa chiều ra ở đây không giải quyết gì.
- C. Mở ICMP chiều vào trong NACL — theo mô tả thì chiều vào đã thông (gói đã tới nơi); phần thiếu là chiều ra.
Nhớ nhanh
Security group có trạng thái, NACL thì không. Sự cố mạng kiểu "đi được mà không về" gần như luôn là NACL.
A user is unable to assume the IAM role in the target account. The policy attached to the role in the identity account is:
What should be done to enable the user to assume the appropriate role in the target account?
-
A
Update the IAM policy attached to the role in the identity account to be:
-
B
Update the trust policy on the role in the target account to be:
-
C
Update the trust policy on the role in the identity account to be:
-
D
Update the IAM policy attached to the role in the target account to be:
Xem giải thích
Đáp án
B — Sửa trust policy của vai ở tài khoản đích
Vì sao đúng
Đây là kịch bản đóng vai nối tiếp: người dùng đóng IdentityRole ở tài khoản danh tính, rồi từ đó đóng JobFunctionRole ở tài khoản đích. Quy tắc của AWS là mỗi lần đóng vai cần hai vế khớp nhau: bên gọi phải có quyền sts:AssumeRole, và vai được đóng phải tin bên gọi trong trust policy của chính nó.
Khi lời gọi bị từ chối ở bước thứ hai, chỗ phải sửa là trust policy của JobFunctionRole — nó phải liệt kê IdentityRole (hoặc tài khoản danh tính) làm principal được tin.
Vì sao các phương án khác sai
- A và D. Sửa chính sách quyền — chính sách quyền nói được làm gì, không nói ai được mượn vai.
- C. Sửa trust policy của vai ở tài khoản danh tính — sai chiều: vai đó đã được đóng thành công rồi; vấn đề nằm ở bước sau.
Ghi chú
Bản đề trong ngân hàng này thiếu khối JSON của các chính sách vì chúng vốn là ảnh. Phần giải thích trên dựa vào quy tắc chung của việc đóng vai nối tiếp.
The IAM policy for the Lambda function's execution role contains the following:
How should the security engineer correct the error?
- A Move the logs:CreateLogGroup action to the second Allow statement.
- B Add the logs:PutDestination action to the second Allow statement.
- C Add the logs:GetLogEvents action to the second Allow statement.
- D Add the logs:CreateLogStream action to the second Allow statement.
Xem giải thích
Đáp án
D — Thêm hành động logs:CreateLogStream
Vì sao đúng
Ghi log từ Lambda cần ba quyền đi cùng nhau: logs:CreateLogGroup để tạo nhóm log của hàm, logs:CreateLogStream để tạo luồng cho mỗi lần khởi tạo môi trường thực thi, và logs:PutLogEvents để ghi dòng log vào luồng đó. Thiếu quyền tạo luồng thì nhóm log tồn tại nhưng rỗng — đúng triệu chứng "không thấy log nào".
Vì sao các phương án khác sai
- A. Chuyển
CreateLogGroupsang câu Allow thứ hai — chỉ dời chỗ khai, không thêm quyền nào. - B. Thêm
logs:PutDestination— dùng cho việc chuyển tiếp log sang tài khoản khác, không liên quan tới việc ghi log của chính hàm. - C. Thêm
logs:GetLogEvents— quyền đọc log; nó ảnh hưởng việc xem, không ảnh hưởng việc log có được ghi ra hay không.
Which change should the security engineer make to the policy to ensure that the Lambda function can read the bucket objects?
-
A
Remove the Condition element. Change the Principal element to the following:
-
B
Change the Action element to the following:
- C Change the Resource element to "arn:aws:s3:::DOC-EXAMPLE- BUCKET/*''.
-
D
Change the Resource element to "arn:aws:lambda:::function:MyLambdaFunction". Change the Principal element to the following:
Xem giải thích
Đáp án
C — Sửa phần Resource thành ARN có đuôi /*
Vì sao đúng
Đây là lỗi kinh điển nhất khi viết chính sách S3. Hai dạng ARN mang nghĩa khác nhau:
arn:aws:s3:::TEN-BUCKETtrỏ tới chính cái bucket — dùng cho hành động ở mức bucket nhưs3:ListBucket.arn:aws:s3:::TEN-BUCKET/*trỏ tới các đối tượng bên trong — dùng chos3:GetObject,s3:PutObject.
Hàm Lambda đang đọc một đối tượng, nên Resource phải có đuôi /*. Khai thiếu là quyền không khớp và lời gọi bị từ chối.
Vì sao các phương án khác sai
- A. Bỏ
Conditionvà đổiPrincipal— thay đổi phạm vi ai được truy cập, không sửa lỗi ARN. - B. Đổi
Action— hành động đọc đối tượng vốn đã đúng. - D. Đổi
Resourcethành ARN của chính hàm Lambda — sai đối tượng hoàn toàn: quyền đang cấp là để đọc S3, không phải để thao tác trên hàm.
The company's developers are members of a group that has an IAM policy that allows access to Amazon Simple Email Service (Amazon SES) by allowing ses:* actions. The account is a child to an OU that has an SCP that allows Amazon SES. The developers are receiving a not-authorized error when they try to access Amazon SES through the AWS Management Console.
Which change must a security engineer implement so that the developers can access Amazon SES?
- A Add a resource policy that allows each member of the group to access Amazon SES.
- B Add a resource policy that allows "Principal": {"AWS": "arn:aws:iam::account-number:group/Dev"}.
- C Remove the AWS Control Tower control (guardrail) that restricts access to Amazon SES.
- D Remove Amazon SES from the root SCP.
Xem giải thích
Đáp án
D — Gỡ Amazon SES ra khỏi SCP ở gốc tổ chức
Vì sao đúng
SCP đặt trần quyền cho cả tổ chức. Quy tắc bất di bất dịch: quyền thực tế là giao của những gì SCP cho phép và những gì chính sách IAM cho phép. Khi SCP ở gốc chặn SES, thì dù chính sách IAM của lập trình viên có cho ses:* tới đâu, lời gọi vẫn bị từ chối — và không có cách nào "cấp bù" từ dưới lên.
Vì vậy chỗ duy nhất sửa được là chính SCP.
Vì sao các phương án khác sai
- A và B. Thêm resource policy — chính sách theo tài nguyên cũng nằm dưới trần SCP, nên vẫn bị chặn.
- C. Gỡ guardrail của Control Tower — có thể liên quan trong vài trường hợp, nhưng đề nói rõ hạn chế nằm ở SCP ở gốc.
Ghi chú
Bản đề thiếu khối JSON của SCP vì nó vốn là ảnh; phần giải thích dựa vào quy tắc đánh giá quyền của SCP.
When the security engineer tries to add the policy to the S3 bucket, the following error message appears: "Missing required field Principal."
The security engineer is adding a Principal element to the policy. The addition must provide read access to only User1, User2, and User3.
Which solution meets these requirements?
-
A
-
B
-
C
-
D
Xem giải thích
Đáp án
A — Liệt kê thẳng ARN của ba người dùng trong Principal
"Principal": {
"AWS": [
"arn:aws:iam::1234567890:user/User1",
"arn:aws:iam::1234567890:user/User2",
"arn:aws:iam::1234567890:user/User3"
]
}
Vì sao đúng
Đây là cách duy nhất trong bốn phương án cấp quyền đúng ba người đó và không hơn — tức là đạt nguyên tắc quyền tối thiểu mà đề yêu cầu.
Vì sao các phương án khác sai
- D. Dùng ARN của IAM group (
:group/AuthorizedPeople) — không hợp lệ. Đây là điểm đáng nhớ nhất của câu này: IAM group không dùng được làmPrincipaltrong chính sách tài nguyên. Group chỉ là cách gom chính sách lại để gắn cho người dùng, nó không phải một danh tính có thể gửi yêu cầu. Chính sách kiểu này sẽ bị từ chối khi lưu. - B. Dùng ARN root của tài khoản (
:root) — trao quyền cho mọi danh tính trong tài khoản đó (miễn là IAM policy của họ cũng cho phép), rộng hơn ba người rất nhiều. - C. Dùng
"*"— cho tất cả mọi người, kể cả ẩn danh. Ngược hẳn với quyền tối thiểu.
Ghi nhớ
Dùng được làm Principal |
Không dùng được |
|---|---|
| IAM user, IAM role, tài khoản AWS, dịch vụ AWS, liên kết danh tính | IAM group |
All of the company's accounts and OUs within AWS Organizations have a default FullAWSAccess SCP that is attached. The security engineer needs to ensure that no one can disable Amazon GuardDuty and AWS Security Hub. The security engineer also must not override other permissions that are granted by IAM policies that are defined in the accounts.
Which SCP should the security engineer attach to the root of the organization to meet these requirements?
-
A
-
B
-
C
-
D
Xem giải thích
Đáp án
A — SCP chỉ chứa một câu Deny cho đúng ba hành động cần chặn
{
"Effect": "Deny",
"Action": [
"guardduty:DeleteDetector",
"guardduty:UpdateDetector",
"securityhub:DisableSecurityHub"
],
"Resource": ["*"]
}
Vì sao đúng
Đề đặt ra hai ràng buộc cùng lúc: chặn được việc tắt GuardDuty và Security Hub, mà không được đụng tới các quyền khác do IAM policy trong từng tài khoản cấp.
Câu Deny hẹp làm đúng cả hai. Trong AWS, Deny tường minh luôn thắng mọi Allow, nên ba hành động đó bị chặn tuyệt đối kể cả với người có AdministratorAccess. Mọi hành động khác không được nhắc tới nên không bị ảnh hưởng — FullAWSAccess mặc định vẫn cho qua.
Đây chính là chiến lược danh sách chặn (deny list), cách dùng SCP phổ biến nhất.
Vì sao các phương án khác sai
- C.
DenykèmNotAction— nghĩa là chặn tất cả TRỪ ba hành động đó. Kết quả ngược hoàn toàn: mọi tài khoản trong tổ chức mất sạch quyền, chỉ còn tắt được GuardDuty. Đây là bẫy nguy hiểm nhất vìNotActionrất dễ đọc nhầm thành "trừ ra khỏi lệnh cấm". - D.
AllowkèmNotAction— không chặn được gì. Lý do nằm ở cách SCP kết hợp: nhiều SCP gắn cùng một cấp được hợp lại với nhau, màFullAWSAccessđang gắn sẵn cho phép*. Muốn dùng chiến lược danh sách cho phép thì phải gỡFullAWSAccessra trước, còn ở đây đề nói rõ nó vẫn đang gắn. - B.
Deny "*"rồiAllow NotAction— câuDeny "*"chặn mọi thứ, vàDenythắngAllow, nên cả tổ chức tê liệt.
After implementing the policy, the administrator receives reports that users are unable to perform Amazon EC2 commands using the AWS CLI.
What should the administrator do to resolve this problem while still enforcing multi-factor authentication?
- A Change the value of aws:MultiFactorAuthPresent to true.
- B Instruct users to run the aws sts get-session-token CLI command and pass the multi-factor authentication --serial-number and -token-code parameters. Use these resulting values to make API/CLI calls.
- C Implement federated API/CLI access using SAML 2.0, then configure the identity provider to enforce multi-factor authentication.
- D Create a role and enforce multi-factor authentication in the role trust policy. Instruct users to run the sts assume-role CLI command and pass --serial-number and --token-code parameters. Store the resulting values in environment variables. Add sts:AssumeRole to NotAction in the policy.
Xem giải thích
Đáp án
B — Hướng dẫn người dùng chạy aws sts get-session-token và truyền mã MFA vào
Vì sao đúng
Vấn đề nằm ở chỗ khoá truy cập dài hạn của IAM user không mang thông tin MFA. Khi chính sách đòi aws:MultiFactorAuthPresent = true, lời gọi CLI dùng khoá thường sẽ luôn bị từ chối, dù người dùng đã bật MFA.
Cách đúng là lấy thông tin đăng nhập tạm thời có gắn MFA: chạy get-session-token kèm số sê-ri thiết bị và mã sáu chữ số, nhận về bộ khoá tạm cùng session token, rồi dùng bộ đó cho các lệnh tiếp theo.
Vì sao các phương án khác sai
- A. Đổi giá trị
aws:MultiFactorAuthPresentthành true — đó là khoá ngữ cảnh do AWS đặt, không phải giá trị bạn khai được. - C. Chuyển sang liên kết SAML — giải pháp hợp lệ về lâu dài nhưng là thay đổi kiến trúc lớn, không phải cách chữa cho tình huống này.
- D. Tạo vai và ép MFA trong trust policy — cũng dùng được, nhưng đề đang hỏi cách để chính IAM user hiện tại gọi CLI thành công.
In addition, the same account has an IAM User named “alice”, with the following IAM policy.
Which buckets can user “alice” access?
- A bucket1 only
- B bucket2 only
- C Both bucket1 and bucket2
- D Neither bucket1 nor bucket2
Xem giải thích
Đáp án chuẩn
C — Cả bucket1 và bucket2
Quy tắc cần nắm
Với truy cập trong cùng một tài khoản, quyền được đánh giá theo nguyên tắc:
- Có Deny tường minh ở bất kỳ đâu (chính sách IAM hoặc bucket policy) → từ chối, không bàn thêm.
- Không có Deny, mà một trong hai phía có Allow → cho phép.
- Không bên nào Allow → từ chối ngầm.
Vì vậy một bucket không có policy vẫn truy cập được, miễn chính sách IAM của người dùng cho phép — đây là điểm nhiều người hiểu nhầm, tưởng bucket không có policy thì không ai vào được.
Ghi chú về chất lượng câu hỏi
Bản đề trong ngân hàng này thiếu cả hai khối JSON (bucket policy của bucket1 và chính sách IAM của người dùng) vì chúng vốn là ảnh. Không đối chiếu trực tiếp được, nên hãy đọc phần trên như bài học về thứ tự đánh giá quyền trong S3 thay vì lời giải cho đúng hai chính sách bị thiếu.