Terraform集成示例
Terraform是一种开源工具,用于安全高效地预配和管理云基础结构。您可以使用Terraform管理云SSO资源。本文为您提供通过Terraform创建云SSO用户的示例。
支持资源列表
以下是支持Terraform编排和使用云SSO的部分资源和数据源清单,请参见云SSO Terraform资源和数据源。如果您还不了解Terraform,请参见什么是Terraform。
资源类型 | 资源链接 | 说明 |
Resources | 在RD账号上授权 | |
创建访问配置 | ||
将访问配置部署到RD账号上 | ||
创建目录 | ||
创建用户组 | ||
创建SCIM密钥 | ||
创建用户 | ||
为用户组添加用户 | ||
Data Sources | 查询RD账号授权信息 | |
查询访问配置 | ||
查询目录 | ||
查询用户组 | ||
查询SCIM密钥 | ||
开通云SSO服务 | ||
查询用户 |
操作步骤
配置权限
执行Terraform模板需要RAM用户权限,我们需要创建一个RAM用户,并获取AccessKey,添加权限策略。该AccessKey会配置为Terraform工具的环境变量。您需要为RAM用户添加以下权限:
AliyunCloudSSOFullAccess:管理云SSO的权限。
阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作配置审计资源的权限。具体操作,请参见使用RAM进行访问控制。
安装Terraform
在本地安装和配置Terraform,请参见在本地安装和配置Terraform。
安装完成后,您可以打开命令行终端,在其中输入
terraform version
,若返回版本信息表示已成功安装。如果您不想安装Terraform,可以使用阿里云提供的在线服务Cloud Shell,其中内置了Terraform的运行环境。
编写模板
创建一个名为main.tf
文件,填入以下内容,用于创建一个云SSO用户。
variable "name" {
default = "tf-example"
}
provider "alicloud" {
region = "cn-shanghai"
}
data "alicloud_cloud_sso_directories" "default" {}
resource "alicloud_cloud_sso_directory" "default" {
count = length(data.alicloud_cloud_sso_directories.default.ids) > 0 ? 0 : 1
directory_name = var.name
}
locals {
directory_id = length(data.alicloud_cloud_sso_directories.default.ids) > 0 ? data.alicloud_cloud_sso_directories.default.ids[0] : concat(alicloud_cloud_sso_directory.default.*.id, [""])[0]
}
resource "alicloud_cloud_sso_user" "default" {
directory_id = local.directory_id
user_name = var.name
}
更多关于alicloud_cloud_sso_user
资源类型的配置信息,请参见云SSO Terraform资源和数据源。
运行模板
该示例以Windows操作系统为例,在其他操作系统中,运行命令的具体方式可能会有所不同。
初始化加载模块,包括Provider等模板。
terraform init
验证模板语法是否正确。
terraform validate
创建执行计划。
terraform plan
部署模板。
terraform apply
执行命令后输入
yes
即可真正变更资源。您可以通过terraform destroy
释放当前模板创建的资源。您可以通过OpenAPI、SDK或者服务目录控制台等方式,检查操作是否正确完成。