Как совместно работают разрешения пользователя и субпользователя Ceph S3?

#amazon-s3 #ceph #radosgw

#amazon-s3 #ceph #radosgw

Вопрос:

У меня следующая конфигурация пользователя:

 namespace: s3test
user:      s3test
  subuser:   backup (set up with s3 credentials instead of swift)
  

Я хочу определить политику корзины, которая явно запрещает пользователю резервного копирования помещать в вызываемую корзину hedgehogs , созданную s3test пользователем:

 {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "DenyPutToHedgehogsForBackup",
                "Effect": "Deny",
                "Principal": {
                    "CanonicalUser": "s3test:backup"
                },
                "Action": ["s3:PutObject"],
                "Resource": [
                    "arn:aws:s3:::hedgehogs/*"
                ]
            }
        ]
}
  

Однако, похоже, это не позволяет обоим s3test и s3test:backup вводить hedgehogs .

Что-то не так с синтаксисом моей политики или это означает, что дочерние пользователи, настроенные с учетными данными s3, — это просто еще один способ доступа к s3 с основными разрешениями пользователя?

Ответ №1:

Ваша политика корзины должна быть такой:

 {
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Deny",
    "Principal": {"AWS": ["arn:aws:iam:::user/s3test:backup"]},
    "Action": "s3:PutObject",
    "Resource": [
      "arn:aws:s3:::hedgehogs/*"
    ]
  }]
}
  

Комментарии:

1. @Thurse вы не хотите блокировать доступ к корзине для резервного копирования дочернего пользователя ?!

2. Да, верно, мой первоначальный комментарий был bs. Тем не менее, кажется, что политики доступа для swift — это все, что имеет значение. Если я создаю субпользователя swift с полным доступом и создаю для него ключи s3, отказ субпользователю в соответствии backup с политикой, указанной выше, также блокирует s3test.

3. @Thurse Какую версию ceph вы используете? Вы должны использовать nautilus 14.2.10 выше!

4. Ах, мы на 14.2.8. Я не могу это изменить. Откуда у вас информация о том, что он работает только в версии 14.2.10 и выше?

5. @Thurse вы можете просмотреть список изменений для поддержки политики корзины для субпользователя здесь, в разделе nautilus 14.2.10. docs.ceph.com/en/latest/releases/nautilus