Я отлаживаю ошибку AccessDenied при использовании моего ID2 экземпляра EC2 в качестве условия для политики ведра. Следующая политика Ковш выдает ошибку Access Denied, когда я пытаюсь сделать простой PutObject:Почему моя политика в S3 Bucket работает с использованием IP, но не ARN из моих экземпляров?
{
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::ACTUAL-BUCKET-NAME/*",
"Condition": {
"ArnNotEquals": {
"aws:SourceArn": ["arn:aws:ec2:region:ACTUAL-ACCOUNT-ID:instance/ACTUAL-INSTANCE_ID"]
}
}
},
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject", "s3:GetObjectVersion", "s3:PutObject",
"s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:PutObjectAcl",
"s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion",
"s3:ListMultipartUploadParts", "s3:AbortMultipartUpload",
"s3:GetObjectTorrent", "s3:GetObjectVersionTorrent", "s3:RestoreObject"
],
"Resource": "arn:aws:s3:::ACTUAL-BUCKET-NAME/*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": ["arn:aws:ec2:region:ACTUAL-ACCOUNT-ID:instance/ACTUAL-INSTANCE_ID"]
}
}
}
]
}
Однако, если изменить условие, чтобы быть IP экземпляра, я больше не получаю мои ошибки, и я в состоянии до PutObject весь день.
{
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::ACTUAL-BUCKET-NAME/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "ACTUAL-IP-ADDRESS"
}
}
},
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject", "s3:GetObjectVersion", "s3:PutObject",
"s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:PutObjectAcl",
"s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion",
"s3:ListMultipartUploadParts", "s3:AbortMultipartUpload",
"s3:GetObjectTorrent", "s3:GetObjectVersionTorrent", "s3:RestoreObject"
],
"Resource": "arn:aws:s3:::ACTUAL-BUCKET-NAME/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "ACTUAL-IP-ADDRESS"
}
}
}
]
}
Команда, я использую для тестирования с является
echo "hi" | aws s3 cp - s3://ACTUAL-BUCKET-NAME/ACTUAL-FILE-NAME --no-sign-request --region us-east-1
То, что я пытался
Я попытался изменить мое состояние к ArnLike без каких-либо лучших результатов ,
Я попытался модифицировать ARN, потому что я не уверен, если мне нужно заменить область или ACCOUNTID с фактическими значениями, или если я могу оставить их как «переменные» - но опять же, не сделал дело.
Мне абсолютно нужно, к сожалению. – Rabbott