All Products
Search
Document Center

Elastic Container Instance:Gunakan tag untuk otentikasi pengguna RAM

Last Updated:May 08, 2026

Fitur ini memungkinkan Anda memberikan izin berbeda kepada pengguna yang berbeda untuk sumber daya cloud yang berbeda.

Informasi latar belakang

Anda dapat menggunakan tag untuk mengidentifikasi dan mengkategorikan sumber daya cloud. Resource Access Management (RAM) menggunakan kebijakan untuk mengontrol akses dan operasi terhadap sumber daya tersebut. Dengan menggabungkan tag dan RAM, Anda dapat menggunakan tag sebagai kondisi dalam kebijakan guna mencapai pengelolaan izin detail halus untuk sumber daya cloud.

Logika pengendalian izin pengguna RAM berdasarkan tag, juga dikenal sebagai otentikasi berbasis tag, adalah sebagai berikut:

标签鉴权逻辑

Catatan

Sumber daya ECI yang mendukung tag meliputi instans ECI, cache gambar, dan node virtual. Anda hanya dapat menyambungkan tag ke sumber daya ECI saat membuat atau memperbaruinya. Untuk informasi selengkapnya, lihat Gunakan tag untuk mengelola instans ECI.

Contoh konfigurasi

Skenario contoh

Topik ini menggunakan skenario berikut untuk menunjukkan otentikasi berbasis tag.

Asumsikan bahwa Anda perlu membatasi pengguna RAM agar hanya dapat mengoperasikan sumber daya ECI dengan tag tertentu, misalnya env:test, seperti yang ditunjukkan pada gambar berikut:标签鉴权

Persyaratan spesifiknya adalah sebagai berikut:

  • Persyaratan 1: Untuk membuat sumber daya ECI, pengguna harus memberi tag env:test saat pembuatan.

  • Persyaratan 2: Pengguna hanya dapat mengoperasikan sumber daya ECI yang diberi tag env:test.

  • Persyaratan 3: Saat melakukan kueri terhadap sumber daya ECI, pengguna hanya dapat melihat sumber daya yang diberi tag env:test.

Langkah 1: Konfigurasikan dan berikan kebijakan kustom

  1. Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda.

  2. Di panel navigasi sebelah kiri, pilih Permissions > Policies.

  3. Di halaman Policies, klik Create Policy.

  4. Konfigurasikan kebijakan kustom.

    1. Klik tab Import Policy.

    2. Pada kotak dialog yang muncul, pilih System Policy dari opsi filter di sebelah kanan. Lalu, cari dan pilih AliyunECIFullAccess, kemudian klik Import.

      AliyunECIFullAccess adalah kebijakan sistem default untuk mengelola sumber daya ECI. Kebijakan ini mencakup izin untuk mengoperasikan sumber daya ECI, melakukan kueri terhadap sumber daya terkait seperti grup keamanan dan VPC, serta membuat peran terkait layanan untuk ECI.

    3. Klik tab JSON Editor.

    4. Ubah konten kebijakan di editor, lalu klik Next to edit policy information.

      Catatan

      Kebijakan adalah seperangkat izin akses. Kebijakan terdiri atas nomor versi dan daftar pernyataan. Setiap pernyataan mencakup efek (Effect), aksi (Action), sumber daya (Resource), dan kondisi opsional (Condition). Untuk informasi selengkapnya, lihat Struktur dan sintaksis kebijakan dan Elemen kebijakan.

      Pada elemen Condition suatu kebijakan, Anda dapat menambahkan kondisi berbasis tag untuk membatasi izin. Kunci kondisi tag berikut didukung:

      Kunci kondisi tag

      Deskripsi

      acs:RequestTag

      Membatasi permintaan agar menyertakan tag tertentu.

      Jika permintaan API tidak menyertakan parameter tag, Anda tidak dapat menggunakan acs:RequestTag dalam kebijakan. Jika tidak, otentikasi gagal.

      acs:ResourceTag

      Membatasi operasi hanya pada sumber daya yang memiliki tag tertentu.

      Jika permintaan API tidak menyertakan parameter ID sumber daya, Anda tidak dapat menggunakan acs:ResourceTag dalam kebijakan. Jika tidak, otentikasi gagal.

      Catatan

      Saat merancang kebijakan izin, Anda dapat menetapkan acs:RequestTag atau acs:ResourceTag berdasarkan kebutuhan bisnis dan karakteristik operasi API, seperti apakah operasi tersebut memerlukan ID sumber daya atau mendukung pengiriman tag. Untuk informasi selengkapnya, lihat Otentikasi API.

      Untuk memenuhi persyaratan dalam skenario contoh, rancang kebijakan sebagai berikut:

      Persyaratan

      Kebijakan

      Sumber daya ECI hanya dapat dibuat jika diberi tag env:test.

      {
         "Effect": "Allow",
         "Action": "eci:Create*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        }

      Pengguna hanya dapat mengoperasikan sumber daya ECI yang diberi tag env:test.

      {
         "Effect": "Allow",
         "Action": "eci:*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:ResourceTag/env": "test"
          }
         }
        }

      Saat melakukan kueri terhadap sumber daya ECI, pengguna hanya dapat melihat sumber daya yang diberi tag env:test.

      {
         "Effect": "Allow",
         "Action": "eci:Describe*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        }

      Contoh kebijakan lengkap, yang mencakup izin dari AliyunECIFullAccess, adalah sebagai berikut:

      {
       "Version": "1",
       "Statement": [{
         "Effect": "Allow",
         "Action": "eci:Create*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        },
        {
         "Effect": "Allow",
         "Action": "eci:*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:ResourceTag/env": "test"
          }
         }
        },
        {
         "Effect": "Allow",
         "Action": "eci:Describe*",
         "Resource": "*",
         "Condition": {
          "StringEquals": {
           "acs:RequestTag/env": "test"
          }
         }
        },
        {
         "Action": [
          "ecs:DescribeSecurityGroups"
         ],
         "Resource": "*",
         "Effect": "Allow"
        },
        {
         "Action": [
          "vpc:DescribeVSwitches",
          "vpc:DescribeVpcs",
          "vpc:DescribeEipAddresses"
         ],
         "Resource": "*",
         "Effect": "Allow"
        },
        {
         "Action": "ram:CreateServiceLinkedRole",
         "Resource": "*",
         "Effect": "Allow",
         "Condition": {
          "StringEquals": {
           "ram:ServiceName": [
            "eci.aliyuncs.com",
            "vnode.eci.aliyuncs.com"
           ]
          }
         }
        }
       ]
      }
      Catatan

      Jika Anda menggunakan OpenAPI untuk mengoperasikan sumber daya ECI, kebijakan AliyunECIFullAccess sudah cukup. Jika Anda menggunakan konsol ECI, Anda harus memberikan izin tambahan. Untuk informasi selengkapnya, lihat Berikan izin kepada pengguna RAM.

    5. Masukkan nama kebijakan, lalu klik OK.

  5. Berikan kebijakan kustom kepada pengguna RAM.

    1. Di panel navigasi sebelah kiri, pilih Identities > Users.

    2. Buat pengguna RAM.

      Jika Anda belum memiliki pengguna RAM, buat satu sesuai kebutuhan manajemen Anda. Untuk informasi selengkapnya, lihat Buat pengguna RAM.

    3. Berikan izin kepada pengguna RAM.

      Berikan kebijakan kustom kepada pengguna RAM. Untuk informasi selengkapnya, lihat Kelola izin untuk pengguna RAM.

Langkah 2: Verifikasi kebijakan

  1. Masuk ke OpenAPI Explorer sebagai pengguna RAM.

  2. Verifikasi efektivitas Kebijakan tersebut.

    Pengujian berikut menggunakan instans ECI sebagai contoh:

    • Buat instans ECI

      • Jika Anda menetapkan tag env:test, instans berhasil dibuat.

      • Jika Anda tidak menetapkan tag atau menetapkan tag yang berbeda, pembuatan gagal dan mengembalikan error permission denied.

    • Hapus instans ECI

      • Jika instans ECI diberi tag env:test, penghapusan berhasil.

      • Jika instans ECI tidak diberi tag env:test, penghapusan gagal dan mengembalikan error permission denied.

    • Lakukan kueri terhadap instans ECI

      • Jika Anda menentukan instans yang diberi tag env:test tetapi tidak menentukan tag dalam kueri, kueri mengembalikan informasi tentang instans ECI yang ditentukan.

      • Jika Anda menentukan instans yang tidak diberi tag env:test, kueri mengembalikan hasil kosong.

      • Jika Anda tidak menentukan instans dan hanya menetapkan tag env:test dalam kueri, kueri mengembalikan informasi tentang semua instans dengan tag env:test.

      • Jika Anda tidak menentukan instans maupun tag, kueri mengembalikan hasil kosong.

Otentikasi API

Tabel berikut menjelaskan cara permintaan API dari pengguna RAM dengan kebijakan berbasis tag diautentikasi.

Operasi

Deskripsi

Operasi pembuatan, seperti CreateContainerGroup dan CreateImageCache

Operasi ini tidak memerlukan ID sumber daya, sehingga otentikasi didasarkan pada acs:RequestTag:

  • Otentikasi gagal jika permintaan tidak menyertakan tag yang diizinkan.

  • Otentikasi berhasil jika permintaan menyertakan tag yang diizinkan.

Operasi kueri, seperti DescribeContainerGroups dan DescribeImageCaches

Operasi ini secara opsional dapat menentukan ID sumber daya atau menyediakan tag, sehingga otentikasi didasarkan pada acs:ResourceTag atau acs:RequestTag:

  • Jika Anda menyediakan ID sumber daya dan tag, otentikasi berhasil jika tag sumber daya yang ditentukan sesuai dengan acs:ResourceTag atau tag yang disediakan sesuai dengan acs:RequestTag. Jika tidak, otentikasi gagal.

  • Jika Anda menyediakan ID sumber daya tetapi tidak menyediakan tag, otentikasi berhasil jika tag sumber daya yang ditentukan sesuai dengan acs:ResourceTag. Jika tidak, otentikasi gagal.

  • Jika Anda menyediakan tag tetapi tidak menyediakan ID sumber daya, otentikasi berhasil jika tag yang disediakan sesuai dengan acs:RequestTag. Jika tidak, otentikasi gagal.

  • Jika Anda tidak menyediakan ID sumber daya maupun tag, otentikasi gagal.

Catatan

Jika otentikasi untuk operasi kueri gagal, hasil kosong dikembalikan alih-alih error.

Operasi pembaruan, seperti UpdateContainerGroup dan UpdateImageCache

Operasi ini memerlukan ID sumber daya, sehingga otentikasi didasarkan pada acs:ResourceTag:

  • Jika Anda tidak menyediakan tag, otentikasi berhasil jika tag sumber daya yang ditentukan sesuai dengan kondisi. Jika tidak, otentikasi gagal.

  • Jika Anda menyediakan tag untuk memperbarui tag yang ada, otentikasi berhasil hanya jika tag saat ini pada sumber daya sesuai dengan kondisi dan pengguna memiliki izin untuk tag baru tersebut. Jika tidak, otentikasi gagal.

Catatan

Saat memperbarui tag, pengguna RAM harus memiliki izin untuk tag saat ini pada sumber daya dan izin untuk menerapkan tag baru. Hal ini mungkin memerlukan kondisi kebijakan untuk tag asli dan tag baru.

Operasi lainnya, seperti RestartContainerGroup dan ExecContainerCommand

Operasi ini memerlukan ID sumber daya, sehingga otentikasi didasarkan pada acs:ResourceTag:

  • Otentikasi gagal jika tag sumber daya yang ditentukan tidak sesuai dengan kondisi.

  • Otentikasi berhasil jika tag sumber daya yang ditentukan sesuai dengan kondisi.