Я хотел бы ограничить разрешение доступа для ряда AWS пользователей Cognito, указав c Kinesis WebRT C Сигнальный канал. В основном мне нужно определить, что для конкретной организации, которая охватывает несколько AWS пользователей Cognito, они имеют доступ только к этой организации, указанной c сигнальным каналом. На данный момент я придумал следующее ограниченное решение:
- Создан пул удостоверений и указана роль IAM с проверенной аутентификацией.
- Определена роль IAM для ограничения разрешений на действия Kinesisvideo:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "kinesisvideo:*",
"Resource": "*"
}
]
}
Чего мне здесь не хватает, так это того, как именно я могу построить динамическую c систему, которая будет создавать политики, определяющие, какие пользователи могут получить доступ к определенному каналу сигнализации c. Эта система должна будет разрешить изменение политик / разрешений, когда пользователи будут входить / выходить из организации и, следовательно, иметь доступ к добавленному / удаленному каналу Kinesis Signaling. Пока я думал о следующих решениях:
- Используйте AWS группы Cognito для каждой организации. Но это не масштабируется, поскольку AWS определяет жесткое ограничение для максимального количества групп на пул пользователей в 10 000.
- Программно присоединить новую политику к указанной выше роли IAM, которая будет определяться для каждой организации все пользователи, у которых есть доступ к определенному каналу. Но это снова имеет жесткое ограничение на количество политик, которые вы можете прикрепить к одной роли IAM.
Может быть, есть способ определить политику непосредственно на каналах Kinesis, как вы можете определить политики для службы S3? Хотя в консоли AWS ничего подобного не встречал.