1

私はプライベートs3バケットを持っています。私は許可を得てそれにアクセスしようとしています。私は、AWS-SDKを使用してバケット内の各オブジェクトに対して事前に署名されたURLを生成することによってのみこれを行うことにしています。これは実用的ではありません。 また、私はバケットポリシーを設定しようとしましたが、特定の範囲のipsにのみプレミッションを与えていますが、動作しません。何が問題なのか、どうすれば分かりますか? プライベートバケットにアクセスするにはどうすればよいと思いますか?私はちょっと混乱しています。s3のプライベートファイルへのアクセス

policy: 
{ 
    "Version": "2008-10-17", 
    "Id": "S3PolicyId1", 
    "Statement": [ 

     { 
      "Sid": "IPDeny", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::bucket/*", 
      "Condition": { 
       "NotIpAddress": { 
        "aws:SourceIp": "public/private IP of ec2 instance/32" 
       } 
      } 
     }, 
     { 
      "Sid": "IPDeny", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::bucket/*", 
      "Condition": { 
       "NotIpAddress": { 
        "aws:SourceIp": "myIPAddress/32" 
       } 
      } 
     } 
    ] 
} 
+1

を役に立てば幸い*「また、私はバケットポリシーを設定しようとしていると特定の範囲のipsにのみプレミッションを渡しますが、うまくいかないでしょう」と述べています。 IPによるアクセスを許可するために使用しようとしているポリシーを示した場合に役立ちます。 –

答えて

6

デフォルトでは、アカウントはポリシーを介してアクセス権が与えられていない限り、S3にアクセスすることはできません。ただし、S3はデフォルトではIPアドレスにアクセスできるように設計されています。したがって、IPをブロックするには、許可ではなくポリシーで明示的に拒否を指定する必要があります。

あなたは私のIPアドレスからのアクセスを許可するから、私のIPアドレスではありませんどこでもからのアクセスを拒否する政策を中心に反転するべきです。

だから私はあなたがこれを使用するかもしれないと思う:

{ 
"Id": "S3PolicyId1", 
"Statement": [ 
    { 
     "Sid": "IPAllow", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:*", 
     "Resource": "arn:aws:s3::: bucketname", 
     "Condition": { 
      "IpAddress": { 
       "aws:SourceIp": "CIDR Of Allowed IP" 
      } 
     } 
    } 
] 

あなたはこの試してみてください:

{ 
"Id": "S3PolicyId1", 
"Statement": [ 
    { 
     "Sid": "IPDeny", 
     "Effect": "Deny", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:*", 
     "Resource": "arn:aws:s3::: bucket name*", 
     "Condition": { 
      "NotIpAddress": { 
       "aws:SourceIp": "CIDR Of Allowed IP" 
      } 
     } 
    } 
] 

を、私はこれが

+0

私はあなたが何をしたのか分からずに何が間違っているかを知ることはできませんでした!ありがとうございました! – Kratos

+0

私は今、同じステートメントを3回使って3つの異なるIPにアクセスしようとしています。しかし、これはどんなリソースへのアクセスも許可していないようです。 – Kratos

+0

コードを表示してください。 –

関連する問題