All Products
Search
Document Center

Auto Scaling:Gunakan tag untuk mengelola izin grup penskalaan

Last Updated:Jun 21, 2026

Auto Scaling memungkinkan Anda mengkategorikan dan mengontrol akses ke grup penskalaan menggunakan tag. Anda dapat memberikan izin detail halus kepada satu atau beberapa grup penskalaan yang memiliki tag tertentu. Topik ini menjelaskan cara menggunakan otentikasi berbasis tag untuk mengelola izin Pengguna RAM guna meningkatkan efisiensi manajemen dan mengurangi risiko kebocoran data.

Latar Belakang

  • Tag adalah pengidentifikasi sumber daya cloud. Anda dapat menggunakannya untuk mengkategorikan, mencari, dan mengagregasi sumber daya cloud yang memiliki karakteristik serupa dari berbagai dimensi. Untuk informasi selengkapnya, lihat Tags.

  • Resource Access Management (RAM) memungkinkan Anda mengelola identitas pengguna serta mengontrol akses dan operasi terhadap sumber daya cloud berdasarkan kebijakan. Untuk informasi selengkapnya, lihat What is RAM?.

Dengan menggunakan tag sebagai kondisi dalam kebijakan Resource Access Management (RAM), Anda dapat menerapkan kontrol detail halus terhadap Auto Scaling.

Gambar berikut menunjukkan cara menggunakan tag untuk mengelola akses sumber daya dan izin operasi Pengguna RAM, yang dikenal sebagai otentikasi berbasis tag.

API yang tidak mendukung otentikasi berbasis tag

Setelah Anda menyambungkan kebijakan untuk otentikasi berbasis tag ke Pengguna RAM, otentikasi berbasis tag tidak didukung ketika Pengguna RAM memanggil operasi API berikut untuk mengelola Auto Scaling.

API

Dukungan otentikasi berbasis tag

DescribeRegions

No

Untuk tugas terjadwal yang tidak dikaitkan dengan grup penskalaan:

  • CreateScheduledTask

  • ModifyScheduledTask

  • DescribeScheduledTasks

  • DeleteScheduledTask

No

Untuk tugas berbasis peristiwa yang tidak dikaitkan dengan grup penskalaan:

  • CreateAlarm

  • DescribeAlarms

  • ModifyAlarm

  • EnableAlarm

  • DeleteAlarm

No

Skenario contoh

Topik ini menggunakan skenario berikut untuk menunjukkan cara menerapkan otentikasi berbasis tag.

Asumsikan Anda telah membuat dua grup penskalaan untuk pengembangan game. Setiap grup penskalaan diberi tag berdasarkan lingkungan dan tim. Anda perlu memberikan izin tertentu kepada Pengguna RAM pada grup penskalaan berikut:

Grup penskalaan

Nama

Tag

Grup penskalaan 1

asg-001

  • Tag 1: environment:test, di mana kunci tag adalah environment dan nilai tag adalah test.

  • Tag 2: team:game1, di mana kunci tag adalah team dan nilai tag adalah game1.

Grup penskalaan 2

asg-002

  • Tag 1: environment:dev, di mana kunci tag adalah environment dan nilai tag adalah dev.

  • Tag 2: team:game2, di mana kunci tag adalah team dan nilai tag adalah game2.

Kebutuhan kontrol akses spesifik adalah sebagai berikut:

  • Skenario 1: Anda tidak dapat membuat grup penskalaan tanpa tag. Grup penskalaan 1 hanya dapat dibuat jika Anda menambahkan tag environment:test dan team:game1 saat pembuatan.

  • Skenario 2: Saat melakukan kueri terhadap grup penskalaan, Anda hanya dapat melihat sumber daya dari grup penskalaan 1, yang dikaitkan dengan tag environment:test dan team:game1.

  • Skenario 3: Anda hanya diizinkan mengelola sumber daya dalam grup penskalaan 1 (dengan tag environment:test dan team:game1), tetapi tidak diizinkan mengelola sumber daya dalam grup penskalaan 2 (dengan tag environment:dev dan team:game2).

Prosedur

Catatan

Sebelum memulai, pastikan Anda telah membuat Pengguna RAM. Untuk informasi selengkapnya, lihat Create a RAM user.

  1. Buat dua grup penskalaan.

    Untuk informasi selengkapnya, lihat Configure scaling groups. Lihat Example scenario untuk detail tentang grup penskalaan tersebut.

  2. Masuk ke RAM console.

  3. Buat kebijakan kustom.

    Untuk informasi selengkapnya, lihat Create a custom policy.

    Anda dapat menetapkan beberapa kondisi tag untuk sumber daya cloud dalam blok Condition kebijakan guna membatasi izin melakukan operasi pada sumber daya Auto Scaling. Kondisi otentikasi berbasis tag yang didukung:

    Kondisi berbasis tag

    Deskripsi

    acs:RequestTag

    Memeriksa apakah permintaan mencakup tag tertentu.

    Jika permintaan API tidak mencakup parameter tag apa pun, penggunaan acs:RequestTag akan menyebabkan otentikasi gagal.

    acs:ResourceTag

    Memeriksa apakah sumber daya yang ditentukan dalam permintaan berisi tag tertentu.

    Jika Anda menggunakan acs:ResourceTag dalam permintaan API yang tidak berisi parameter ID sumber daya, otentikasi akan gagal.

    Blok kode berikut menunjukkan contoh kebijakan lengkap:

    {
        "Version": "1",
        "Statement": [
             {
               "Effect": "Allow",
               "Action": "ess:Create*",
               "Resource": "*",
               "Condition": {
                       "StringEquals": {
                            "acs:RequestTag/environment": "test",
                            "acs:RequestTag/team": "game1"
                       }
                  }
             },
             {
                "Effect": "Allow",
                "Action": "ess:Describe*",
                "Resource": "*",
                "Condition": {
                        "StringEquals": {
                        "acs:RequestTag/environment": "test",
                        "acs:RequestTag/team": "game1"
                        }
                  }
             },
             {
                "Action": "ess:*",
                "Effect": "Allow",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/environment": "test",
                        "acs:ResourceTag/team": "game1"
                      }
                  }
             },
             {
                "Effect": "Allow",
                "Action": [
                       "ess:Describe*",
                       "ess:List*",
                       "ess:DescribeRegions",
                       "ess:CreateScheduledTask",
                       "ess:ModifyScheduledTask",
                       "ess:DescribeScheduledTasks",
                       "ess:DeleteScheduledTask",
                       "ess:CreateAlarm",
                       "ess:DescribeAlarms",
                       "ess:ModifyAlarm",
                       "ess:EnableAlarm",
                       "ess:DeleteAlarm"
                    ],
        "Resource": "*"
          }
       ]
    }
    • Skenario 1: Terapkan tag tertentu saat pembuatan grup penskalaan

      Artinya, grup penskalaan 1 hanya dapat dibuat jika tag environment:test dan team:game1 dikaitkan dengannya saat pembuatan.

      Kebijakan berikut sesuai dengan skenario ini:

      {
          "Effect": "Allow",
          "Action": "ess:Create*",
          "Resource": "*",
          "Condition": {
              "StringEquals": {
                  "acs:RequestTag/environment": "test",
                  "acs:RequestTag/team": "game1"
              }
          }
      }
    • Skenario 2: Izinkan pengguna hanya melihat grup penskalaan 1

      Artinya, jika Anda mengaitkan tag environment:test dan team:game1 ke grup penskalaan 1, hanya sumber daya grup penskalaan 1 yang dikembalikan saat Anda melakukan kueri terhadap grup penskalaan.

      Kebijakan berikut sesuai dengan skenario ini:

      {
          "Effect": "Allow",
          "Action": "ess:Describe*",
          "Resource": "*",
          "Condition": {
              "StringEquals": {
                  "acs:RequestTag/environment": "test",
                  "acs:RequestTag/team": "game1"
              }
          }
      }
    • Skenario 3: Izinkan pengguna hanya mengelola grup penskalaan 1 dan tolak akses ke grup penskalaan 2

      Misalnya, grup penskalaan 1 dikaitkan dengan tag environment:test dan team:game1, sedangkan grup penskalaan 2 dikaitkan dengan tag environment:dev dan team:game2.

      Kebijakan berikut sesuai dengan skenario ini:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "ess:*",
                  "Effect": "Allow",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "acs:ResourceTag/environment": "test",
                          "acs:ResourceTag/team": "game1"
                      }
                  }
              },
              {
                  "Action": "ess:*",
                  "Effect": "Deny",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "acs:ResourceTag/environment": "dev",
                          "acs:ResourceTag/team": "game2"
                      }
                  }
              },      
              {
                 "Effect": "Allow",
                 "Action": [
                         "ess:DescribeRegions",
                         "ess:CreateScheduledTask",
                         "ess:ModifyScheduledTask",
                         "ess:DescribeScheduledTasks",
                         "ess:DeleteScheduledTask",
                         "ess:CreateAlarm",
                         "ess:DescribeAlarms",
                         "ess:ModifyAlarm",
                         "ess:EnableAlarm",
                         "ess:DeleteAlarm"
                      ],
          "Resource": "*"
            }
         ]
      }
  4. Sambungkan kebijakan kustom ke Pengguna RAM.

    Untuk informasi selengkapnya, lihat Grant permissions to a RAM user.

  5. Verifikasi bahwa kebijakan telah berlaku.

    • Verifikasi Skenario 1 dengan membuat grup penskalaan 1

      • Grup Penskalaan 1 memiliki tag environment:test dan team:game1, sehingga dapat dibuat berhasil.

      • Jika Anda membuat grup penskalaan tanpa tag yang ditentukan, pembuatan ditolak karena izin tidak mencukupi. Kesalahan berbeda terjadi jika Auto Scaling tidak memiliki izin OpenAPI yang diperlukan: kesalahan Forbidden.Unauthorized dikembalikan dengan pesan: Pengguna belum memberikan otorisasi penuh untuk antarmuka OpenAPI ESS. Harap otorisasi dan coba lagi. Dalam kasus ini, berikan izin yang diperlukan dan ulangi operasi tersebut.

    • Verifikasi Skenario 2 dengan melakukan kueri terhadap grup penskalaan

      • Untuk grup penskalaan yang memiliki tag environment:test dan team:game1, Anda tetap dapat mengambil informasinya dengan melakukan kueri tanpa memfilter berdasarkan tag.

      • Jika Anda melakukan kueri terhadap grup penskalaan selain grup penskalaan 1 yang tidak diberi tag environment:test dan team:game1, kueri tidak mengembalikan hasil apa pun.

      • Jika Anda tidak menentukan grup penskalaan dan hanya mencari tag environment:test dan team:game1, kueri mengembalikan semua grup penskalaan yang memiliki tag tersebut.

    • Verifikasi Skenario 3 dengan menghapus grup penskalaan

      • Jika grup penskalaan 1 memiliki tag environment:test dan team:game1, Anda dapat menghapus grup penskalaan tersebut.

      • Jika grup penskalaan tidak dikaitkan dengan tag environment:test dan team:game1, atau memiliki tag lain, pesan ditampilkan yang menunjukkan bahwa Anda tidak memiliki izin untuk menghapus grup penskalaan tersebut.

Dokumen terkait