Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Identity and Access Management
  • Начало работы
    • Как управлять доступом к ресурсам
    • Как работать с сервисными аккаунтами
  • Пошаговые инструкции
    • Все инструкции
    • Обработка секретов, попавших в открытый доступ
    • Пользователи
      • Добавление пользователя
      • Получение идентификатора или почты пользователя
      • Удаление пользователя
    • Группы пользователей
      • Создание группы
      • Настройка прав доступа к группе
      • Назначение прав группе
    • Сервисные аккаунты
      • Создание сервисного аккаунта
      • Изменение сервисного аккаунта
      • Назначение роли сервисному аккаунту
      • Настройка прав доступа к сервисному аккаунту
      • Создание статических ключей доступа
      • Удаление статических ключей доступа
      • Получение идентификатора сервисного аккаунта
      • Удаление сервисного аккаунта
    • Роли
      • Назначение роли
      • Просмотр назначенных ролей
      • Отзыв роли
    • IAM-токены
      • Получение IAM-токена для аккаунта на Яндексе
      • Получение IAM-токена для сервисного аккаунта
      • Получение IAM-токена для федеративного аккаунта
    • Ключи
      • Создание API-ключа
      • Удаление API-ключа
      • Создание авторизованного ключа
      • Удаление авторизованного ключа
  • Концепции
    • Обзор
    • Как устроено управление доступом
      • Обзор
      • Роли
      • Системные группы
      • Ресурсы, на которые можно назначать роли
    • Авторизация
      • Обзор
      • Cookie
      • IAM-токен
      • OAuth-токен
      • API-ключ
      • Авторизованные ключи
      • AWS-совместимые ключи доступа
    • Сервисные аккаунты
    • Федерации удостоверений
    • Квоты и лимиты
  • Безопасное использование Yandex Cloud
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ApiKeyService
      • IamTokenService
      • KeyService
      • RoleService
      • ServiceAccountService
      • UserAccountService
      • YandexPassportUserAccountService
      • AccessKeyService
      • CertificateService
      • FederationService
      • OperationService
    • REST (англ.)
      • Overview
      • ApiKey
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • IamToken
        • Overview
        • create
        • createForServiceAccount
      • Key
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Role
        • Overview
        • get
        • list
      • ServiceAccount
        • Overview
        • create
        • delete
        • get
        • list
        • listAccessBindings
        • listOperations
        • setAccessBindings
        • update
        • updateAccessBindings
      • UserAccount
        • Overview
        • get
      • YandexPassportUserAccount
        • Overview
        • getByLogin
      • Operation
        • Overview
        • get
      • Certificate
        • Overview
        • get
        • create
        • update
        • delete
        • listOperations
        • list
      • Federation
        • Overview
        • listUserAccounts
        • get
        • addUserAccounts
        • create
        • update
        • delete
        • listOperations
        • list
      • AccessKey
        • Overview
        • get
        • create
        • update
        • delete
        • listOperations
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Вход в систему и доступ к ресурсам
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Роли
  3. Отзыв роли

Отзыв роли на ресурс

Статья создана
Yandex Cloud
  • Отозвать роль

Если вы хотите запретить субъекту доступ к ресурсу, отзовите у него соответствующие роли на этот ресурс и на ресурсы, от которых наследуются права доступа. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.

Отозвать роль

Консоль управления
CLI
API
Terraform

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

  • Чтобы отозвать роль только в каталоге:

    1. На стартовой странице консоли управления выберите каталог.
    2. Перейдите на вкладку Права доступа.
    3. Выберите пользователя в списке и нажмите значок напротив имени пользователя.
    4. Нажмите кнопку Изменить роли.
    5. Нажмите значок напротив роли, которую хотите отозвать.
    6. Нажмите кнопку Сохранить.
  • Чтобы отозвать роль в облаке:

    1. На стартовой странице консоли управления выберите облако.
    2. Перейдите на вкладку Права доступа.
    3. Выберите пользователя в списке и нажмите значок напротив имени пользователя.
    4. Нажмите кнопку Изменить роли.
    5. Нажмите значок напротив роли, которую хотите отозвать.
    6. Нажмите кнопку Сохранить.
  • Чтобы отозвать сразу все роли в каталоге или облаке:

    1. На стартовой странице консоли управления выберите каталог или облако.
    2. Перейдите на вкладку Права доступа.
    3. Выберите пользователя в списке и нажмите значок напротив имени пользователя.
    4. Если вы хотите отозвать все роли пользователя в облаке — нажмите кнопку Отозвать роли и подтвердите отзыв.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

Чтобы отозвать роль у субъекта, удалите соответствующую привязку прав доступа для соответствующего ресурса:

  1. Посмотрите, какие роли назначены на ресурс:

    yc <service-name> <resource> list-access-bindings <resource-name>|<resource-id>
    

    Где:

    • <service-name> — имя сервиса, которому принадлежит ресурс, например resource-manager.
    • <resource> — категория ресурса, например folder.
    • <resource-name> — имя ресурса. Вы можете указать ресурс по имени или идентификатору.
    • <resource-id> — идентификатор ресурса.

    Например, посмотрите кому и какие роли назначены на каталог default:

    yc resource-manager folder list-access-bindings default
    

    Результат:

    +---------------------+----------------+----------------------+
    |       ROLE ID       |  SUBJECT TYPE  |      SUBJECT ID      |
    +---------------------+----------------+----------------------+
    | editor              | serviceAccount | ajepg0mjas06siuj5usm |
    | viewer              | userAccount    | aje6o61dvog2h6g9a33s |
    +---------------------+----------------+----------------------+
    
  2. Чтобы удалить привязку прав доступа, выполните команду:

    yc <service-name> <resource> remove-access-binding <resource-name>|<resource-id> \
        --role <role-id> \
        --subject <subject-type>:<subject-id>
    

    Где:

    • <role-id> — идентификатор роли, которую надо отозвать, например resource-manager.clouds.owner.
    • <subject-type> — тип субъекта, у которого отзывается роль.
    • <subject-id> — идентификатор субъекта.

Чтобы отозвать роль у субъекта на ресурс, удалите соответствующую привязку прав доступа:

  1. Посмотрите, кому и какие роли назначены на ресурс с помощью метода listAccessBindings. Например, чтобы посмотреть роли на каталог b1gvmob95yysaplct532:

    export FOLDER_ID=b1gvmob95yysaplct532
    export IAM_TOKEN=CggaATEVAgA...
    curl -H "Authorization: Bearer ${IAM_TOKEN}" "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:listAccessBindings"
    

    Результат:

    {
      "accessBindings": [
      {
        "subject": {
          "id": "ajei8n54hmfhuk5nog0g",
          "type": "userAccount"
        },
        "roleId": "editor"
      }
      ]
    }
    
  2. Сформируйте тело запроса, например в файле body.json. В теле запроса укажите, какую привязку прав доступа необходимо удалить. Например, отзовите у пользователя ajei8n54hmfhuk5nog0g роль editor:

    body.json:

    {
        "accessBindingDeltas": [{
            "action": "REMOVE",
            "accessBinding": {
                "roleId": "editor",
                "subject": {
                    "id": "ajei8n54hmfhuk5nog0g",
                    "type": "userAccount"
                    }
                }
            }
        ]
    }
    
  3. Отзовите роль, удалив указанную привязку прав доступа:

    export FOLDER_ID=b1gvmob95yysaplct532
    export IAM_TOKEN=CggaATEVAgA...
    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${IAM_TOKEN}" \
      -d '@body.json' \
      "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
    

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Чтобы отозвать роль у субъекта на ресурс, найдите в конфигурационном файле описание ресурса:

    resource "yandex_resourcemanager_cloud_iam_binding" "admin" {
        cloud_id    = "<идентификатор облака>"
        role        = "<роль>"
        members     = [
        "serviceAccount:<идентификатор сервисного аккаунта>",
        "userAccount:<идентификатор пользователя>",
        ]
    }
    
  2. Удалите запись с информацией о субъекте, у которого нужно отозвать права, из перечня пользователей members.

    Более подробную информацию о параметрах ресурса yandex_resourcemanager_cloud_iam_binding, см. в документации провайдера.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.
    2. Выполните проверку с помощью команды:
    terraform plan
    

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  4. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления или с помощью команды CLI:

    yc resource-manager cloud list-access-bindings <имя облака>|<идентификатор облака>
    

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»