2017-12-20 24 views
0

私は、公開されているs3.eu-central-1.amazonaws.com/my-bucket-123にバケットを持っています。 私は認証されていなくても、ブラウザからアクセスできます。それは私がバケツにこのポリシーを持っているにもかかわらず、私のファイルへのすべてのリンクを使用してXMLページを示しています。私は、この政策は間違った方法で設定される可能性がありますS3バケットを非公開にするにはどうすればよいですか?

{ 
     "Version": "2012-10-17", 
     "Statement": [ 
      { 
       "Effect": "Allow", 
       "Principal": { 
        "AWS": "*" 
       }, 
       "Action": "s3:ListBucket", 
       "Resource": "arn:aws:s3:::my_bucket123" 
      }, 
      { 
       "Effect": "Allow", 
       "Principal": { 
        "AWS": "*" 
       }, 
       "Action": [ 
        "s3:PutObject", 
        "s3:GetObject", 
        "s3:DeleteObject" 
       ], 
       "Resource": "arn:aws:s3:::my_bucket123/*" 
      } 
     ] 
    } 

と思います。私が欲しいもの

a)は、それは非公表する

b)は、私のPythonスクリプトは関係なく、IPアドレスの、APIを介してそれで作業することができます。スクリプトはAmazonの標準cli "aws s3"ユーティリティとAPIキーを使用します。

どうすればいいですか?

+0

主なステートメント:「AWS」:「*」はS3バケットを公開しています。代わりに、自分が所有するアカウント番号を指定すると、バケットは公開されなくなります。ただし、使用の場合、IAMユーザーを使用してアクセスをロックし、バケットポリシーを完全に削除する必要があります。 –

+0

@KrishnaKumarR、どのように正確に? – Kakki

+0

IAMユーザにインラインポリシーを作成し、以下を追加してください: '{" Version ":" 2012-10-17 "、" Statement ":[{" Sid ":" Stmt1513781170000 "、" Effect ":" Allow " "アクション":["s3:ListBucket"]、 "リソース":["arn:aws:s3 ::: my_bucket123"]}、{"Sid": "Stmt1513781170000"、 "Effect": "Allow"、 "Action ":" [s3:DeleteObject "、" s3:GetObject "、" s3:PutObject "]、"リソース ":[" arn:aws:s3 ::: my_bucket123/* "]}]}' –

答えて

0

デフォルトでは、すべてのS3バケットとオブジェクトはプライベートです。今、 "Principal":{"AWS": "*"}のバケットポリシーを使用しているので、 "public"になります。通常、別のAWSアカウントへのアクセスを許可したり、より詳細な権限を取得したい場合は、バケットポリシーを使用する必要があります。同じアカウントからバケットにアクセスしようとしている場合、バケットポリシーは必要ありません。

プライベートにするには、ちょうどdelete the bucket policyでIAMを介して必要な許可を与えます。スクリプトでIAMユーザーのアクセスキーを使用している場合は、IAM permission policy(例:S3FullAccess)をユーザーに添付する必要があります。

また、"Sid"はポリシーで使用されるオプションの識別子なので、IAM/S3バケットポリシーで何かを使用することも、省略することもできます。

+0

'あなたのスクリプトがIAMユーザのアクセスキーを使用している場合、どうすれば見つけることができますか? – Kakki

+0

@Kakki IAMユーザのアクセスキーを使用している場合、またはIAMロールが適切な権限でアタッチされているEC2インスタンスでスクリプトを実行している場合は、awsを使用していない場合は、ソースIP "状態。あなたが何かエラーがある場合は分けてください。 – sudo

+0

'IAMユーザーのアクセスキーを使用している場合はどうすれば使用できますか? – Kakki

関連する問題