如何對所有資源均來自相同 AWS 帳戶的 Amazon S3 儲存貯體「403 存取遭拒」錯誤進行疑難排解?
我想要存取 Amazon Simple Storage Service (Amazon S3) 儲存貯體。所有相關資源均來自相同的 AWS 帳戶。但我收到「403 存取遭拒」的錯誤。
簡短描述
如果您對 Amazon S3 儲存貯體執行禁止的請求,服務即會傳回「403 存取遭拒」的錯誤。若要手動對「403 存取遭拒」錯誤進行疑難排解,請參閱如何對 Amazon S3 的「403 存取遭拒」錯誤進行疑難排解?
您還可以使用 AWS Systems Manager 的 AWSSupport-TroubleshootS3AccessSameAccount 執行手冊,以協助您診斷 Amazon S3 儲存貯體的存取遭拒問題。該執行手冊會針對來自相同 AWS 帳戶的所有相關資源,評估授予請求者對 Amazon S3 資源的存取層級。這包括與 Amazon S3 資源相關聯的存取、使用者和資源型政策。它還包括在輸入參數中指定的 AWS Identity and Access Management (IAM) 使用者或角色。
**注意:**AWSSupport-TroubleshootS3AccessSameAccount 不會評估跨帳戶資源的權限。此外,請求者還必須與 Amazon S3 儲存貯體或物件位於相同的 AWS 帳戶。
解決方法
必要步驟
請依照這些步驟從 Systems Manager 主控台執行 AWSSupport-TroubleshootS3AccessSameAccount 執行手冊:
2. 在導覽窗格中,選擇自動化。
3. 選擇執行自動化。
4. 在「選擇文件」下方,選擇由 Amazon 擁有索引標籤。
5. 在「自動化文件」搜尋列中,從下拉式清單中選擇文件名稱前綴篩選條件。然後,從下拉式清單中選擇等於並輸入 AWSSupport-TroubleshootS3AccessSameAccount。接著,按 Enter 鍵。
6. 選取 AWSSupport-TroubleshootS3AccessSameAccount。
7. 選擇下一步。
8. 選取簡單執行。
9. 對於 S3ResourceArn,輸入您要疑難排解 S3 儲存貯體或物件的 ARN。例如,測試物件上傳或下載。
arn:aws:s3:::bucket_name/key_name
10. 對於 S3Action,選擇您要執行手冊評估的 S3 動作。
11. 對於 RequesterARN,輸入您要在特定 S3 資源上尋找其存取層級的 IAM 使用者或角色 ARN:
arn:aws:iam::123456789012:user/user_name or arn:aws:iam::123456789012:role/example-rol
12. 選擇執行。
使用執行狀態追蹤文件進度。狀態變更為成功後,請檢閱輸出區段中列出的結果。結果包括每個經過評估之物件的錯誤碼。
注意:若要檢閱評估中個別步驟的結果,請在「已執行步驟」下方選擇相關的步驟 ID。
選用步驟
以下為選用步驟。
-
對於 AutomationAssumeRole,您可以選取要讓 Systems Manager 擔任的 IAM 角色,以將請求傳送至的儲存貯體。如果您將此欄位保留空白,Systems Manager 即會使用您用於設定文件的 IAM 身分。如需相關資訊,請參閱 AutomationAssumeRole 的必要 IAM 權限一節。
**重要:**您選取的 IAM 角色信任政策必須允許 Systems Manager Automation 擔任該角色。同時,IAM 角色必須具有執行 AWSSupport-TroubleshootS3AccessSameAccount 執行手冊的權限。 -
如果 IAM ARN 是一個角色,而且您想提供特定工作階段名稱,請為 RequesterRoleSessionName 輸入工作階段名稱。
-
如果物件有多個版本,則為 S3ObjectVersionId 輸入物件的 VersionId。此參數可讓您指定要評估存取內容的物件版本。
-
如果這與動作相關,則為 KmsKeyArn 輸入 KMS 金鑰 ARN。例如,測試使用 KMS 金鑰加密物件的下載。
-
對於 VpcEndpointId,您可以輸入與存取評估相關的 Amazon Virtual Private Cloud (Amazon VPC) 端點 ID。Amazon S3 儲存貯體政策可以控制從特定 Amazon VPC 端點存取儲存貯體。
-
對於 ContextKeyList,您可以輸入條件內容金鑰清單,以及與政策評估相關的對應值。例如,儲存貯體政策中對 PutObject 的明確拒絕:
{"ContextKeyName":"s3:x-amz-server-side-encryption-aws-kms-key-id","ContextKeyValues':["arn:aws:kms:us-east-1:123456789012:key/abc12345-b1e9-45a3-aa90-39ec93dd9b82'],"ContextKeyType":"string'}
-
如果您要執行手冊將輸入與特定 AWS Organizations 服務控制政策 (SCP) 進行比較,則對 SCPPolicy 輸入 SCP。當您輸入值時,請移除任何新行、定位點或空格。如果從組織的管理帳戶執行您的執行手冊,則不需要進行此步驟。
-
對於標籤,您可以標記自動化以協助進行分類。
-
對於 AWS CLI 命令和可共享的執行連結,執行手冊會提供適用於 Linux、Unix 及 macOS X 的範例 AWS Command Line Interface (AWS CLI) 命令。執行手冊還提供可共用的連結。
AutomationAssumeRole 的必要 IAM 權限
AutomationAssumeRole 參數需要某些動作才能使用執行手冊。
下列範例政策包括自動化角色的必要動作:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:SimulateCustomPolicy", "iam:GetUser", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListGroupPolicies", "iam:GetGroupPolicy", "iam:ListAttachedGroupPolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket_name/destination-prefix", "Effect": "Allow" }, { "Action": [ "s3:GetBucketPolicy", "s3:GetBucketAcl", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket_name", "Effect": "Allow" }, { "Action": [ "ec2:DescribeVpcEndpoints" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:GetKeyPolicy" ], "Resource": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow" }, { "Action": [ "organizations:ListPolicies", "organizations:DescribePolicy" ], "Resource": "arn:aws:organizations::aws:policy/service_control_policy/*", "Effect": "Allow" }, { "Action": [ "ssm:GetAutomationExecution", "ssm:DescribeAutomationExecutions" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ssm:StartAutomationExecution", "Resource": "arn:aws:ssm:*:*:automation-definition/AWSSupport-TroubleshootS3AccessSameAccount:*", "Effect": "Allow", "Sid": "StartAutomationExecution" }, { "Action": "access-analyzer:ValidatePolicy", "Resource": "*", "Effect": "Allow" } ] }
相關內容
- 已提問 1 年前lg...
- 已提問 4 個月前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 3 年前