Terraform adalah alat open source yang dapat Anda gunakan untuk melihat pratinjau, mengonfigurasi, dan mengelola sumber daya cloud secara aman dan efisien. Topik ini menjelaskan cara menggunakan Terraform untuk membuat peran RAM dan menyambungkan kebijakan akses.
Kode contoh dalam tutorial ini mendukung eksekusi satu klik dan dapat dijalankan langsung. Jalankan dengan satu klik
Prasyarat
-
Untuk mengurangi risiko keamanan, kami menyarankan agar Anda menggunakan Pengguna Resource Access Management (RAM) dengan izin minimum yang diperlukan untuk melakukan operasi dalam tutorial ini. Untuk informasi selengkapnya, lihat Buat pengguna RAM dan Kelola izin pengguna RAM. Kebijakan akses yang diperlukan adalah sebagai berikut:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:GetRole", "ram:ListPoliciesForRole", "ram:ListRoles", "ram:CreateRole", "ram:DeleteRole", "ram:DetachPolicyFromRole", "ram:UpdateRole", "ram:GetPolicy", "ram:GetPolicyVersion", "ram:AttachPolicyToRole", "ram:CreatePolicy", "ram:CreatePolicyVersion", "ram:ListEntitiesForPolicy", "ram:ListPolicyVersions", "ram:DeletePolicy", "ram:DeletePolicyVersion", "ram:ListPoliciesForGroup", "ram:ListPolicies", "ram:ListPolicyAttachments" ], "Resource": "*" } ] } -
Persiapkan lingkungan Terraform. Anda dapat menggunakan salah satu metode berikut untuk menjalankan Terraform.
Gunakan Terraform di Terraform Explorer: Alibaba Cloud menyediakan lingkungan online untuk menjalankan Terraform. Anda tidak perlu menginstal Terraform. Anda dapat login untuk menggunakan dan mencoba Terraform secara online. Metode ini cocok untuk skenario ketika Anda ingin mencoba dan men-debug Terraform dengan cepat dan nyaman tanpa biaya.
Cloud Shell: Alibaba Cloud Cloud Shell telah memiliki komponen Terraform yang pra-instal dan kredensial identitas yang dikonfigurasi. Anda dapat langsung menjalankan perintah Terraform di Cloud Shell. Metode ini cocok untuk skenario ketika Anda ingin mengakses dan menggunakan Terraform dengan cepat dan nyaman dengan biaya rendah.
Instal dan konfigurasi Terraform di mesin lokal Anda: Metode ini cocok untuk skenario dengan konektivitas jaringan yang buruk atau ketika Anda memerlukan lingkungan pengembangan kustom.
Sumber daya yang digunakan
-
alicloud_ram_policy: Kebijakan akses.
-
alicloud_ram_role: Peran RAM.
-
alicloud_ram_role_policy_attachment: Memberikan izin kepada peran RAM.
Langkah 1: Buat kebijakan akses
-
Buat direktori kerja dan file konfigurasi bernama main.tf di dalam direktori tersebut. Kode berikut membuat kebijakan kustom. Salin kode tersebut ke dalam main.tf. Untuk informasi selengkapnya tentang kebijakan akses, lihat Policy Language.
resource "random_integer" "default" { min = 10000 max = 99999 } # Access policy resource "alicloud_ram_policy" "policy" { policy_name = "policy-name-${random_integer.default.result}" policy_document = <<EOF { "Statement": [ { "Action": [ "oss:ListObjects", "oss:GetObject" ], "Effect": "Deny", "Resource": [ "acs:oss:*:*:mybucket", "acs:oss:*:*:mybucket/*" ] } ], "Version": "1" } EOF description = "this is a policy test" force = true } -
Jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.
terraform initJika informasi berikut dikembalikan, inisialisasi berhasil.
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. -
Jalankan perintah berikut untuk mengeksekusi kode.
terraform applySaat diminta, masukkan
yesdan tekan tombol Enter. Tunggu hingga perintah selesai. Jika informasi berikut dikembalikan, kode berhasil dieksekusi.You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure. 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: 2 added, 0 changed, 0 destroyed. -
Verifikasi hasilnya.
Jalankan perintah terraform show
Di direktori kerja, jalankan perintah berikut untuk mengkueri detail sumber daya yang dibuat oleh Terraform:
terraform show
Lihat di Konsol
Masuk ke Konsol Resource Access Management (RAM), lalu navigasikan ke halaman untuk melihat kebijakan akses yang telah dibuat.

Langkah 2: Buat dan otorisasi peran RAM
-
Tambahkan kode berikut ke file
main.tf.# RAM role resource "alicloud_ram_role" "role" { name = "role-name-${random_integer.default.result}" document = <<EOF { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "apigateway.aliyuncs.com", "ecs.aliyuncs.com" ] } } ], "Version": "1" } EOF description = "this is a role test." force = true } # Grant permissions to the RAM role resource "alicloud_ram_role_policy_attachment" "attach" { policy_name = alicloud_ram_policy.policy.policy_name role_name = alicloud_ram_role.role.name policy_type = alicloud_ram_policy.policy.type } -
Buat rencana eksekusi dan pratinjau perubahan.
terraform plan -
Jalankan perintah berikut untuk mengeksekusi kode.
terraform applySaat diminta, masukkan
yesdan tekan tombol Enter. Tunggu hingga perintah selesai. Jika informasi berikut dikembalikan, kode berhasil dieksekusi.Apply complete! Resources: 2 added, 0 changed, 0 destroyed. -
Verifikasi hasilnya.
Jalankan perintah terraform show
Di direktori kerja, jalankan perintah berikut untuk mengkueri detail sumber daya yang dibuat oleh Terraform:
terraform show
Lihat di Konsol
-
Login ke Konsol Resource Access Management (RAM). Buka halaman untuk melihat peran RAM yang telah dibuat.

-
Klik untuk melihat izin dari peran RAM tersebut.

-
Bersihkan sumber daya
Jika Anda tidak lagi memerlukan sumber daya yang dibuat menggunakan Terraform, jalankan perintah berikut untuk melepaskannya. Untuk informasi selengkapnya tentang terraform destroy, lihat Perintah umum.
terraform destroy
Contoh lengkap
Kode contoh dalam tutorial ini mendukung eksekusi satu klik dan dapat dijalankan langsung. Jalankan dengan satu klik
Kode contoh
Untuk contoh lengkap lainnya, lihat folder spesifik produk di Contoh lengkap lainnya.