Изначально я планировал использовать сегмент S3 для каждого клиента с политиками сегмента, ограничивающими доступ к этому сегменту одним IP-адресом (клиентский сервер с одним клиентом). Однако большинство поставщиков услуг, совместимых с S3, имеют ограничения в 100 сегментов на учетную запись, что не имело смысла, пока я не наткнулся на это на Amazon ...
Поскольку операции корзины работают с централизованным глобальным пространством ресурсов, нецелесообразно создавать или удалять корзины на пути кода высокой доступности вашего приложения ».
Мне нужно скорректировать нашу стратегию для одного ведра и папки для каждого клиента. В случае, если клиентский сервер когда-либо будет скомпрометирован, я не хочу, чтобы кто-то с учетными данными с этого сервера имел доступ ко всем другим клиентским папкам в корзине, поэтому мне нужно применить ограничение, которое гласит:Дайте доступ к этой папке только этому IP". Достаточно просто, для этого есть простая политика ...
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "S3PolicyId1",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::mybucket/d6c4eca22bdb50918e5f84768e6cfaf4/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"192.168.123.123/32",
"2001:db8:85a3:8d3:1319:8a2e:370:7348/64"
]
}
}
}
]
}
Проблема ... AWS ограничивает размер политик корзины S3 размером 20 КБ, большинство провайдеров одинаковы или похожи. Пример выше составляет ~ 500 байт, и часть, которую мне придется повторить, чтобы применить аналогичные ограничения к дополнительным клиентским папкам в ведре, составляет ~ 400 байт.
Это означает ограничение в ~ 50 клиентов на сегмент из-за ограничения размера политики. Кроме того, при ограничении в 100 сегментов или даже в 1000, если, скажем, мне было предоставлено повышение ... это будет означать общий жесткий лимит в 50 000 клиентов на учетную запись.
Очевидно, что в долгосрочной перспективе это не сработает для растущего бизнеса. Так как другие предприятия, использующие S3 с использованием клиентской папки для каждого клиента, достигают разделения разрешений?