All Products
Search
Document Center

Key Management Service:Membeli dan mengaktifkan instans manajemen kunci perangkat lunak dengan Terraform

Last Updated:Jan 22, 2026

Topik ini menjelaskan cara menggunakan Terraform untuk membeli dan mengaktifkan instans manajemen kunci perangkat lunak di Key Management Service (KMS).

Ikhtisar

Saat membeli dan mengaktifkan instans manajemen kunci perangkat lunak, Anda harus menyambungkan virtual private cloud (VPC) dan vSwitch ke instans tersebut. Anda juga dapat mengaitkan beberapa VPC dengan instans KMS. Setelah konfigurasi selesai, sertifikat instans CA akan dibuat. Simpan sertifikat ini di lokasi yang aman dan gunakan untuk mengonfigurasi aplikasi yang perlu mengakses instans KMS.

Persiapan

  1. Persiapkan pengguna RAM dan berikan izin

    Demi keamanan, kami menyarankan agar Anda menggunakan pengguna Resource Access Management (RAM) alih-alih akun Alibaba Cloud Anda.

    1. Buat pengguna RAM: Untuk informasi selengkapnya, lihat Buat pengguna RAM.

    2. Buat AccessKey: Buat dan catat AccessKey untuk pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Buat AccessKey.

    3. Berikan izin kepada pengguna RAM: Terraform memerlukan izin AliyunKMSFullAccess, AliyunVPCFullAccess, dan AliyunBSSFullAccess untuk membuat dan mengelola sumber daya cloud. Untuk menerapkan prinsip hak istimewa minimal, gunakan kebijakan kustom berikut untuk otorisasi. Untuk informasi selengkapnya, lihat Berikan izin kepada pengguna RAM.

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "kms:*"
            ],
            "Resource": [
              "*"
            ]
          },
          {
            "Effect": "Allow",
            "Action": [
              "vpc:CreateVpc",
              "vpc:CreateVSwitch",
              "vpc:DescribeNatGateways",
              "vpc:DeleteVpc",
              "vpc:DeleteVSwitch"
            ],
            "Resource": [
              "*"
            ]
          },
          {
            "Effect": "Allow",
            "Action": [
              "vpc:DescribeVpcAttribute",
              "vpc:DescribeVSwitchAttributes",
              "vpc:DescribeRouteTableList"
            ],
            "Resource": [
              "*"
            ]
          },
          {
            "Effect": "Allow",
            "Action": [
              "bss:*",
              "bssapi:*"
            ],
            "Resource": [
              "*"
            ]
          }
        ]
      }
  2. Persiapkan lingkungan runtime Terraform

    Anda dapat menjalankan Terraform dengan salah satu cara berikut:

    Penting

    Pastikan versi Terraform Anda adalah v0.12.28 atau lebih baru. Anda dapat menjalankan perintah terraform --version untuk memeriksa versinya.

    1. Terraform Explorer: Lingkungan runtime online yang disediakan oleh Alibaba Cloud. Anda dapat langsung menggunakannya setelah masuk, tanpa perlu instalasi. Metode ini cocok untuk skenario di mana Anda ingin mencoba Terraform secara cepat tanpa biaya.

    2. Cloud Shell: Terraform telah dipra-instal di Cloud Shell, dan kredensial identitas Anda dikonfigurasi secara otomatis. Metode ini cocok untuk skenario di mana Anda ingin menjalankan perintah dengan cepat dan mudah di cloud.

    3. Instal dan konfigurasi Terraform secara lokal: Metode ini cocok untuk skenario dengan konektivitas jaringan yang buruk atau ketika diperlukan lingkungan pengembangan kustom.

  3. Periksa versi Provider Aliyun/Alicloud

    Beberapa fitur memiliki persyaratan versi tertentu untuk provider Aliyun/Alicloud:

    • Atur perpanjangan otomatis saat pembuatan: Untuk mengatur perpanjangan otomatis saat membuat instans KMS, versi provider harus 1.245.0 atau lebih baru.

    • Ubah menjadi perpanjangan otomatis: Untuk mengubah metode perpanjangan instans KMS yang sudah ada dari perpanjangan manual menjadi perpanjangan otomatis, versi provider harus 1.257.0 atau lebih baru.

Sumber daya yang digunakan

Penting

Beberapa sumber daya yang digunakan dalam tutorial ini dikenai biaya. Segera hapus sumber daya tersebut jika tidak lagi diperlukan.

Membeli dan mengaktifkan instans manajemen kunci perangkat lunak menggunakan Terraform

Contoh ini membuat dan mengaktifkan instans KMS.

Catatan

Saat mengaktifkan instans manajemen kunci perangkat lunak menggunakan Terraform, Anda hanya dapat mengonfigurasi satu vSwitch.

  1. Buat direktori kerja dan buat file konfigurasi bernama main.tf di direktori tersebut. main.tf adalah file utama Terraform yang mendefinisikan sumber daya yang akan diterapkan.

    variable "region" {
      default = "ap-southeast-1"
    }
    
    provider "alicloud" {
      region = var.region
    }
    variable "instance_name" {
      default = "tf-kms-vpc-172-16"
    }
    
    variable "instance_type" {
      default = "ecs.e-c1m2.large"
    }
    # Gunakan data source untuk mendapatkan informasi tentang zona yang tersedia. Sumber daya hanya dapat dibuat di zona yang ditentukan.
    data "alicloud_zones" "default" {
      available_disk_category     = "cloud_efficiency"
      available_resource_creation = "VSwitch"
      available_instance_type     = var.instance_type
    }
    # Buat VPC.
    resource "alicloud_vpc" "vpc" {
      vpc_name   = var.instance_name
      cidr_block = "172.16.0.0/12"
    }
    # Buat vSwitch dengan blok CIDR 172.16.0.0/21.
    resource "alicloud_vswitch" "vsw" {
      vpc_id     = alicloud_vpc.vpc.id
      cidr_block = "172.16.0.0/21"
      zone_id    = data.alicloud_zones.default.zones.0.id
      vswitch_name = "terraform-example-1"
    }
    # Buat instans manajemen kunci perangkat lunak KMS dan mulai dengan parameter jaringan.
    resource "alicloud_kms_instance" "default" {
      # Instans manajemen kunci perangkat lunak.
      product_version = "3"
      vpc_id          = alicloud_vpc.vpc.id
      # Tentukan zona tempat instans KMS berada. Gunakan ID zona yang telah diperoleh.
      zone_ids = [
        data.alicloud_zones.default.zones.0.id,
        data.alicloud_zones.default.zones.1.id
      ]
      # ID vSwitch.
      vswitch_ids = [
        alicloud_vswitch.vsw.id
      ]
      # Performa komputasi, jumlah kunci, jumlah rahasia, dan jumlah permintaan akses terkelola.
      vpc_num    = "1"
      key_num    = "1000"
      secret_num = "100"
      spec       = "1000"
      # Opsional. Kaitkan VPC lain dengan instans KMS.
      # Jika VPC dan VPC instans KMS dimiliki oleh akun Alibaba Cloud yang berbeda, Anda harus terlebih dahulu berbagi vSwitch.
      #bind_vpcs {
      #vpc_id = "vpc-j6cy0l32yz9ttxfy6****"
      #vswitch_id = "vsw-j6cv7rd1nz8x13ram****"
      #region_id = "ap-southeast-1"
      #vpc_owner_id = "119285303511****"
      #}
      #bind_vpcs {
      #vpc_id = "vpc-j6cy0l32yz9ttd7g3****"
      #vswitch_id = "vsw-3h4yrd1nz8x13ram****"
      #region_id = "ap-southeast-1"
      #vpc_owner_id = "119285303511****"
      #}
    }
    
    # Simpan sertifikat CA instans KMS ke file lokal.
    resource "local_file" "ca_certificate_chain_pem" {
      content  = alicloud_kms_instance.default.ca_certificate_chain_pem
      filename = "ca.pem"
    }
  2. Jalankan perintah berikut untuk menginisialisasi lingkungan runtime Terraform.

    terraform init

    Keluaran berikut menunjukkan bahwa Terraform telah diinisialisasi.

    ...
    
    Terraform has been successfully initialized!
    
    You may now begin working with Terraform. Try running "terraform plan" to see any changes...
  3. Buat rencana eksekusi dan pratinjau perubahan.

    terraform plan
  4. Jalankan perintah berikut untuk membuat instans KMS.

    terraform apply

    Saat diminta, masukkan yes dan tekan tombol Enter. Keluaran berikut menunjukkan bahwa instans KMS telah dibuat.

    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    
    ...
    
    Apply complete! Resources: 4 added, 0 changed, 0 destroyed.
  5. Verifikasi hasilnya.

    Jalankan perintah terraform show

    Anda dapat menjalankan perintah berikut untuk menanyakan detail sumber daya yang dibuat oleh Terraform:

    terraform show

    Masuk ke konsol Key Management Service

    Masuk ke konsol Key Management Service dan lihat instans KMS yang telah Anda buat.

Bersihkan sumber daya

Jika Anda tidak lagi memerlukan sumber daya yang dibuat oleh Terraform, jalankan perintah berikut untuk menghapusnya. Untuk informasi selengkapnya tentang terraform destroy, lihat Perintah umum.

terraform destroy

Contoh lengkap

Catatan

Anda dapat menjalankan kode contoh dalam topik ini secara langsung dengan sekali klik. Jalankan dengan sekali klik

Kode contoh

variable "region" {
  default = "ap-southeast-1"
}

provider "alicloud" {
  region = var.region
}
variable "instance_name" {
  default = "tff-kms-vpc-172-16"
}

variable "instance_type" {
  default = "ecs.e-c1m2.large"
}
# Gunakan data source untuk mendapatkan informasi tentang zona yang tersedia. Sumber daya hanya dapat dibuat di zona yang ditentukan.
data "alicloud_zones" "default" {
  available_disk_category     = "cloud_efficiency"
  available_resource_creation = "VSwitch"
  available_instance_type     = var.instance_type
}
# Buat VPC.
resource "alicloud_vpc" "vpc" {
  vpc_name   = var.instance_name
  cidr_block = "172.16.0.0/12"
}
# Buat vSwitch dengan blok CIDR 172.16.0.0/21.
resource "alicloud_vswitch" "vsw" {
  vpc_id     = alicloud_vpc.vpc.id
  cidr_block = "172.16.0.0/21"
  zone_id    = data.alicloud_zones.default.zones.0.id
  vswitch_name = "terraform-example-1"
}
# Buat instans manajemen kunci perangkat lunak KMS dan mulai dengan parameter jaringan.
resource "alicloud_kms_instance" "default" {
  # Instans manajemen kunci perangkat lunak.
  product_version = "3"
  vpc_id          = alicloud_vpc.vpc.id
  # Tentukan zona tempat instans KMS berada. Gunakan ID zona yang telah diperoleh.
  zone_ids = [
    data.alicloud_zones.default.zones.0.id,
    data.alicloud_zones.default.zones.1.id
  ]
  # ID vSwitch.
  vswitch_ids = [
    alicloud_vswitch.vsw.id
  ]
  # Performa komputasi, jumlah kunci, jumlah rahasia, dan jumlah permintaan akses terkelola.
  vpc_num    = "1"
  key_num    = "1000"
  secret_num = "100"
  spec       = "1000"
  # Kaitkan VPC lain dengan instans KMS.
  # Jika VPC dan VPC instans KMS dimiliki oleh akun Alibaba Cloud yang berbeda, Anda harus terlebih dahulu berbagi vSwitch.
  #bind_vpcs {
  #vpc_id = "vpc-j6cy0l32yz9ttxfy6****"
  #vswitch_id = "vsw-j6cv7rd1nz8x13ram****"
  #region_id = "ap-southeast-1"
  #vpc_owner_id = "119285303511****"
  #}
  #bind_vpcs {
  #vpc_id = "vpc-j6cy0l32yz9ttd7g3****"
  #vswitch_id = "vsw-3h4yrd1nz8x13ram****"
  #region_id = "ap-southeast-1"
  #vpc_owner_id = "119285303511****"
  #}
}
# Simpan sertifikat CA instans KMS ke file lokal.
resource "local_file" "ca_certificate_chain_pem" {
  content  = alicloud_kms_instance.default.ca_certificate_chain_pem
  filename = "ca.pem"
}