Владелец бакета — это учетная запись, создавшая бакет. Если бакет создаётся IAM‑пользователем в рамках учетной записи, владельцем бакета считается сама учетная запись, а не IAM‑пользователь.
Владелец объекта — это учетная запись, загружающая объект, которая может не быть владельцем бакета, к которому принадлежит объект. Например, учетная запись B получает разрешение доступа к бакету учетной записи A, и учетная запись B загружает файл в бакет. В этом случае вместо учетной записи владельца бакета A владельцем объекта является учетная запись B.
Политики бакета применяются к бакетам и объектам в них. Используя политики бакета, владелец бакета может предоставлять IAM‑пользователям или другим учетным записям разрешения на работу с бакетом и объектами в бакете.
Сценарии применения
Шаблоны политик бакета
Консоль OBS предоставляет шаблоны политик бакета для различных типовых сценариев. Вы можете использовать эти шаблоны для быстрого создания политик бакета.
Некоторые шаблоны могут требовать настройки принципалов или ресурсов. Вы также можете изменить существующие параметры шаблона, включая принципалов, ресурсы, действия и условия.
Принципал | Resource | Template | Actions Allowed | Advanced Settings |
|---|---|---|---|---|
All accounts | Entire bucket (including the objects in it) | Public Read | Разрешает анонимным пользователям выполнять следующие действия над бакетом и объектами в нём: HeadBucket (чтобы проверить, существует ли бакет, и получить его метаданные) GetBucketLocation (чтобы получить расположение бакета) GetObject (чтобы получить содержимое объекта и его метаданные) RestoreObject (чтобы восстановить объекты из холодного хранилища) GetObjectVersion (чтобы получить содержимое и метаданные указанной версии объекта) | Исключать указанные действия не разрешено. |
Public Read/Write | Разрешает анонимным пользователям выполнять следующие действия над bucket и объектами в нём: ListBucket (для перечисления объектов в bucket и получения метаданных bucket) ListBucketVersions (для перечисления версий объектов в bucket) GetBucketLocation (для получения местоположения bucket) PutObject (для загрузки объектов с помощью PUT и POST, загрузки частей, инициации multipart‑загрузок и сборки частей) GetObject (для получения содержимого object и его метаданных) ModifyObjectMetaData (для изменения метаданных object) ListBucketMultipartUploads (для перечисления multipart‑загрузок) ListMultipartUploadParts (для перечисления загруженных частей) AbortMultipartUpload (для отмены multipart‑загрузок) RestoreObject (для восстановления объектов из Cold storage) GetObjectVersion (для получения содержимого и метаданных указанной версии object) PutObjectAcl (для настройки ACL объекта) GetObjectVersionAcl (для получения ACL указанной версии object) GetObjectAcl (для получения ACL объекта) | Excluding the specified actions is not allowed. | ||
Current account/Other accounts/Delegated accounts | Весь бакет (включая объекты в нём) | Bucket Read-Only | Разрешает указанным аккаунтам выполнять следующие действия над бакетом и объектами в нём: Get* (all GET actions) List* (all LIST actions) | Excluding the specified actions is not allowed. |
Bucket Read/Write | Разрешает указанным аккаунтам выполнять все действия, за исключением следующих, над бакетом и объектами в нём: DeleteBucket (to delete the bucket) PutBucketPolicy (to configure a bucket policy) PutBucketAcl (to configure the bucket ACL) | The specified actions are excluded. | ||
All accounts/Current account/Other accounts/Delegated accounts | Текущий bucket + указанные объекты | Directory Read-Only | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над текущим bucket и указанными в нём ресурсами: GetObject (для получения содержимого объекта и метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) GetObjectVersionAcl (для получения ACL указанной версии объекта) GetObjectAcl (для получения ACL объекта) RestoreObject (для восстановления объектов из Cold storage) ListBucket (для перечисления объектов в bucket и получения метаданных bucket) ListBucketVersions (для перечисления версий объектов в bucket) GetBucketLocation (для получения местоположения bucket) ПРИМЕЧАНИЕ: Если применить политику к All accounts, ListBucket и ListBucketVersions не включаются в шаблон. | Исключать указанные действия не разрешено. |
Directory Read/Write | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над текущим bucket и указанными в нём ресурсами: PutObject (для загрузки объектов с помощью PUT и POST, загрузки частей, инициации multipart‑загрузок и сборки частей) GetObject (для получения содержимого объекта и метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) ModifyObjectMetaData (для изменения метаданных объекта) ListBucketMultipartUploads (для перечисления multipart‑загрузок) ListMultipartUploadParts (для перечисления загруженных частей) AbortMultipartUpload (для отмены multipart‑загрузок) GetObjectVersionAcl (для получения ACL указанной версии объекта) GetObjectAcl (для получения ACL объекта) PutObjectAcl (для настройки ACL объекта) RestoreObject (для восстановления объектов из Cold storage) ListBucket (для перечисления объектов в bucket и получения метаданных bucket) ListBucketVersions (для перечисления версий объектов в bucket) GetBucketLocation (для получения местоположения bucket) | Исключение указанных действий не допускается. | ||
All accounts/Current account/Other accounts/Delegated accounts | Specified objects | Object Read-Only | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над указанными ресурсами в бакете: GetObject (для получения содержимого объекта и его метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) GetObjectVersionAcl (для получения ACL указанной версии объекта) GetObjectAcl (для получения ACL объекта) RestoreObject (для восстановления объектов из Cold storage) | Исключение указанных действий не допускается. |
Object Read/Write | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над указанными ресурсами в бакете: PutObject (для загрузки объектов с помощью PUT и POST, загрузки частей, инициации multipart‑загрузок и сборки частей) GetObject (для получения содержимого объекта и его метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) ModifyObjectMetaData (для изменения метаданных объекта) ListMultipartUploadParts (для получения списка загруженных частей) AbortMultipartUpload (для отмены multipart uploads) GetObjectVersionAcl (для получения ACL версии объекта) GetObjectAcl (для получения ACL объекта) PutObjectAcl (для настройки ACL объекта) RestoreObject (для восстановления объектов из Cold storage) | Исключать указанные действия не разрешено. |
Пользовательские Bucket Policies
Вы также можете настраивать bucket policies в соответствии с вашими потребностями. Пользовательская bucket policy состоит из пяти базовых элементов: effect, principals, resources, actions и conditions. Подробнее см. Bucket Policy Parameters.
Object policies применяются к объектам в bucket. Bucket policy может применяться к набору объектов (с одинаковым префиксом имени объекта) или ко всем объектам (указанным символом *) в bucket. Чтобы настроить object policy, выберите объект, а затем задайте для него политику.
Object Policy Templates
OBS Console предоставляет object policy templates для двух типовых сценариев. Вы можете использовать эти шаблоны для быстрой создания object policies.
Некоторые шаблоны могут требовать настройки принципалов. Вы также можете изменить существующие настройки шаблона, включая принципалы, действия и условия. Ресурс в политике объекта — это объект, к которому применяется политика, который автоматически указывается системой и не требует изменения.
Principal | Resource | Template | Actions Allowed | Advanced Settings |
|---|---|---|---|---|
All accounts/Current account/Other accounts/Delegated accounts | Specified objects | Object Read-Only | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над указанными ресурсами в bucket: GetObject (для получения содержимого объекта и метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) GetObjectVersionAcl (для получения ACL указанной версии объекта) GetObjectAcl (для получения ACL объекта) RestoreObject (для восстановления объектов из Cold storage) | Excluding the specified actions is not allowed. |
Object Read/Write | Разрешает анонимным пользователям или указанным учетным записям выполнять следующие действия над указанными ресурсами в bucket: PutObject (для загрузки объектов с использованием PUT и POST, загрузки частей, инициации multipart‑загрузок и сборки частей) GetObject (для получения содержимого объекта и метаданных) GetObjectVersion (для получения содержимого и метаданных указанной версии объекта) ModifyObjectMetaData (для изменения метаданных объекта) ListMultipartUploadParts (для перечисления загруженных частей) AbortMultipartUpload (для отмены multipart‑загрузок) GetObjectVersionAcl (для получения ACL указанной версии объекта) GetObjectAcl (для получения ACL объекта) PutObjectAcl (для настройки ACL объекта) RestoreObject (для восстановления объектов из Cold storage) | Excluding the specified actions is not allowed. |
Пользовательские политики объектов
Вы также можете настраивать политики объектов в соответствии с вашими потребностями. Пользовательская политика объекта состоит из пяти базовых элементов: effect, principals, resources, actions и conditions, аналогично политике бакета. Подробнее см. Bucket Policy Parameters.