Определение модели авторизации

Благодаря поддержке Cedar вы можете определить свою схему с точки зрения каждого типа сущностей, включая атрибуты, относящиеся к модели авторизации, и допустимые комбинации основных типов, видов ресурсов и действий. Сервис «Проверенные разрешения» использует эту схему, чтобы проверять, соответствует ли статическая политика или шаблон политики модели авторизации приложения. Вы можете использовать JSON для определения схемы в Проверенных разрешениях. Она имеет некоторое сходство со схемой JSON Schema, но использует уникальные аспекты языка политики Cedar. В схеме можно определить группы действий, которые представляют собой политики, разрешающие или запрещающие группы действий.

Подключите свое приложение к сервису через API для авторизации запросов на доступ пользователей. Для каждого запроса авторизации сервис извлекает соответствующие политики на основе Cedar и оценивает их, чтобы определить, разрешено ли пользователю выполнять действие на ресурсе с учетом контекста, такого как пользователи, роли, принадлежности к группам и атрибуты.

Управление политиками и их проверка

Хранилище политик – это контейнер политик на основе Cedar в разделе Проверенных разрешений, логически изолированный от других контейнеров. Вы можете создать все иерархические отношения и конфигурации в одном хранилище политик, чтобы отличать политики и шаблоны политик от других хранилищ политик. Хранилища политик обычно сопоставляются с каждым приложением и позволяют создавать различные конфигурации и правила схемы для нескольких клиентов без совместного использования или подключения между ними. Например, можно создать отдельное хранилище политик для каждого использования клиентом Проверенных разрешений; можно удалить хранилище политик одного клиента, не затрагивая ресурсы, схемы, политики и шаблоны политик любого другого хранилища политик.

Тестовый стенд – это инструмент для тестирования и устранения неполадок в политиках Проверенного разрешения путем выполнения смоделированного запроса на авторизацию для всех правил на основе Cedar в вашем хранилище политик. Испытательный центр использует указанные вами параметры, чтобы определить, будут ли политики в вашем хранилище политик авторизовать запрос.

Можно использовать шаблон политики, представляющий собой заявление о политике на основе Cedar с заполнителями охвата, в которые необходимо будет указать определенные значения. Шаблон политики может содержать заполнители для доверителя, ресурса или и того, и другого. Обновления шаблона политики отражаются во всех доверителях и ресурсах, использующих этот шаблон. Это также называется политикой, связанной с шаблоном.

Мы рекомендуем использовать такие шаблоны для создания политик на основе Cedar, которыми можно поделиться в приложении. Например, можно создать шаблон политики для редактора, предоставляющий права на чтение, редактирование и комментирование доверителю и ресурсу, использующим этот шаблон политики. Вы также можете использовать шаблоны политик для определения грубого, среднего и точного контроля доступа для своих приложений. Например, можно использовать шаблоны политик, чтобы назначить определенных пользователей группе, элементы управления среднего уровня для назначения доступа к определенным ресурсам и элементы управления точного уровня для наиболее детальных атрибутов ресурсов.

Запрос политики и аудит

Используя API Проверенных разрешений, вы можете выполнять определенные запросы к политикам, хранящимся в разделе Verified Permissions (Проверенные разрешения). Можно запросить свои политики, чтобы определить, какие из них применимы к конкретным доверителям, ресурсам или и к тому, и к другому.

Можно настроить и подключить Проверенные разрешения для отправки журналов управления политиками и авторизации в AWS CloudTrail.

Интеграция и расширяемость

Вы можете передать свой токен аутентификации из Amazon Cognito в запрос на авторизацию, выполняемый с помощью Проверенных разрешений. Это позволяет передавать атрибуты поставщика идентификационных данных непосредственно в оценку политики и, таким образом, в решение об авторизации, генерируемое Проверенными разрешениями.

Сервис «Проверенные разрешения» интегрирован с сервисом CloudFormation, который помогает моделировать и настраивать ресурсы AWS, чтобы тратить меньше времени на создание ресурсов и инфраструктуры, а также управление ими. Вы создаете шаблон, в котором описываются все необходимые ресурсы AWS, а CloudFormation предоставляет и настраивает эти ресурсы для вас.

Пакет SDK с проверенными разрешениями доступен на языках C++, Go, Java, JavaScript, Kotlin, .NET, Node.js, PHP, Python, Ruby, Rust и Swift.