Политики доступа к бакету

Политики доступа применяются к настроенному бакету и объектам в нем. Используя эти политики, владелец бакета может предоставить разрешения на управление бакетом и объектами в нем IAM-пользователям или другим аккаунтам на платформе Advanced.

В OBS можно настроить политики как с применением шаблона действий политик, так и создать политику с полностью индивидуальными настройками.

В этом разделе описано создание, изменение и удаление политик доступа к бакету.

Создание политики из шаблона

В консоли OBS есть шаблоны политик бакета для часто используемых сценариев, которые позволяют создать политику быстро.

Для создания политики из шаблона:

  1. Войдите в консоль управления Advanced:

  2. Чтобы открыть список сервисов, нажмите Service List.

  3. Перейдите в раздел Storage → Object Storage Service.

  4. Нажмите на название бакета.

  5. Слева выберите вкладку Permissions → Bucket Policies.

  6. Нажмите Create.

  7. Укажите параметры в визуальном редакторе Visual Editor:

    Параметр

    Описание

    Policy Name

    Укажите название политики.

    Effect

    • Allow — политика разрешает запросы, соответствующие указанным параметрам.

    • Deny — политика запрещает запросы, соответствующие указанным параметрам.

    Principals

    Выберите, какие пользователи получат доступ к бакету:

    • All accounts — все пользователи платформы Advanced. Аутентификация для пользователей не требуется.

      Примечание

      Не рекомендуется предоставлять этот доступ к бакету с конфиденциальными данными.

    • Current account — доступ к бакету получают выбранные IAM-пользователи или аккаунты.

    • Other accounts — доступ к бакету получают IAM-пользователи других аккаунтов. Для этого владельцу бакета нужно прописать их идентификаторы в поле в формате Account ID/IAM user.

      Как получить User ID и Account ID

      1. В консоли управления в правом верхнем углу нажмите на имя пользователя и выберите My Credentials.

        ../_images/s__my-credentials.png
      2. Скопируйте информацию из полей User ID и Account ID.

    Resources

    Выберите, к каким ресурсам применится политика:

    • Entire bucket (including the objects in it) — к бакету и всем объектам в нем. При выборе этой настройки будут доступны изменения для бакета и его объектов в поле Actions.

    • Current bucket — только к этому бакету. При выборе этой настройки будут доступны изменения для бакета в поле Actions.

    • Specified objects — к выбранным объектам в бакете. При выборе этой настройки будут доступны изменения для объектов в поле Actions.

  8. В поле Actions выберите Use a template и примените один из шаблонов политик:

    Параметр

    Ресурс

    Шаблон

    Значения Actions

    All accounts

    Entire bucket (including the objects in it)

    Public Read

    Все пользователи могут выполнять следующие действия с бакетом и объектами в нем:

    Описание параметров

    • GetBucketLocation — получение расположения бакета.

    • GetObject — получение содержимого объекта и метаданных.

    • Restore Object — восстановление объектов из хранилища с классом Cold.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объекта.

    Public Read/Write

    Все пользователи могут выполнять следующие действия с бакетом и объектами в нем:

    Описание параметров

    • List Bucket — перечисление объектов в бакете и получения метаданных бакета.

    • ListBucketVersions — перечисление версий объектов в бакете.

    • Head Bucket — проверка наличия бакета и получения метаданных бакета.

    • GetBucketLocation — получение местоположения бакета.

    • PutObject — загрузка объектов с помощью PUT и POST, загрузка частями, инициирование мультикомпонентной загрузки и сборки частями.

    • GetObject — получение содержимого объекта и метаданных.

    • ModifyObjectMetaData — изменения метаданных объекта.

    • ListBucketMultipartUploads — отображение мультикомпонентного списка загрузок.

    • ListMultipartUploadParts — отображение мультикомпонентного списка загруженных частей.

    • AbortMultipartUpload — прерывание мультикомпонентной загрузки.

    • Restore Object — восстановление объектов из хранилища с классом Cold.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объекта.

    • PutObjectAcl — настройка ACL объекта.

    • GetObjectVersionAcl — получение ACL для указанной версии объекта.

    • GetObjectAcl — получение ACL объекта.

    Current account, Other accounts, Delegated accounts

    Entire bucket (including the objects in it)

    Bucket Read-Only

    Указанные аккаунты могут выполнять следующие действия с бакетом и объектами в нем:

    • Get* — все действия с методом GET.

    • List* — все действия с методом LIST.

    Head Bucket — проверка наличия бакета и получение метаданных из бакета.

    Bucket Read/Write

    Указанные пользователи могут выполнять все действия за исключением следующих:

    Описание параметров

    • DeleteBucket — удаление бакета.

    • PutBucketPolicy — изменение и настройка политики бакета.

    • PutBucketAcl — настройка ACL для бакета.

    All accounts/ Current account/ Other accounts/ Delegated accounts

    Current bucket + Specified objects

    Directory Read-Only

    Все аккаунты или указанные аккаунты могут выполнять следующие действия бакетом и выбранными ресурсами в нем:

    Описание параметров

    • GetObject — получение содержимого объекта и метаданных.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объектов.

    • GetObjectVersionAcl — получение ACL указанной версии объекта.

    • GetObjectAcl — получение ACL объекта.

    • RestoreObject — восстановление объектов из хранилища с классом Cold.

    • ListBucket — получение списка объектов в бакете и метаданных бакета.

    • ListBucketVersions — получение списка версий бакета.

    • HeadBucket — проверка наличия бакета и получение метаданных из бакета.

    • GetBucketLocation — — получение местоположения бакета.

    Directory Read/Write

    Все аккаунты или указанные аккаунты могут выполнять следующие действия с текущим бакетом и выбранными ресурсами в нем:

    Описание параметров

    • PutObject — загрузка объектов с помощью PUT и POST, загрузка частями, инициирование мультикомпонентной загрузки и сборки частями.

    • GetObject — получение содержимого объекта и метаданных.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объекта.

    • ModifyObjectMetaData — изменения метаданных объекта.

    • PutObjectAcl — настройка ACL объекта.

    • GetObjectVersionAcl — получение ACL для указанной версии объекта.

    • GetObjectAcl — получение ACL объекта.

    • GetBucketLocation — получение местоположения бакета.

    • List Bucket — перечисление объектов в бакете и получения метаданных бакета.

    • ListBucketVersions — перечисление списка версий объектов в бакете.

    All accounts, Current account, Other accounts, Delegated accounts

    Specified objects

    Object Read-Only

    Все аккаунты или указанные аккаунты могут выполнять следующие действия с выбранными ресурсами в бакете:

    Описание параметров

    • GetObject — получение содержимого объекта и метаданных.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объекта.

    • GetObjectVersionAcl — получение ACL для указанной версии объекта.

    • GetObjectAcl — получение ACL объекта.

    • RestoreObject — восстановление объекта из хранилища с классом Cold.

    Object Read/Write

    Все аккаунты или указанные аккаунты могут выполнять следующие действия с выбранными ресурсами в бакете:

    Описание параметров

    • PutObject — загрузка объектов с помощью PUT и POST, загрузка частями, инициирование мультикомпонентной загрузки и сборки частями.

    • GetObject — получение содержимого объекта и метаданных.

    • GetObjectVersion — получение содержимого и метаданных указанной версии объекта.

    • ModifyObjectMetaData — изменения метаданных объекта.

    • ModifyObjectMetaData — изменения метаданных объекта.

    • ListMultipartUploadParts — отображение мультикомпонентного списка загруженных частей.

    • AbortMultipartUpload — прерывание мультикомпонентной загрузки.

    • PutObjectAcl — настройка ACL объекта.

    • GetObjectVersionAcl — получение ACL для указанной версии объекта.

    • GetObjectAcl — получение ACL объекта.

    • RestoreObject — восстановление объекта из хранилища с классом Cold.

  9. Для сохранения настроек политики нажмите Create.

Примеры применения шаблона политик.

../_images/s__bucket-policy-template-entire-bucket.png ../_images/s__bucket-policy-template-objects-readonly.png

Создание индивидуальной политики доступа

В этом разделе описано создание политики с помощью визуального редактора.

См.также

О создании политики с помощью редактора JSON — в инструкции Creating a Custom Bucket Policy (JSON View).

  1. В консоли управления Object Storage Service нажмите на название бакета.

  2. Слева выберите вкладку Permissions → Bucket Policies.

  3. Нажмите Create.

  4. Укажите параметры в визуальном редакторе Visual Editor:

    Параметр

    Описание

    Policy Name

    Укажите название политики.

    Effect

    • Allow — политика разрешает запросы, соответствующие указанным параметрам.

    • Deny — политика запрещает запросы, соответствующие указанным параметрам.

    Principals

    Выберите, какие пользователи получат доступ к бакету:

    • All accounts — все пользователи платформы Advanced. Аутентификация для пользователей не требуется.

      Примечание

      Не рекомендуется предоставлять этот доступ к бакету с конфиденциальными данными.

    • Current account — доступ к бакету получают выбранные IAM-пользователи или аккаунты.

    • Other accounts — доступ к бакету получают IAM-пользователи других аккаунтов. Для этого владельцу бакета нужно прописать их идентификаторы в поле в формате Account ID/IAM user.

      Получение User ID и Account ID

      1. В консоли управления в правом верхнем углу нажмите на имя пользователя и выберите My Credentials.

        ../_images/s__my-credentials.png
      2. Скопируйте информацию из полей User ID и Account ID.

    Resources

    Выберите, к каким ресурсам применится политика:

    • Entire bucket (including the objects in it) — к бакету и всем объектам в нем. При выборе этой настройки будут доступны изменения для бакета и его объектов в поле Actions.

    • Current bucket — только к этому бакету. При выборе этой настройки будут доступны изменения для бакета в поле Actions.

    • Specified objects — к выбранным объектам в бакете. При выборе этой настройки будут доступны изменения для объектов в поле Actions.

    Actions

    Выберите Customized и настройте действия.

    • Use a template — примените шаблон.

    • Customized — выберите действия согласно инструкции Actions.

    Conditions (Опционально)

    Введите дополнительные условия для политики:

    1. Key — выберите ключевое значение.

    2. Conditional Operator — из раскрывающегося списка, выберите условие применения оператора.

    3. Value — введите значение условия.

    Подробнее — в инструкции Conditions (en).

    Advanced Settings > Exclude (Optional)

    • Specified principals — политика бакета применяется ко всем пользователям, кроме указанных.

    • Specified resources — политика бакета применяется ко всем ресурсам, кроме указанных.

    • Specified actions — политика бакета применяется ко всем действиям, кроме указанных.

  5. Для сохранения настроек политики нажмите Create.

Просмотр политики доступа

  1. В консоли управления Object Storage Service нажмите на название нужного бакета.

  2. Слева выберите вкладку Permissions → Bucket Policies.

    Отобразятся все созданные политики доступа.

  3. Для просмотра детальной информации нажмите на Стрелка в строке с политикой.

    ../_images/s__overview-politics-settings.png

Отобразятся настройки политики доступа.

Изменение политики доступа

  1. В консоли управления Object Storage Service нажмите на название нужного бакета.

  2. Слева выберите вкладку Permissions → Bucket Policies.

  3. В строке с нужной политикой доступа нажмите Edit.

  4. Для сохранения изменений нажмите ОК.

Удаление политики доступа

  1. В консоли управления Object Storage Service нажмите на название нужного бакета.

  2. Слева выберите вкладку Permissions → Bucket Policies

  3. В строке политикой доступа к удалению нажмите Значок Удалить.

  4. Нажмите OK.

Запустили Evolution free tier
для Dev & Test
Получить