Pelajari cara membeli dan mengaktifkan instans manajemen kunci perangkat lunak KMS menggunakan Terraform.
Ikhtisar
Instans manajemen kunci perangkat lunak memerlukan VPC dan vSwitch. Anda juga dapat mengaitkan beberapa VPC dengan instans tersebut. Setelah konfigurasi selesai, sertifikat CA instans akan dihasilkan. Simpan sertifikat ini dengan aman—aplikasi yang mengakses instans KMS memerlukannya.
Persiapan
-
Siapkan RAM user dan berikan izin
Untuk keamanan, gunakan RAM user alih-alih Akun Alibaba Cloud Anda.
-
Buat RAM user: Buat RAM user.
-
Buat AccessKey: Buat dan catat AccessKey untuk RAM user tersebut. Buat AccessKey.
-
Berikan izin kepada RAM user: Terraform memerlukan AliyunKMSFullAccess, AliyunVPCFullAccess, dan AliyunBSSFullAccess. Untuk menerapkan prinsip hak istimewa minimal, terapkan kebijakan kustom berikut. Berikan izin kepada RAM user.
{ "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": [ "*" ] } ] }
-
-
Siapkan lingkungan runtime Terraform
Jalankan Terraform dengan salah satu cara berikut:
PentingDiperlukan Terraform
v0.12.28atau versi yang lebih baru. Jalankanterraform --versionuntuk memverifikasi.-
Terraform Explorer: Lingkungan daring dari Alibaba Cloud. Masuk untuk langsung menggunakannya—tidak perlu instalasi. Paling cocok untuk uji coba cepat tanpa biaya.
-
Cloud Shell: Terraform telah dipra-instal dan kredensial dikonfigurasi secara otomatis. Paling cocok untuk eksekusi berbasis cloud yang cepat.
-
Instal dan konfigurasi Terraform secara lokal: Paling cocok untuk lingkungan dengan konektivitas terbatas atau kebutuhan penyiapan khusus.
-
-
Periksa versi provider Aliyun/Alicloud
Beberapa fitur memerlukan versi minimum provider Aliyun/Alicloud:
-
Atur perpanjangan otomatis saat pembuatan: Memerlukan provider
1.245.0atau lebih baru. -
Ubah menjadi perpanjangan otomatis: Memerlukan provider
1.257.0atau lebih baru.
-
Resource yang digunakan
-
alicloud_vpc: Membuat virtual private cloud (VPC).
-
alicloud_vswitch: Membuat virtual switch (vSwitch) untuk membagi VPC menjadi satu atau beberapa subnet.
-
alicloud_zones: Melakukan kueri terhadap zona yang tersedia.
-
alicloud_kms_instance: Membeli dan mengaktifkan instans manajemen kunci perangkat lunak.
Beberapa resource dalam tutorial ini dikenai biaya. Lepaskan resource tersebut jika sudah tidak diperlukan.
Beli dan aktifkan instans manajemen kunci perangkat lunak menggunakan Terraform
Contoh ini membuat dan mengaktifkan instans KMS.
Saat Anda mengaktifkan instans manajemen kunci perangkat lunak menggunakan Terraform, Anda hanya dapat mengonfigurasi satu vSwitch.
-
Buat direktori kerja dan buat file konfigurasi bernama
main.tfdi dalam direktori tersebut. main.tf adalah file utama Terraform yang mendefinisikan resource yang akan dideploy.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 memperoleh informasi tentang zona yang tersedia. Resource 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 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" } -
Inisialisasi lingkungan runtime
Terraform.terraform initInisialisasi yang berhasil menghasilkan output berikut.
... Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes... -
Buat rencana eksekusi dan pratinjau perubahan.
terraform plan -
Buat instans KMS.
terraform applyMasukkan
yessaat diminta dan tekan Enter. Output berikut mengonfirmasi 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. -
Verifikasi hasilnya.
Jalankan perintah terraform show
Lakukan kueri detail resource yang dibuat oleh Terraform:
terraform showMasuk ke Konsol Key Management Service
Masuk ke Konsol Key Management Service. Di halaman Instance Management, ikuti Application Integration Guide: Authorize Application Access, Obtain Instance CA Certificate, dan Complete Application Adaptation. Fokus pada dua langkah terakhir. Tab Software Key Management menampilkan daftar instans KMS Anda beserta kapasitas kunci, kapasitas rahasia, waktu pembuatan, metode penagihan, dan status kedaluwarsa. Anda dapat melihat Details, mengelola Resource Sharing, atau memulai Renewal.
Bersihkan resource
Untuk melepas resource yang dibuat oleh Terraform dan tidak lagi diperlukan, jalankan perintah berikut. Penggunaan terraform destroy dijelaskan dalam Common commands.
terraform destroy
Contoh lengkap
Jalankan kode contoh secara langsung dengan sekali klik. Jalankan dengan sekali klik