Доступ Amazon S3 для других учетных записей AWS
Я пытаюсь предоставить разрешение доступа для ведомости S3 в учетной записи другой учетной записи.
Для созданного ведра на вкладке разрешений есть опция доступа для других учетных записей AWS. Под этим я вижу кнопку Добавить учетную запись. Я щелкнул его и дал другую учетную запись, из которой я хочу получить доступ к этому ведру.
Однако я получаю ошибку Invalid ID
.
Ответы
Ответ 1
Если вы хотите предоставить доступ к определенному Пользовательскому в другой учетной записи, это довольно просто. (Я не думаю, что этот метод будет работать для предоставления доступа к другой учетной записи.)
Скажем, у вас есть:
- Учетная запись A с Bucket A, которой вы владеете
- Аккаунт B с Пользователь B, которому вы хотите предоставить доступ
Запросить пользователя B для ARN, связанного с их пользователем IAM. Это можно увидеть в консоли управления IAM, и она будет выглядеть так:
arn:aws:iam::123456789012:user/fred
Затем добавьте команду Bucket Policy в ковш A:
{
"Version": "2012-10-17",
"Id": "S3AccessPolicy",
"Statement": [
{
"Sid": "GiveFredAccess",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/fred"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-a",
"arn:aws:s3:::bucket-a/*"
]
}
]
}
Это позволит Fred получить доступ к ведро S3. Это работает для пользователей в одной учетной записи и для пользователей другой учетной записи.
Ответ 2
Вам нужен "канонический идентификатор пользователя". Вы можете узнать об этом здесь.
Чтобы просмотреть свой канонический идентификатор пользователя в качестве пользователя root (консоль)
Войдите в систему как пользователь root, используя свой адрес электронной почты и пароль учетной записи AWS.
... snip...
В правом верхнем углу консоли выберите имя или номер своей учетной записи. Затем выберите Мои учетные данные безопасности.
При необходимости в диалоговом окне выберите "Продолжить учетные данные безопасности". Вы можете выбрать поле рядом с Dont покажите мне это сообщение еще раз, чтобы остановить появление диалогового окна в будущем.
Разверните раздел Идентификаторы учетных записей, чтобы просмотреть свой канонический идентификатор пользователя.
Примечание Если вы не видите раздел "Идентификаторы учетных записей", вы не вошли в систему как пользователь root. Вернитесь к шагу 1 выше. Если у вас нет доступа к учетным данным пользователя root, обратитесь к администратору учетной записи AWS и попросите их получить канонический идентификатор пользователя.
Ответ 3
Для получения канонического идентификатора один из самых простых способов - использовать CLI и выполнить aws s3api list-buckets
. Вы получите идентификатор в выходной.
Существуют и другие способы получения канонического идентификатора, которые подробно описаны в документации по aws: https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html.
list-buckets aws docs: https://docs.aws.amazon.com/cli/latest/reference/s3api/list-buckets.html
Ответ 4
Я могу сделать это, используя канонический идентификатор вручную. Но как мы можем сформировать это в облаке? Боролся с этим.