Я настраиваю набор блоков S3 и хочу ограничить доступ к ним для VPC, но при этом разрешить доступ к сегментам из консоли AWS.
Как предложено здесь Я создал конечную точку S3, а также добавил ее в основную таблицу маршрутизации. Политика конечной точки разрешает полный доступ ко всем ресурсам.
Я создал политику S3 (см. Ниже) и добавил ее в корзину. Как только я сохраню политику, доступ к корзине из консоли больше не будет возможен.
Я также пытался специально добавить пользователя к условию "StringNotEquals" в форме "aws: имя пользователя": "user1", но безрезультатно.
{
"Version": "2012-10-17",
"Id": "Policy-S3-Bucket-myBucket",
"Statement": [
{
"Sid": "Access-via-VPC-only",
"Principal": "*",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::myBucket",
"arn:aws:s3:::myBucket/*"
],
"Condition": {
"StringNotEquals": {
"aws:sourceVpc": "vpc-01c9d66c12345"
}
}
},
{
"Sid": "Allow-console-access",
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::myBucket",
"arn:aws:s3:::myBucket/*"
],
"Principal": {
"AWS": [
"arn:aws:iam::<account-id>:user/user1", "arn:aws:iam::<account-id>:user/user2"
]
}
}
]
}
Ожидаемым результатом будет то, что корзина S3 доступна только вышеупомянутому VPC и через консоль AWS.
Фактический результат:
В обзоре сегмента отображается сообщение «Ошибка: доступ запрещен», а на странице разрешений (настройки общедоступного доступа) показано: «У вас нет доступа для просмотра этой конфигурации. Обратитесь к администратору своей учетной записи для запроса доступа».
Я должен войти в систему, используя пользователя root, и удалить политику, чтобы восстановить доступ к корзине.