使用Terraform創(chuàng)建一個RAM用戶
本文介紹如何使用Terraform創(chuàng)建一個RAM用戶。
本教程所含示例代碼支持一鍵運行,您可以直接運行代碼。一鍵運行
前提條件
在開始之前,請您確保完成以下操作:
使用Terraform,您需要一個阿里云賬號和訪問密鑰(AccessKey)。 請在阿里云控制臺中的AccessKey管理頁面上創(chuàng)建和查看您的AccessKey。
已經(jīng)安裝并配置了Terraform,具體操作請參見在本地安裝和配置Terraform和在Cloud Shell中使用Terraform。
方式一:通過Terraform Resource創(chuàng)建
創(chuàng)建RAM用戶。
創(chuàng)建terraform.tf文件,輸入以下內(nèi)容,并保存在當前的執(zhí)行目錄中。
resource "alicloud_ram_user" "user" { name = "user_test" display_name = "TestAccount" mobile = "86-18688888888" email = "example@example.com" comments = "yoyoyo" force = true }
運行terraform apply開始創(chuàng)建。
運行terraform show查看已創(chuàng)建的RAM用戶,您也可以登錄RAM控制臺查看創(chuàng)建的用戶。
指定控制臺登錄密碼。
在terraform.tf文件中增加以下內(nèi)容。
resource "alicloud_ram_login_profile" "profile" { user_name = alicloud_ram_user.user.name password = "!Test@123456" }
運行terraform apply開始創(chuàng)建。
運行terraform show查看賬戶密碼安全策略,您也可以用創(chuàng)建的新用戶登錄RAM控制臺查看賬戶密碼安全策略。
創(chuàng)建訪問密鑰AccessKey。
在terraform.tf文件中增加以下內(nèi)容。
resource "alicloud_ram_access_key" "ak" { user_name = alicloud_ram_user.user.name secret_file = "accesskey.txt" # 保存AccessKey的文件名 }
運行terraform apply開始創(chuàng)建。
打開accesskey.txt查看創(chuàng)建的訪問密鑰。
創(chuàng)建RAM用戶組。
在terraform.tf文件中增加以下內(nèi)容。
resource "alicloud_ram_group" "group" { name = "test_ram_group" force = true }
運行terraform apply開始創(chuàng)建。
運行terraform show查看創(chuàng)建的RAM用戶組,您也可以登錄RAM控制臺查看創(chuàng)建的RAM用戶組。
將用戶加入用戶組中。
在terraform.tf文件中增加以下內(nèi)容。
resource "alicloud_ram_group_membership" "membership" { group_name = alicloud_ram_group.group.name user_names = [alicloud_ram_user.user.name] }
運行terraform apply開始創(chuàng)建。
運行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一鍵創(chuàng)建
為了更快捷的創(chuàng)建RAM資源,阿里云提供了Terraform Module:terraform-alicloud-ram。簡單使用示例如下:
module "ram_user" {
// 引用module源地址
source = "terraform-alicloud-modules/ram/alicloud"
// RAM用戶名
name = "terraformtest1"
// 是否創(chuàng)建控制臺登錄憑證
create_ram_user_login_profile = false
// 是否創(chuàng)建accesskey
create_ram_access_key = false
// 是否賦予管理員權限
is_admin = false
}
當create_ram_access_key為true時,會在當前路徑下生成文件secret.txt存放密鑰信息;is_admin為true時,會自動為用戶授予某些管理權限。