スキップしてコンテンツを表示

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 (AWS 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公式更新しました 1年前
コメントはありません

関連するコンテンツ