全部产品
Search
文档中心

Elastic Container Instance:Gunakan tag untuk mengotentikasi pengguna RAM

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan tag untuk mengelola izin dan mengotentikasi pengguna RAM.

Informasi latar belakang

Tag digunakan untuk mengidentifikasi dan mengkategorikan sumber daya cloud. Resource Access Management (RAM) mengelola izin akses dan operasi pengguna RAM pada sumber daya cloud berdasarkan kebijakan izin. Anda dapat menggunakan tag sebagai kondisi dalam kebijakan RAM untuk menerapkan kontrol akses yang lebih rinci pada sumber daya.

Gambar berikut menunjukkan cara menggunakan tag untuk mengelola izin pengguna RAM.

标签鉴权逻辑

Catatan

Anda dapat mengikat tag ke sumber daya Elastic Container Instance berikut: instance kontainer elastis, cache gambar, dan node virtual. Anda hanya dapat mengikat tag ke sumber daya tersebut saat membuat atau memperbarui sumber daya. Untuk informasi lebih lanjut, lihat Gunakan Tag untuk Mengelola Instance Kontainer Elastis.

Contoh konfigurasi

Skenario

Skema dalam topik ini digunakan untuk menggambarkan cara melakukan otentikasi berbasis tag.

Sebagai contoh, Anda ingin memberikan pengguna RAM izin hanya pada sumber daya Elastic Container Instance yang memiliki tag env:test, seperti yang ditunjukkan pada gambar berikut: 标签鉴权

Anda memiliki persyaratan spesifik berikut:

  • Persyaratan 1: Pengguna RAM dapat berhasil membuat sumber daya Elastic Container Instance hanya jika pengguna RAM mengikat tag env:test ke sumber daya tersebut.

  • Persyaratan 2: Pengguna RAM hanya dapat mengoperasikan sumber daya Elastic Container Instance yang dibuat oleh pengguna RAM. Sumber daya tersebut harus memiliki tag env:test.

  • Persyaratan 3: Pengguna RAM hanya dapat melihat sumber daya Elastic Container Instance yang dibuat oleh pengguna RAM. Sumber daya tersebut harus memiliki tag env:test.

Langkah 1: Buat kebijakan kustom dan lampirkan kebijakan tersebut ke pengguna RAM

  1. Gunakan akun Alibaba Cloud Anda untuk masuk ke Konsol RAM.

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

  3. Di halaman Policies, klik Create Policy.

  4. Konfigurasikan parameter untuk membuat kebijakan kustom.

    1. Klik tab Import Policy.

    2. Dalam kotak dialog yang muncul, pilih System Policy dari daftar drop-down Template Kebijakan, masukkan AliyunECIFullAccess di kotak pencarian "Filter templates", pilih kebijakan AliyunECIFullAccess, lalu klik Import.

      AliyunECIFullAccess adalah kebijakan default untuk mengelola sumber daya Elastic Container Instance. AliyunECIFullAccess mencakup izin untuk mengoperasikan sumber daya Elastic Container Instance, menanyakan sumber daya seperti grup keamanan dan virtual private clouds (VPC), serta membuat peran terkait layanan untuk Elastic Container Instance.

    3. Klik tab JSON.

    4. Ubah isi kebijakan di editor kode lalu klik Next to edit policy information.

      Catatan

      Kebijakan berisi satu set izin. Setiap kebijakan mencakup nomor versi dan pernyataan otorisasi. Setiap pernyataan mencakup elemen berikut: Effect, Action, Resource, dan Condition. Elemen Condition bersifat opsional. Untuk informasi lebih lanjut, lihat Struktur dan sintaks kebijakan dan Elemen kebijakan.

      Anda dapat menentukan tag otentikasi di elemen Condition kebijakan untuk membatasi izin operasi pengguna RAM. Tabel berikut menjelaskan kondisi yang dapat ditentukan dalam kebijakan.

      Kondisi otentikasi berbasis tag

      Deskripsi

      acs:RequestTag

      Menentukan bahwa permintaan API harus berisi tag.

      Anda dapat menggunakan kondisi acs:RequestTag dalam permintaan API hanya jika permintaan API berisi parameter terkait tag.

      acs:ResourceTag

      Menentukan bahwa sumber daya yang ditentukan dalam permintaan API harus memiliki tag.

      Anda dapat menggunakan kondisi acs:ResourceTag dalam permintaan API hanya jika permintaan API berisi parameter terkait ID sumber daya.

      Catatan

      Saat mengonfigurasi kebijakan, Anda dapat menggunakan kondisi acs:RequestTag atau acs:ResourceTag berdasarkan apakah permintaan API mendukung tag atau memerlukan ID sumber daya. Untuk informasi lebih lanjut, lihat Otentikasi Pengguna RAM Saat Pengguna RAM Memulai Permintaan API.

      Anda dapat mengonfigurasi kebijakan berikut untuk memenuhi kebutuhan bisnis Anda untuk skenario di atas:

      Persyaratan

      Kebijakan

      Pengguna RAM dapat berhasil membuat sumber daya Elastic Container Instance hanya jika pengguna RAM mengikat tag env:test ke sumber daya tersebut.

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

      Pengguna RAM hanya dapat mengoperasikan sumber daya Elastic Container Instance yang memiliki tag env:test.

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

      Pengguna RAM hanya dapat melihat sumber daya Elastic Container Instance yang memiliki tag env:test.

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

      Contoh berikut menunjukkan kebijakan lengkap yang berisi izin yang diberikan oleh AliyunECIFullAccess.

      {
       "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 ingin pengguna RAM mengoperasikan sumber daya Elastic Container Instance dengan memanggil operasi API, Anda dapat memberikan pengguna RAM izin yang diberikan oleh kebijakan AliyunECIFullAccess. Jika Anda ingin pengguna RAM mengoperasikan sumber daya Elastic Container Instance dengan menggunakan konsol Elastic Container Instance, Anda harus memberikan pengguna RAM izin yang diberikan oleh kebijakan AliyunECIFullAccess dan izin yang diberikan oleh kebijakan lainnya. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.

    5. Masukkan nama untuk kebijakan dan klik OK.

  5. Lampirkan kebijakan kustom ke pengguna RAM.

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

    2. Buat pengguna RAM.

      Buat pengguna RAM berdasarkan kebutuhan manajemen Anda. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM. Jika Anda sudah membuat pengguna RAM, lewati langkah ini.

    3. Berikan izin kepada pengguna RAM.

      Lampirkan kebijakan kustom yang Anda buat ke pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.

Langkah 2: Periksa apakah kebijakan berlaku

  1. Masuk ke Konsol OpenAPI Explorer sebagai pengguna RAM.

  2. Periksa apakah kebijakan berlaku.

    Instance kontainer elastis digunakan dalam tes berikut:

    • Buat Instance Kontainer Elastis

      • Jika Anda mengikat tag env:test ke instance saat membuat instance, instance tersebut dapat dibuat.

      • Jika Anda tidak mengikat tag env:test ke instance atau Anda mengikat tag lain ke instance saat membuat instance, instance tersebut tidak dapat dibuat. Sistem akan memperingatkan bahwa Anda tidak memiliki izin untuk membuat instance.

    • Hapus Instance Kontainer Elastis

      • Jika instance yang ingin Anda hapus memiliki tag env:test, instance tersebut dapat dihapus.

      • Jika instance yang ingin Anda hapus tidak memiliki tag env:test, instance tersebut tidak dapat dihapus. Sistem akan memperingatkan bahwa Anda tidak memiliki izin untuk menghapus instance.

    • Tanyakan Instance Kontainer Elastis

      • Jika Anda menentukan instance yang memiliki tag env:test tetapi Anda tidak menentukan tag dalam permintaan, instance yang ditentukan akan ditanyakan.

      • Jika Anda menentukan instance yang tidak memiliki tag env:test dalam permintaan, hasil query kosong.

      • Jika Anda tidak menentukan instance tetapi Anda menentukan tag env:test dalam permintaan, semua instance yang memiliki tag env:test akan ditanyakan.

      • Jika tidak ada instance dan tag yang ditentukan, hasil query kosong.

Otentikasi pengguna RAM saat pengguna RAM memulai permintaan API

Tabel berikut menjelaskan bagaimana sistem mengotentikasi pengguna RAM setelah kebijakan yang berisi tag otentikasi dilampirkan ke pengguna RAM dan kemudian pengguna RAM memulai permintaan API.

Operasi API

Deskripsi Otentikasi

Operasi API yang digunakan untuk membuat sumber daya, seperti CreateContainerGroup dan CreateImageCache

Anda tidak perlu menentukan ID sumber daya dalam permintaan API. Saat tidak ada ID sumber daya yang ditentukan dalam permintaan API, permintaan tersebut cocok dengan kondisi kebijakan acs:RequestTag.

  • Jika permintaan tidak berisi tag dari kondisi kebijakan, otentikasi gagal.

  • Jika permintaan berisi tag yang cocok atau menyertakan tag dari kondisi kebijakan, otentikasi berhasil.

Operasi API yang digunakan untuk menanyakan sumber daya, seperti DescribeContainerGroups dan DescribeImageCaches

Anda harus menentukan ID sumber daya atau tag dalam permintaan API berdasarkan persyaratan operasi API. Permintaan tersebut cocok dengan kondisi kebijakan acs:ResourceTag atau acs:RequestTag.

  • Jika Anda menentukan ID sumber daya dan tag dalam permintaan dan tag dari sumber daya yang ditentukan cocok dengan tag dari kondisi kebijakan acs:ResourceTag, atau tag yang ditentukan cocok dengan tag dari kondisi kebijakan acs:RequestTag, otentikasi berhasil.

  • Jika Anda menentukan ID sumber daya tetapi tidak menentukan tag dalam permintaan dan tag dari sumber daya yang ditentukan cocok dengan tag dari kondisi kebijakan acs:ResourceTag, otentikasi berhasil.

  • Jika Anda menentukan tag tetapi tidak menentukan ID sumber daya dalam permintaan dan tag yang ditentukan cocok dengan tag dari kondisi kebijakan acs:RequestTag, otentikasi berhasil.

  • Jika tidak ada ID sumber daya dan tag yang ditentukan dalam permintaan, otentikasi gagal.

Catatan

Untuk operasi API yang digunakan untuk menanyakan sumber daya, sistem akan mengembalikan hasil kosong dan tidak melaporkan kesalahan jika otentikasi gagal.

Operasi API yang digunakan untuk memperbarui sumber daya, seperti UpdateContainerGroup dan UpdateImageCache

Anda harus menentukan ID sumber daya dalam permintaan API. Permintaan tersebut cocok dengan kondisi kebijakan acs:ResourceTag.

  • Jika Anda tidak menentukan tag dalam permintaan dan tag dari sumber daya yang ditentukan cocok dengan tag dari kondisi kebijakan acs:ResourceTag, otentikasi berhasil.

  • Jika Anda menentukan tag dalam permintaan dan tag dari sumber daya yang ditentukan cocok dengan tag dari kondisi kebijakan acs:ResourceTag dan mencakup izin dari tag yang ditentukan, otentikasi berhasil.

Catatan

Jika tag diperbarui, pengguna RAM harus memiliki izin dari tag asli dan tag baru. Anda harus melampirkan kebijakan kustom berikut ke pengguna RAM: kebijakan yang berisi kondisi otentikasi berbasis tag asli dan kebijakan yang berisi kondisi otentikasi berbasis tag baru.

Operasi API lainnya seperti RestartContainerGroup dan ExecContainerCommand

Anda harus menentukan ID sumber daya dalam permintaan API. Permintaan tersebut cocok dengan kondisi kebijakan acs:ResourceTag.

  • Jika tag dari sumber daya yang ditentukan tidak cocok dengan tag dari kondisi kebijakan acs:ResourceTag, otentikasi gagal.

  • Jika tag dari sumber daya yang ditentukan cocok dengan tag dari kondisi kebijakan acs:ResourceTag, otentikasi berhasil.