Создание OBS-бакета и настройка прав с помощью Enterprise проекта
Добавьте в конфигурационный файл блок кода, который создаст пользователя, группу и включит созданного пользователя в эту группу:
resource "sbercloud_identity_user" "obs_user" {name = "OBS_User"description = "OBS user created by terraform"}resource "sbercloud_identity_group" "obs_admin_group" {name = "obs_admin_group"}resource "sbercloud_identity_group_membership" "obs_group_membership" {group = sbercloud_identity_group.obs_admin_group.idusers = [sbercloud_identity_user. obs_user.id]}Добавьте в конфигурационный файл блок кода, который создаст Enterprise-проект, роль с правами на операции с OBS и добавит группу с правами, описанными в роли, в Enterprise-проект.
ПримечаниеКоманда terraform destroy не удаляет Enterprise-проект, а переводит его в состояние «disabled». Если нужно пересоздать Enterprise-проект после выполнения terraform destroy, импортируйте его с помощью команды terraform import с указанием id проекта. Например:
terraform import sbercloud_enterprise_project.ep_obs_bucket id enterprise_project_idresource "sbercloud_identity_role" "obs_admin_role" {name = "OBS_Admin"description = "created by terraform"type = "AX"policy = <<EOF{"Version": "1.1","Statement": [{"Action": ["obs:*:*"],"Effect": "Allow"}]}EOF}resource "sbercloud_enterprise_project" "ep_obs_bucket" {name = "obs_bucket"}resource "sbercloud_identity_role_assignment" "obs_role_assign" {group_id = sbercloud_identity_group.obs_admin_group.idrole_id = sbercloud_identity_role.obs_admin_role.identerprise_project_id = sbercloud_enterprise_project.ep_obs_bucket.id}Добавьте в конфигурационный файл блок кода, который создаст OBS-бакет и присвоит ему Enterprise-проект:
resource "sbercloud_obs_bucket" "obs_bucket" {bucket = "my-tf-test-bucket"acl = "private"enterprise_project_id = sbercloud_enterprise_project.ep_obs_bucket.id}Полный пример конфигурационного файла
Была ли статья полезной ?
Предыдущая статья
Сценарии использования
Следующая статья
Создание CCE-кластера и пула узлов