跳至內容

當我使用受 IP 限制的 IAM 角色存取 SSE-KMS 加密的 S3 物件時,如何解決 Access Denied (存取遭拒) 錯誤?

1 分的閱讀內容
0

我想使用 AWS Identity and Access Management (IAM) 角色下載 SSE-KMS 加密的 Amazon Simple Storage Service (Amazon S3) 物件。但是,我收到 “Access Denied” (存取遭拒) 錯誤。

解決方法

使用 AWS Key Management Service (KMS) 金鑰 (SSE-KMS) 的伺服器端加密會透過轉送存取工作階段 (FAS) 發出 AWS KMS API 請求,而這些請求可能會因 IP 位址限制而遭到非預期拒絕。當您使用受 IP 限制的 IAM 角色,並嘗試下載使用 SSE-KMS 加密的 Amazon S3 物件時,您可能會收到 "Access Denied" (存取遭拒) 錯誤。

若要修改附加到 IAM 使用者的政策,以包含 aws:ViaAWSService 條件,請完成下列步驟:

  1. 開啟目前限制 IP 位址的 IAM 使用者政策。限制政策範例:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "*",
          "Resource": "*",
          "Condition": {
            "NotIpAddress": {
              "aws:SourceIp": [
                "IP ADDRESS"
              ]
            }
          }
        }
      ]
    }
  2. 修改政策以包含 aws:ViaAWSService 條件。IAM 使用者政策範例:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "*",
          "Resource": "*",
          "Condition": {
            "NotIpAddress": {
              "aws:SourceIp": [
                "IP ADDRESS"
              ]
            },
            "Bool": {
              "aws:ViaAWSService": "false"
            }
          }
        }
      ]
    }

    **注意:**現在,aws:ViaAWSService 條件允許 AWS 服務在符合 IP 位址限制的情況下,代表您進行 API 呼叫。

相關資訊

IP 位址條件運算子

AWS 官方已更新 5 個月前