Advanced
Тема интерфейса

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

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Вы можете создавать пользовательские политики для дополнения системно-определённых политик и реализации более точного контроля доступа.

Вы можете создавать пользовательские политики одним из следующих способов:

  • Визуальный редактор: Выберите облачные сервисы, действия, ресурсы и условия запроса. Это не требует знания синтаксиса политики.
  • JSON: Создайте политику в формате JSON или отредактируйте существующую.

В этом разделе описывается, как создавать пользовательские политики на Разрешения > Policies/Roles странице. Вы также можете создавать пользовательские политики во время авторизации (см Рисунок 1).

Рисунок 1 Создание политики во время авторизации


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

  1. Войдите в консоль IAM.
  2. В консоли IAM выберите Разрешения > Политики/Роли в навигационной панели, и щелкните Создать пользовательскую политику в правом верхнем углу.

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


  3. Введите имя политики.

    Рисунок 3 Ввод имени политики


  4. Выберите область действия в зависимости от типа сервисов, связанных с этой политикой. Для получения дополнительной информации о типах сервисов см. "Permissions".

    • Глобальные сервисы: Выберите эту опцию, если сервисы, к которым относится политика, должны быть развернуты в глобальном регионе. При создании пользовательских политик для глобально развернутых сервисов укажите область действия как Глобальные сервисы. Пользовательские политики этого объёма должны быть прикреплены к группам пользователей для глобального сервисного проекта.
    • Службы уровня проекта: Выберите эту опцию, если службы, к которым относится политика, должны быть развернуты в определённых регионах. При создании пользовательских политик для служб, развернутых по регионам, укажите область как Службы уровня проекта. Пользовательские политики этого объёма должны быть прикреплены к группам пользователей для конкретных проектов, за исключением глобального сервисного проекта.

    Например, при создании пользовательской политики, содержащей действие evs:volumes:create для EVS, укажите область как Службы уровня проекта.

    Note

    Пользовательская политика может содержать действия нескольких служб, доступных глобально или через региональные проекты. Чтобы определить разрешения, необходимые для доступа как к глобальным, так и к службам уровня проекта, создайте две пользовательские политики и укажите область как Глобальные службы и Сервисы уровня проекта соответственно.

  5. Выбрать Визуальный редактор для Просмотр политики.
  6. Установите содержание политики.

    1. Выбрать Разрешить или Запретить.
    2. Выберите облачную услугу.
      Note
      • Для каждого блока разрешений можно выбрать только одну облачную услугу. Чтобы настроить разрешения для нескольких облачных услуг, нажмите Добавить разрешения, или переключиться в JSON view (see Создание пользовательской политики в JSON View).
      • Пользовательская политика может содержать разрешения как для глобальных, так и для сервисов уровня проекта. Чтобы задать разрешения, необходимые для доступа к глобальным и проектным сервисам, включите их в две отдельные пользовательские политики для уточнённой авторизации.
    3. Выберите действия.
    4. (Optional) Выберите все ресурсы или выберите конкретные ресурсы, указав их пути.

      Таблица 1 Тип ресурса

      Параметр

      Описание

      Конкретный

      Разрешения для конкретных ресурсов. Например, чтобы определить разрешения для бакетов, имена которых начинаются с TestBucket, укажите путь к ресурсу бакета как OBS:*:*:bucket:TestBucket*.

      NOTE:
      • Указание ресурсов бакетов

      Формат: "OBS:*:*:bucket:Имя бакета".

      Для ресурсов Бакет IAM автоматически генерирует префикс пути ресурса: obs:*:*:bucket:. Для пути конкретного Бакет добавьте имя Бакета в конец. Вы также можете использовать символ подстановки (*) для обозначения любого OBS Бакет. Например, obs:*:*:bucket:* обозначает любой OBS Бакет.

      • Указание ресурсов объекта

      Формат: "OBS:*:*:object:Имя Бакета или имя объекта".

      Для ресурсов объекта IAM автоматически генерирует префикс пути ресурса: obs:*:*:object:. Для пути конкретного объекта добавьте имя Бакета/имя объекта до конца пути ресурса. Вы также можете использовать символ подстановки (*) для указания любого объекта в бакете. Например, obs:*:*:object:my-bucket/my-object/* указывает любой объект в my-object директория my-bucket бакет.

      Все

      Разрешения для всех ресурсов.

    5. (Опционально) Добавьте условия запроса, указывая ключи условий, операторы и значения.
      Таблица 2 Параметры условий

      Имя

      Описание

      Ключ условия

      Ключ в Условие элемент утверждения. Существуют глобальные и ключи условий уровня сервиса. Глобальные ключи условий (начинается с g:) доступны для операций всех сервисов, тогда как ключи условий уровня сервиса (начинаются с аббревиатуры сервиса, например obs:) доступны только для операций соответствующего сервиса. Для получения подробной информации см. руководство пользователя соответствующего облачного сервиса.

      Оператор

      Используется вместе с ключом условия и значением условия для формирования полного условного выражения.

      Значение

      Используется вместе с ключом условия и оператором, требующим ключевого слова, для формирования полного условного выражения.

      Рисунок 4 Добавление условия запроса


      Таблица 3 Глобальные ключи условий

      Глобальный ключ условия

      Тип

      Описание

      g:CurrentTime

      Время

      Время получения запроса аутентификации. Время указано в формате, определённом ISO 8601, например, 2012-11-11T23:59:59Z.

      g:DomainName

      Строка

      Имя учётной записи.

      g:MFAPresent

      Логический

      Нужно ли получать токен через MFA‑аутентификацию.

      g:MFAAge

      Число

      Срок действия токена, полученного через MFA‑аутентификацию. Это условие должно использоваться совместно с g:MFAPresent.

      g:ProjectName

      Строка

      Имя проекта.

      g:ServiceName

      Строка

      Имя сервиса.

      g:UserId

      String

      IAM пользователь ID.

      g:UserName

      String

      IAM имя пользователя.

  7. (Optional) Переключитесь к представлению JSON и измените содержание политики в формате JSON.

    Note

    Если изменённое содержание политики некорректно, проверьте и измените содержание снова, или нажмите Reset для отмены изменений.

  8. (Optional) Чтобы добавить ещё один блок разрешений для политики, нажмите Add Permissions. Кроме того, нажмите значок плюс (+) справа от существующего блока разрешений, чтобы клонировать его разрешения.
  9. (Optional) Введите краткое описание политики.
  10. Click OK.
  11. Присоедините политику к группе пользователей. Пользователи в группе затем наследуют разрешения, определённые в этой политике.

    Note

    Вы можете присоединять пользовательские политики к группе пользователей так же, как присоединяете системно-определённые политики. Для получения подробностей смотрите Creating a User Group and Assigning Permissions.

Creating a Custom Policy in JSON View

  1. Войдите в консоль IAM.
  2. В консоли IAM выберите Разрешения > Политики/Роли в навигационной панели и нажмите Create Custom Policy в правом верхнем углу.

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


  3. Введите имя политики.

    Figure 6 Ввод имени политики


  4. Выберите область действия в зависимости от типа сервисов, связанных с этой политикой. Для получения дополнительной информации о типах сервисов смотрите "Permissions".

    • Глобальные сервисы: Выберите эту опцию, если сервисы, к которым относится политика, должны быть развернуты в глобальном регионе. При создании пользовательских политик для глобально развернутых сервисов укажите область действия как Глобальные сервисы. Пользовательские политики этой области должны быть привязаны к группам пользователей для глобального сервисного проекта.
    • Сервисы уровня проекта: Выберите эту опцию, если сервисы, к которым относится политика, должны быть развернуты в определённых регионах. При создании пользовательских политик для регионально развернутых сервисов укажите область действия как Сервисы уровня проекта. Пользовательские политики этой области должны быть привязаны к группам пользователей для конкретных проектов, за исключением глобального сервисного проекта.

    Например, при создании пользовательской политики, содержащей действие evs:volumes:create для EVS укажите область действия как Сервисы уровня проекта.

    Note

    Пользовательская политика может содержать действия нескольких сервисов, которые доступны глобально или через проекты, специфичные для региона. Чтобы определить разрешения, необходимые для доступа как к глобальным, так и к сервисам уровня проекта, создайте две пользовательские политики и укажите область как Глобальные сервисы и Сервисы уровня проекта соответственно.

  5. Выбрать JSON для Просмотр политики.
  6. (Необязательно) Щёлкните Выбрать существующую политику/роль, и выберите политику/роль, чтобы использовать её в качестве шаблона, например, выберите EVS Admin.

    Note

    Если вы выбираете несколько политик, все они должны иметь одну и ту же область, то есть либо Глобальные сервисы или Сервисы уровня проекта. Чтобы определить необходимые разрешения для доступа как к глобальным, так и к сервисам уровня проекта, поместите разрешения в две отдельные пользовательские политики для уточнённого контроля доступа.

  7. Нажмите OK.
  8. Измените оператор в шаблоне.

    • Эффект: Установите значение Разрешить или Запретить.
    • Действие: Введите действия, указанные в таблице действий API (см Рисунок 7) службы EVS, например, evs:volumes:create.

      Рисунок 7 API действия


      Note

      Версия каждой пользовательской политики фиксируется на 1.1.

  9. (Optional) Введите краткое описание политики.
  10. Нажмите OK. Если отображается список политик, политика успешно создана. Если отображается сообщение, указывающее на некорректное содержание политики, измените политику.
  11. Присоедините политику к группе пользователей. Пользователи в группе затем наследуют права, определённые в этой политике.

    Note

    Вы можете присоединять пользовательские политики к группе пользователей так же, как присоединяете системно-определённые политики. Подробнее см. Создание группы пользователей и назначение прав.