Отозвать роль у пользователя
Если вы хотите запретить пользователю доступ к ресурсу, отзовите у него соответствующие роли на этот ресурс и на ресурсы, от которых наследуются права доступа. Подробнее об управлении доступом в Yandex Cloud читайте в документации Yandex Identity and Access Management.
Отозвать роль может пользователь с ролью администратора organization-manager.admin или владельца organization-manager.organizations.owner организации.
-
Войдите в сервис Yandex Identity Hub
с учетной записью администратора или владельца организации. -
На панели слева выберите
Права доступа. -
Найдите в списке нужного пользователя. При необходимости воспользуйтесь строкой поиска или фильтром.
-
В строке с нужным пользователем нажмите значок
и выберите Назначить роли. В открывшемся окне:-
Нажмите значок
рядом с ролью, чтобы удалить ее. -
Нажмите кнопку Сохранить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Посмотрите, кому и какие роли назначены на ресурс:
yc <имя_сервиса> <ресурс> list-access-bindings <имя_или_идентификатор_ресурса>Где:
<имя_сервиса>— имя сервиса, которому принадлежит ресурс, например,organization-manager.<ресурс>— категория ресурса. Для организации всегда имеет значениеorganization.<имя_или_идентификатор_ресурса>— имя или идентификатор ресурса. Вы можете указать имя или идентификатор ресурса. Для организации в качестве имени используйте техническое название.
Например, посмотрите, кому и какие роли назначены в организации с идентификатором
bpf3crucp1v2********:yc organization-manager organization list-access-bindings bpf3crucp1v2********Результат:
+------------------------------------------+--------------+----------------------+ | ROLE ID | SUBJECT TYPE | SUBJECT ID | +------------------------------------------+--------------+----------------------+ | organization-manager.organizations.owner | userAccount | aje3r40rsemj******** | | organization-manager.admin | userAccount | aje6o61dvog2******** | +------------------------------------------+--------------+----------------------+ -
Чтобы удалить права доступа, выполните команду:
yc <имя_сервиса> <ресурс> remove-access-binding <имя_или_идентификатор_ресурса> \ --role <идентификатор_роли> \ --subject <тип_субъекта>:<идентификатор_субъекта>Где:
-
--role— идентификатор роли, которую надо отозвать, напримерorganization-manager.admin. -
--subject— обозначение субъекта, у которого отзывается роль.Обозначения субъектов
Для обозначения субъекта используется параметр
--subjectсо значением в формате<тип_субъекта>:<идентификатор>. Для некоторых типов субъектов в Yandex Cloud CLI вместо--subjectдоступны отдельные параметры, в которых достаточно указать имя или идентификатор субъекта без типа. Возможные обозначения субъектов и соответствующие параметры CLI:Тип субъекта
Обозначение субъекта
Параметр Yandex Cloud CLI
userAccountuserAccount:<идентификатор_пользователя>--user-account-idили--user-yandex-loginserviceAccountserviceAccount:<идентификатор_сервисного_аккаунта>--service-account-idили--service-account-namefederatedUserfederatedUser:<идентификатор_пользователя>--user-account-idgroupgroup:<идентификатор_группы>--group-memberssystemsystem:allAuthenticatedUsers(группа
All authenticated users)--all-authenticated-userssystem:allUsers(группа
All users)—
system:group:organization:<идентификатор_организации>:users(группа
All users in organization X)--organization-userssystem:group:federation:<идентификатор_федерации>:users(группа
All users in federation N)--federation-userssystem:group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)—
Например, чтобы отозвать роль у пользователя с идентификатором
aje6o61dvog2********:yc organization-manager organization remove-access-binding bpf3crucp1v2******** \ --role organization-manager.admin \ --subject userAccount:aje6o61dvog2******** -
-
Посмотрите, кому и какие роли назначены на ресурс с помощью метода REST API listAccessBindings для ресурса Organization или вызова gRPC API OrganizationService/ListAccessBindings. Например, чтобы посмотреть роли в организации с идентификатором
bpf3crucp1v2********:export ORGANIZATION_ID=bpf3crucp1v2******** export IAM_TOKEN=<IAM-токен> curl \ --header "Authorization: Bearer ${IAM_TOKEN}" \ "https://organization-manager.api.cloud.yandex.net/organization-manager/v1/organizations/${ORGANIZATION_ID}:listAccessBindings"Результат:
{ "accessBindings": [ { "subject": { "id": "aje6o61dvog2********", "type": "userAccount" }, "roleId": "organization-manager.admin" } ] } -
Сформируйте тело запроса, например в файле
body.json. В теле запроса укажите, какие права доступа необходимо удалить. Например, отзовите у пользователяaje6o61dvog2********рольorganization-manager.admin:body.json:
{ "accessBindingDeltas": [{ "action": "REMOVE", "accessBinding": { "roleId": "organization-manager.admin", "subject": { "id": "aje6o61dvog2********", "type": "userAccount" } } }] }Где:
-
Значение
REMOVEв параметреaccessBindingDeltas[].actionуказывает, что роль нужно отозвать. -
accessBindingDeltas[].accessBinding.roleId— идентификатор роли, которую нужно отозвать. -
accessBindingDeltas[].accessBinding.subject.id— идентификатор субъекта, у которого отзывается роль. -
accessBindingDeltas[].accessBinding.subject.type— тип субъекта, у которого отзывается роль.Обозначения субъектов
Для обозначения субъекта используется комбинация типа и уникального идентификатора в полях запроса
subject.typeиsubject.id. Возможные комбинации:subject.type
subject.id
userAccount<идентификатор_пользователя>serviceAccount<идентификатор_сервисного_аккаунта>federatedUser<идентификатор_пользователя>group<идентификатор_группы>systemallAuthenticatedUsers(группа
All authenticated users)allUsers(группа
All users)group:organization:<идентификатор_организации>:users(группа
All users in organization X)group:federation:<идентификатор_федерации>:users(группа
All users in federation N)group:userpool:<идентификатор_пула>:users(группа
All users in userpool P)
-
-
Отзовите роль с помощью метода REST API updateAccessBindings для ресурса Organization или вызова gRPC API OrganizationService/UpdateAccessBindings:
export ORGANIZATION_ID=bpf3crucp1v2******** export IAM_TOKEN=<IAM-токен> curl \ --request POST \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data '@body.json' \ "https://organization-manager.api.cloud.yandex.net/organization-manager/v1/organizations/${ORGANIZATION_ID}:updateAccessBindings"