使用Terraform创建一个RAM用户
本文介绍如何使用Terraform创建一个RAM用户。
本教程所含示例代码支持一键运行,您可以直接运行代码。一键运行
前提条件
在开始之前,请您确保完成以下操作:
使用Terraform,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
已经安装并配置了Terraform,具体操作请参见在本地安装和配置Terraform和在Cloud Shell中使用Terraform。
方式一:通过Terraform Resource创建
创建RAM用户。
创建terraform.tf文件,输入以下内容,并保存在当前的执行目录中。
resource "alicloud_ram_user" "user" { name = "user_test" display_name = "TestAccount" mobile = "86-18688888888" email = "example@example.com" comments = "yoyoyo" force = true }
运行terraform apply开始创建。
运行terraform show查看已创建的RAM用户,您也可以登录RAM控制台查看创建的用户。
指定控制台登录密码。
在terraform.tf文件中增加以下内容。
resource "alicloud_ram_login_profile" "profile" { user_name = alicloud_ram_user.user.name password = "!Test@123456" }
运行terraform apply开始创建。
运行terraform show查看账户密码安全策略,您也可以用创建的新用户登录RAM控制台查看账户密码安全策略。
创建访问密钥AccessKey。
在terraform.tf文件中增加以下内容。
resource "alicloud_ram_access_key" "ak" { user_name = alicloud_ram_user.user.name secret_file = "accesskey.txt" # 保存AccessKey的文件名 }
运行terraform apply开始创建。
打开accesskey.txt查看创建的访问密钥。
创建RAM用户组。
在terraform.tf文件中增加以下内容。
resource "alicloud_ram_group" "group" { name = "test_ram_group" force = true }
运行terraform apply开始创建。
运行terraform show查看创建的RAM用户组,您也可以登录RAM控制台查看创建的RAM用户组。
将用户加入用户组中。
在terraform.tf文件中增加以下内容。
resource "alicloud_ram_group_membership" "membership" { group_name = alicloud_ram_group.group.name user_names = [alicloud_ram_user.user.name] }
运行terraform apply开始创建。
运行terraform show查看RAM用户组下的用户,您也可以登录RAM控制台查看RAM用户组下的用户。
完整代码如下:
当前示例代码支持一键运行,您可以直接运行代码。一键运行
resource "alicloud_ram_user" "user" {
name = "user_test"
display_name = "TestAccount"
mobile = "86-18688888888"
email = "example@example.com"
comments = "yoyoyo"
force = true
}
resource "alicloud_ram_login_profile" "profile" {
user_name = alicloud_ram_user.user.name
password = "!Test@123456"
}
resource "alicloud_ram_access_key" "ak" {
user_name = alicloud_ram_user.user.name
secret_file = "accesskey.txt" # 保存AccessKey的文件名
}
resource "alicloud_ram_group" "group" {
name = "test_ram_group"
force = true
}
resource "alicloud_ram_group_membership" "membership" {
group_name = alicloud_ram_group.group.name
user_names = [alicloud_ram_user.user.name]
}
方式二:通过Terraform Module一键创建
为了更快捷的创建RAM资源,阿里云提供了Terraform Module:terraform-alicloud-ram。简单使用示例如下:
module "ram_user" {
// 引用module源地址
source = "terraform-alicloud-modules/ram/alicloud"
// RAM用户名
name = "terraformtest1"
// 是否创建控制台登录凭证
create_ram_user_login_profile = false
// 是否创建accesskey
create_ram_access_key = false
// 是否赋予管理员权限
is_admin = false
}
当create_ram_access_key为true时,会在当前路径下生成文件secret.txt存放密钥信息;is_admin为true时,会自动为用户授予某些管理权限。