Этот вызов возвращает новый JSON-токен аутентификации (JWT), который позволяет сущности получить доступ к указанному ресурсу от имени пользователя, аутентифицированного в исходном JWT аутентификации. Он используется для делегирования ограниченного доступа к упаковке или распаковке другой сущности, когда этой сущности необходимо действовать от имени пользователя.
HTTP-запрос
POST https://<base_url>/delegate
Замените <base_url>
на URL-адрес службы списков контроля доступа к ключам (KACLS).
Параметры пути
Никто.
Текст запроса
Тело запроса содержит JSON-представление запроса:
JSON-представление | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
Поля | |
---|---|
authentication | JWT, выпущенный третьей стороной, подтверждающий личность пользователя. Подробности см. в разделе «Аутентификация». |
authorization | JWT с утверждениями |
reason | Строка JSON для передачи, предоставляющая дополнительный контекст операции. Перед отображением предоставленный JSON-файл должен быть очищен. Максимальный размер: 1 КБ. |
Требуемые этапы обработки
KACLS должен выполнить как минимум следующие шаги:
- Проверьте токены авторизации и аутентификации. Подробнее см. в разделах Токены авторизации и Токены аутентификации .
- Убедитесь, что токены авторизации и аутентификации принадлежат одному и тому же пользователю. Подробнее см. в разделе Шифрование и дешифрование данных .
- Убедитесь, что утверждение
kacls_url
в токене авторизации соответствует текущему URL-адресу KACLS. Это позволяет обнаружить потенциальные серверы типа «man-in-the-middle», настроенные инсайдерами или недобросовестными администраторами домена. - Если в токене авторизации присутствует утверждение
kacls_owner_domain
, убедитесь, что его значение соответствует домену Google Workspace владельца KACLS. Это поможет предотвратить регистрацию вашего KACLS в Google неавторизованными пользователями. - Зарегистрируйте операцию, включая пользователя, инициировавшего ее,
delegated_to
,resource_name
и причину, переданную в запросе. - Сгенерируйте, подпишите и верните токен JWT, содержащий утверждения
delegated_to
иresource_name
из токена авторизации.
KACLS может свободно выполнять дополнительные проверки безопасности, включая проверки на основе утверждений JWT.
Тело ответа
В случае успеха этот метод возвращает JWT аутентификации, содержащий утверждения delegated_to
и resource_name
. Этот токен впоследствии можно использовать для аутентификации при вызовах методов Wrap и Unwrap. В случае ошибки должен быть возвращен структурированный ответ об ошибке .
JSON-представление | |
---|---|
{ "delegated_authentication": string } |
Поля | |
---|---|
delegated_authentication | Делегированный JWT аутентификации, действительный для доступа |
Пример
Запрос
POST https://mykacls.example.com/v1/delegate
{
"authentication": "eyJhbGciOi...",
"authorization": "eyJhbGciOi...delegated_to\":\"other_entity_id\",\"resource_name\":\"meeting_id\"...}",
"reason": "{client:'meet' op:'delegate_access'}"
}
Ответ
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}