Я застрял с предоставлением доступа конечного пользователя в общую корзину с несколькими учетными записями, и мне нужна помощь, чтобы выяснить, существуют ли конкретные требования политики для использования клиентов для доступа к корзине, по сравнению с прямым CLI.
Пользователь IAMУправление учетными записями осуществляется в нашей «основной» учетной записи AWS.S3 Bucket предоставляется в нашей учетной записи «Dev» AWS.S3 Bucket в учетной записи Dev зашифровывается с помощью ключа KMS в учетной записи Dev.
Мы настроили нашу политику Bucket для разрешения доступа пользователей.Мы настроили пользовательские политики, чтобы разрешить доступ к корзине S3.Мы настроили пользовательские политики, чтобы разрешить использование ключа KMS.
При использовании CLI наша учетная запись пользователя может успешно получить доступ и использовать корзину S3.При попытке подключиться к клиенту с графическим интерфейсом (Win-SCP, CyberDuck, MAC ForkLift) мы получаем ошибки об отказе в разрешении.
ПОЛИТИКА КОРПУСА
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListObjectsInBucket",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::[DEVACCOUNT#]:role/EC2-ROLE-FOR-APP-ACCESS",
"arn:aws:iam::[COREACCOUNT#]:user/end.user"
]
},
"Action": "s3:List*",
"Resource": [
"arn:aws:s3:::dev-mybucket",
"arn:aws:s3:::dev-mybucket/*"
]
},
{
"Sid": "AllObjectActions",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::[DEVACCOUNT#]:role/EC2-ROLE-FOR-APP-ACCESS",
"arn:aws:iam::[COREACCOUNT#]:user/end.user"
]
},
"Action": [
"s3:GetObject",
"s3:Put*"
],
"Resource": "arn:aws:s3:::dev-mybucket/*"
}
]
}
Политика пользователя - доступ к KMS
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUseOfDevAPPSKey",
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:Describe*"
],
"Resource": [
"arn:aws:kms:ca-central-1:[DEVACCOUNT#]:key/[redacted-key-number]"
]
},
{
"Sid": "AllowAttachmentOfPersistentResources",
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:List*",
"kms:RevokeGrant"
],
"Resource": [
"arn:aws:kms:ca-central-1:[DEVACCOUNT#]:key/[redacted-key-number]"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
}
]
}
Политика пользователя - Access S3 Bucket
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToMyBucket",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::dev-mybucket/",
"arn:aws:s3:::dev-mybucket/*"
]
}
]
}
С помощью команд aws s3 мы можем 'ls' контент и 'cp' контент с локального на удаленный и с удаленного наlocal.
При настройке доступа с помощью клиентов графического интерфейса мы всегда получаем несколько типичных ошибок типа «отказано в доступе» или «отказано в доступе».