3

Мы пишем приложение для обмена изображениями с помощью Cognito для управления идентификацией и S3 для хранения объектов. Когда пользователь загружает изображение, он может установить разрешение изображения для частного, публичного или друга, где friend - это набор пользователей приложения.Контроль доступа на объектах S3 для группы тождеств cognito

Настройка контроля доступа на объекте S3 кажется ясным, когда она является просто частной или общедоступной (например, с использованием Canned ACL). Однако неясно, как мы можем сделать объект доступным только для группы тождеств Cognito.

Мы рассмотрели теги, метаданные и политики ведра. Политики тегов и ковша - это всего лишь уровень ведра, и мы хотим, чтобы они были на уровне объектов. Метаданные могут быть установлены для отдельных объектов, однако я не думаю, что мы можем установить метаданные как условие внутри роли Cognito. Есть ли способ, которым мы можем это сделать?

Похоже, проблема заключается в том, что мы не можем создавать подгруппы тождеств cognito и назначать эти группы для доступа к ресурсу.

Любая помощь была бы принята с благодарностью.

tl; dr Как мы можем сделать объект S3 доступным только для группы тождеств когнито?

ответ

2

К сожалению, у Cognito нет возможности разрешить доступ к произвольной жидкостной группе идентификаторов. Единственный способ, которым группа идентификаторов может быть предоставлен доступ, как сейчас, то, что было описано в this blog, который требует идентификаторы должны быть зашиты в роли:

"StringEquals": { 
"cognito-identity.amazonaws.com:aud": "us-east-1:12345678-dead-beef-cafe-123456790ab", 
"cognito-identity.amazonaws.com:sub": [ 
     "us-east-1:12345678-1234-1234-1234-123456790ab", 
     "us-east-1:98765432-1234-1234-1243-123456790ab" 
] } 
+0

Спасибо за возвращение ко мне так быстро , Чтобы быть конкретным, единственный способ, которым мы можем предоставить групповой доступ к объекту S3, - для групп IAM. Это верно? – trisha

+0

Единственный способ выполнить то, что вы хотите через Cognito, - это роль IAM (роль и группа - две разные сущности IAM), которые предполагал Cognito. Чтобы сделать это динамическим способом, который вы описываете, вам нужно будет использовать дополнительный, независимый механизм. –

+0

Спасибо за вашу помощь. – trisha

Смежные вопросы