Назад | Перейти на главную страницу

Стратегия разрешений S3 «папка на клиента»

Изначально я планировал использовать сегмент 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 с использованием клиентской папки для каждого клиента, достигают разделения разрешений?