Вопросы и ответы про Identity and Access Management
Общие вопросы
Для чего нужен сервис Yandex Identity and Access Management?
Сервис IAM контролирует доступ к ресурсам и предоставляет функциональность для настройки прав доступа. Вы определяете, кто и какие права имеет на ресурс, а IAM предоставляет доступ в соответствии с назначенными правами.
IAM позволяет вам:
- управлять правами доступа на ресурсы, назначая и отзывая роли;
- создавать сервисные аккаунты — специальные учетные записи для управления ресурсами Yandex Cloud через API;
- получать IAM-токен, необходимый для аутентификации через API.
Другие сервисы Yandex Cloud используют API сервиса IAM, чтобы предоставить вам больше возможностей для управления доступом к ресурсам этих сервисов. Например, Yandex Compute Cloud предоставляет дополнительную роль compute.images.user для контроля доступа к образам дисков.
Как начать работу с IAM?
Для начала работы с IAM необходимо зарегистрироваться в Yandex Cloud. После регистрации вы сможете использовать функции IAM.
Сколько стоит использование сервиса IAM?
Использование сервиса IAM не тарифицируется.
Я могу получить логи моей работы в сервисах?
Да, вы можете запросить информацию о работе с вашими ресурсами из логов сервисов Yandex Cloud. Для этого обратитесь в техническую поддержку
Вход в систему и доступ к ресурсам
Как войти в консоль управления?
Перейдите на страницу консоли управления
Если вы еще не вошли в ваш аккаунт на Яндексе или в Яндекс 360, нажмите Войти. Если у вас еще нет аккаунта, нажмите Зарегистрироваться. Подробнее читайте в Справке Яндекс ID
Как предоставить пользователю доступ к консоли управления и каталогу?
Для доступа к консоли управленияresource-manager.clouds.member на облако. Права на работу с ресурсами назначьте отдельно на нужный каталог или ресурс. Например:
resource-manager.clouds.memberна облако иcompute.editorна каталог позволяют работать с ресурсами Compute Cloud в этом каталоге через консоль управления.resource-manager.clouds.memberна облако иresource-manager.viewerна каталог позволяют просматривать информацию о каталоге и назначенных на него правах доступа.
Если пользователю уже назначена роль admin на каталог, но каталог не виден в консоли, проверьте наличие роли для доступа к облаку. Не требуется назначать admin на все облако: такая роль даст права на все его каталоги и ресурсы.
Другие роли, которые предоставляют доступ к консоли, перечислены в разделе Участник облака. Порядок назначения ролей описан в инструкции.
Что делать, если возникает ошибка User has to accept the End User License Agreement при получении IAM-токена?
При получении IAM-токена через Yandex Cloud CLI, Terraform или прямой запрос к API может возникнуть одна из ошибок:
User has to accept the End User License Agreement to get an IAM tokenUser has to accept the End User License Agreement and Privacy Policy to get an IAM token
Ошибка означает, что пользователь, от имени которого запрашивается IAM-токен, еще не принял необходимые соглашения.
Для решения войдите в аккаунт пользователя и примите лицензионное соглашение и политику конфиденциальности на странице принятия соглашений
Если вместо страницы принятия соглашений открывается каталог в консоли управления, выйдите из аккаунта и войдите снова. Также можно открыть ссылку в режиме инкогнито или в другом браузере.
Если соглашения уже приняты, проверьте, что токен в профиле CLI, настройках провайдера Terraform или запросе к API принадлежит тому же пользователю. Для OAuth-токена определить владельца можно с помощью запроса информации о пользователеlogin в ответе содержит логин аккаунта в Яндексе.
Для работы в CLI от имени федеративного или локального пользователя, настройте аутентификацию соответствующим образом:
- Аутентификация в Yandex Cloud CLI от имени федеративного пользователя
- Аутентификация в Yandex Cloud CLI от имени локального пользователя
Как проверяются права доступа?
Перед тем, как выполнить операцию с ресурсом, например создать виртуальную машину, IAM проверяет, есть ли все необходимые разрешения у пользователя. Если какого-то из разрешений нет, операция не будет выполнена и Yandex Cloud сообщит об ошибке. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.
Что такое ресурс?
Ресурс — это сущность Yandex Cloud, с которой вы можете выполнять операции: создавать, изменять, просматривать или удалять. Примеры ресурсов: виртуальные машины, диски, сервисные аккаунты, облака и каталоги. Подробнее читайте в разделе Иерархия ресурсов Yandex Cloud документации сервиса Resource Manager.
Как изменить владельца облака?
- Добавьте нового владельца в организацию, если он еще не входит в нее.
- От имени текущего владельца назначьте пользователю роль
resource-manager.clouds.ownerна облако. - Убедитесь, что новый владелец получил доступ. После этого отзовите роль
resource-manager.clouds.ownerу прежнего владельца. При необходимости назначьте ему другие роли в соответствии с его задачами.
У облака должен остаться хотя бы один владелец. Владельца организации меняют отдельно.
Если выполнить смену владельца не удается, обратитесь в поддержку
Как изменить владельца организации?
От имени текущего владельца назначьте новому владельцу роль organization-manager.organizations.owner на организацию. Новый владелец должен быть добавлен в организацию.
После проверки доступа нового владельца отзовите эту роль у прежнего. Удалять прежнего владельца из организации нужно только в том случае, если ему больше не нужен доступ.
Если выполнить эти действия не удается, обратитесь в поддержку
Решение проблем
Почему возникает ошибка Forbidden или Permission Denied при работе от имени сервисного аккаунта?
Проверьте, что сервисному аккаунту назначены роли на ресурс, с которым он работает, или на родительский каталог либо облако. Роль, назначенная на сам сервисный аккаунт как на ресурс, не предоставляет доступа к виртуальным машинам, бакетам и другим ресурсам.
Назначьте сервисному аккаунту необходимые роли по инструкции из статьи Назначение роли сервисному аккаунту.
Что делать при ошибке Service account is not available?
Ошибка может возникнуть при работе через консоль, CLI, API или другие инструменты, если у учетной записи, выполняющей запрос, нет прав на использование выбранного сервисного аккаунта.
Назначьте этой учетной записи роль iam.serviceAccounts.user на используемый сервисный аккаунт по инструкции. Также роль можно назначить на родительский каталог или облако.
Если запрос выполняется от имени того же сервисного аккаунта, который вы привязываете к ресурсу, ему тоже нужны права на использование самого себя. Например, такие права проверяются при создании ревизии контейнера в Serverless Containers.
Почему не удается назначить роль владельца облака?
Ошибка Role 'resource-manager.clouds.owner' is only applicable to resources of type 'resource-manager.cloud' означает, что роль назначается на ресурс другого типа, например, каталог или организацию.
Роль resource-manager.clouds.owner можно назначить только на облако. В разделе прав доступа выберите облако и назначьте роль по инструкции. Назначить эту роль может владелец облака.
Что делать при ошибках отправки или принятия приглашения в организацию?
Действия зависят от текста ошибки:
No valid emails. Or all specified emails have been invited before— проверьте адреса электронной почты и наличие пользователей в организации или в списке приглашенных.Invitation ... has 'ACCEPTED' status. Expected status 'PENDING'— приглашение уже принято. Войдите в организацию с тем аккаунтом, который был выбран при принятии приглашения. Повторно принимать его не требуется.Invitation ... has been expired after ...— срок действия приглашения истек. Попросите администратора отправить приглашение повторно.Permission denied— проверьте, под каким аккаунтом выполняется действие. Для отправки приглашений у пользователя должны быть необходимые роли. Если ошибка возникает при принятии приглашения, передайте ее подробности администратору организации или в поддержку.
Если отображается сообщение Обратитесь к администратору организации за новым приглашением, откройте подробности ошибки и проверьте статус приглашения. Администратор может удалить приглашение или отправить его повторно.
Если проблема сохраняется, обратитесь в поддержку
Почему федеративный пользователь не отображается в организации?
Если пользователь есть в списке пользователей федерации, но отсутствует в списке пользователей организации
Добавьте пользователя в федерацию повторно. Используйте его Name ID на стороне поставщика удостоверений: это значение не обязательно совпадает с адресом электронной почты.
После повторного добавления идентификатор пользователя в организации изменится. Проверьте права доступа новой учетной записи и назначьте необходимые роли заново.
Почему у пользователя в организации не отображаются имя и адрес электронной почты?
Возможно, исходная учетная запись удалена на стороне Яндекс 360 или поставщика удостоверений. Проверьте это у администратора и, если учетная запись больше не используется, удалите пользователя из организации.
Как исправить ошибку The signature of response or assertion was invalid?
Проверьте сертификат, которым поставщик удостоверений подписывает SAML-ответы. Если сертификат обновили на стороне поставщика, добавьте актуальный сертификат в федерацию.
Для автоматизации используйте CLI или API из этой инструкции. Нужен сертификат SAML-федерации, а не авторизационный ключ сервисного аккаунта.
Как исправить ошибку Response is invalid in a general way?
Ошибка Response is invalid in a general way или The assertion was not valid означает, что SAML-ответ поставщика удостоверений не прошел проверку.
- Проверьте, что в настройках поставщика указан ACS URL вашей федерации.
- Проверьте настройки подписи SAML-ответа и сертификат по рекомендациям для ошибки подписи.
- Сверьте настройки с руководством для вашего поставщика удостоверений.
- После изменения настроек выполните новую попытку входа.
Если ошибка сохраняется, обратитесь в поддержку