私は、公開されている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キーを使用します。
どうすればいいですか?
主なステートメント:「AWS」:「*」はS3バケットを公開しています。代わりに、自分が所有するアカウント番号を指定すると、バケットは公開されなくなります。ただし、使用の場合、IAMユーザーを使用してアクセスをロックし、バケットポリシーを完全に削除する必要があります。 –
@KrishnaKumarR、どのように正確に? – Kakki
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/* "]}]}' –