使用Terraform创建一个RAM用户

更新时间:

本文介绍如何使用Terraform创建一个RAM用户。

说明

本教程所含示例代码支持一键运行,您可以直接运行代码。一键运行

前提条件

在开始之前,请您确保完成以下操作:

  • 使用Terraform,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。

  • 已经安装并配置了Terraform,具体操作请参见在本地安装和配置Terraform和在Cloud Shell中使用Terraform。

方式一:通过Terraform Resource创建

  1. 创建RAM用户。

    1. 创建terraform.tf文件,输入以下内容,并保存在当前的执行目录中。

      resource "alicloud_ram_user" "user" {
        name         = "user_test"
        display_name = "TestAccount"
        mobile       = "86-18688888888"
        email        = "example@example.com"
        comments     = "yoyoyo"
        force        = true                   
      }
    2. 运行terraform apply开始创建。

    3. 运行terraform show查看已创建的RAM用户,您也可以登录RAM控制台查看创建的用户。

  2. 指定控制台登录密码。

    1. terraform.tf文件中增加以下内容。

      resource "alicloud_ram_login_profile" "profile" {
        user_name = alicloud_ram_user.user.name
        password  = "!Test@123456"
      }
    2. 运行terraform apply开始创建。

    3. 运行terraform show查看账户密码安全策略,您也可以用创建的新用户登录RAM控制台查看账户密码安全策略。

  3. 创建访问密钥AccessKey。

    1. terraform.tf文件中增加以下内容。

      resource "alicloud_ram_access_key" "ak" {
        user_name   = alicloud_ram_user.user.name
        secret_file = "accesskey.txt"                # 保存AccessKey的文件名
      }
    2. 运行terraform apply开始创建。

    3. 打开accesskey.txt查看创建的访问密钥。

  4. 创建RAM用户组。

    1. terraform.tf文件中增加以下内容。

      resource "alicloud_ram_group" "group" {
        name     = "test_ram_group"
        force    = true
      }
    2. 运行terraform apply开始创建。

    3. 运行terraform show查看创建的RAM用户组,您也可以登录RAM控制台查看创建的RAM用户组。

  5. 将用户加入用户组中。

    1. terraform.tf文件中增加以下内容。

      resource "alicloud_ram_group_membership" "membership" {
        group_name = alicloud_ram_group.group.name
        user_names = [alicloud_ram_user.user.name]
      }
    2. 运行terraform apply开始创建。

    3. 运行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时,会自动为用户授予某些管理权限。