Управлять политиками авторизации облака
Примечание
Функциональность находится на стадии Preview. Чтобы получить доступ, обратитесь в техническую поддержку
Политики авторизации — это механизм контроля доступа Yandex Identity and Access Management, который позволяет управлять разрешениями на выполнение определенных операций с ресурсами Yandex Cloud. Политики авторизации создаются на основе шаблонов и дополняют систему ролей, делая управление доступом более гибким.
Управлять политиками авторизации облака может пользователь, которому назначена роль resource-manager.admin или admin на это облако.
Создать политику авторизации для облака
Чтобы создать для облака политику авторизации на основе шаблона без параметров:
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Получите список поддерживаемых шаблонов политик авторизации с идентификаторами.
-
Выполните команду:
yc resource-manager cloud bind-access-policy \ --name <имя_облака> \ --access-policy-template-id=<идентификатор_шаблона_политики>Где:
--name— имя облака, для которого вы хотите создать политику. Вместо имени облака вы можете указать его идентификатор в параметре--id.--access-policy-template-id— идентификатор шаблона, на основе которого вы хотите создать политику авторизации для указанного облака.
-
Убедитесь, что политика была создана.
Terraform
Terraform распространяется под лицензией Business Source License
Подробная информация о ресурсах провайдера в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Получите идентификатор шаблона политики авторизации без параметров.
-
Добавьте в конфигурацию ресурс
yandex_resource_manager_cloud_iam_policy_binding:resource "yandex_resource_manager_cloud_iam_policy_binding" "policy" { cloud_id = "<идентификатор_облака>" access_policy_template_id = "<идентификатор_шаблона_политики>" }Где
cloud_id— идентификатор облака, аaccess_policy_template_id— идентификатор шаблона политики авторизации. Этот ресурс создает привязку шаблона политики, а не назначает роль субъекту.Подробнее см. в документации провайдера.
-
Примените конфигурацию:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
Воспользуйтесь методом REST API bindAccessPolicy для ресурса Cloud или вызовом gRPC API CloudService/BindAccessPolicy.
Созданная политика авторизации будет применяться к ресурсам внутри всех каталогов в пределах заданного облака.
Посмотреть список политик авторизации облака
Чтобы посмотреть список политик авторизации, созданных для облака:
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
Выполните команду, указав имя или идентификатор облака, для которого вы хотите посмотреть созданные политики:
yc resource-manager cloud list-access-policy-bindings <имя_или_идентификатор_облака>
Результат:
+---------------------------------------------+-------------------------------------------------+
| ACCESS POLICY TEMPLATE ID | PARAMETERS |
+---------------------------------------------+-------------------------------------------------+
| backup.denyRemoveProtection | |
| serverless.containers.restrictNetworkAccess | allowed_vpc_network_ids=[enphfcfseu9i********], |
| | allowed_src_ips=[192.168.1.12/24] |
+---------------------------------------------+-------------------------------------------------+
Воспользуйтесь методом REST API listAccessPolicyBindings для ресурса Cloud или вызовом gRPC API CloudService/ListAccessPolicyBindings.
Удалить политику авторизации, созданную для облака
Чтобы удалить политику авторизации, созданную для облака:
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Получите список идентификаторов шаблонов политик авторизации, назначенных на облако.
-
Выполните команду:
yc resource-manager cloud unbind-access-policy \ --name <имя_облака> \ --access-policy-template-id=<идентификатор_шаблона_политики>Где:
--name— имя облака, для которого вы хотите удалить политику. Вместо имени облака вы можете указать его идентификатор в параметре--id.--access-policy-template-id— идентификатор шаблона политики авторизации, которую вы хотите удалить у указанного облака.
-
Убедитесь, что политика была удалена.
Terraform
Terraform распространяется под лицензией Business Source License
Подробная информация о ресурсах провайдера в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
В конфигурации найдите ресурс
yandex_resource_manager_cloud_iam_policy_bindingс идентификаторами нужного шаблона политики вaccess_policy_template_idи облака вcloud_id. -
Удалите блок этого ресурса. Сам ресурс облака удалять не нужно.
-
Примените конфигурацию:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Убедитесь, что план удаляет только нужную привязку политики. Эти инструкции применимы к привязке, которой управляет текущая конфигурация { TF }.
-
Воспользуйтесь методом REST API unbindAccessPolicy для ресурса Cloud или вызовом gRPC API CloudService/UnbindAccessPolicy.
Указанная политика авторизации перестанет применяться к ресурсам внутри всех каталогов в пределах заданного облака.