Управление правами доступа к функции

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

Сделайте функцию публичной

Чтобы любой пользователь мог вызывать функцию, необходимо сделать ее публичной, то есть позволить вызывать функцию через HTTPS без передачи заголовка авторизации.

Сделайте функцию публичной:

  1. Откройте раздел Cloud Functions в каталоге с функцией, которую хотите сделать публичной.
  2. В списке функций выберите функцию.
  3. На странице Обзор в разделе Общая информация нажмите переключатель в поле Публичная функция.

Сделайте функцию публичной:

$ yc serverless function allow-unauthenticated-invoke my-function
done (1s)    

Также вы можете сделать функцию публичной, назначив на нее роль serverless.functions.invoker для всех неавторизованных пользователей — системная группа allUsers. О том как назначить роль на функцию читайте в разделе Назначение роли.

Посмотрите роли, назначенные на функцию

Посмотрите роли, назначенные на функцию:

$ yc serverless function list-access-bindings my-function
+------------------------------+--------------+------------+
|           ROLE ID            | SUBJECT TYPE | SUBJECT ID |
+------------------------------+--------------+------------+
| serverless.functions.invoker | system       | allUsers   |
+------------------------------+--------------+------------+

Сделайте функцию приватной

Сделайте функцию приватной:

  1. Откройте раздел Cloud Functions в каталоге с функцией, которую хотите сделать публичной.
  2. В списке функций выберите функцию.
  3. На странице Обзор в разделе Общая функция нажмите переключатель в поле Публичная функция.

Сделайте функцию приватной:

$ yc serverless function deny-unauthenticated-invoke my-function
done (1s)   

Также вы можете сделать функцию приватной, отозвав у нее роль serverless.functions.invoker. О том как отозвать роль читайте в разделе Отзыв роли на ресурс.

Подробнее о правах, читайте в разделе Управление доступом.