全部产品
Search
文档中心

Elastic Container Instance:Tarik gambar dari instance Container Registry tanpa menggunakan rahasia

更新时间:Jul 06, 2025

Elastic Container Instance memungkinkan Anda menarik gambar dari instance Alibaba Cloud Container Registry tanpa menggunakan rahasia untuk meningkatkan efisiensi dan keamanan penarikan gambar. Topik ini menjelaskan cara menarik gambar dari instance Container Registry tanpa menggunakan rahasia.

Informasi latar belakang

Container Registry menyediakan instance Personal Edition dan Enterprise Edition. Container Registry Enterprise Edition adalah platform tingkat perusahaan yang dirancang untuk mengelola siklus hidup artefak aplikasi cloud native, termasuk gambar kontainer, Helm chart, dan artefak Open Container Initiative (OCI). Platform ini cocok untuk skenario penyebaran bisnis berskala besar serta membantu perusahaan mengurangi kompleksitas pengiriman. Untuk informasi lebih lanjut, lihat Apa itu Container Registry?

Saat membuat instance kontainer elastis atau cache gambar, jika gambar yang ingin ditarik berada dalam instance Container Registry, Anda dapat mengonfigurasinya untuk menarik gambar tanpa menggunakan rahasia. Hal ini menyederhanakan proses, meningkatkan efisiensi, dan mencegah risiko kebocoran rahasia.

Catatan

Anda tidak dapat menarik gambar (misalnya, gambar Docker) yang tidak berada di instance Container Registry tanpa menggunakan rahasia.

Prasyarat

Sebelum mengonfigurasi penarikan gambar tanpa rahasia untuk sumber daya seperti instance kontainer elastis, pastikan Anda telah menyelesaikan operasi berikut:

  1. Instance Container Registry telah dibuat, dan konfigurasi terkait seperti repositori gambar dan gambar telah selesai untuk instance tersebut.

  2. Jika instance Container Registry adalah instance Enterprise Edition, akses tanpa rahasia ke instance harus dikonfigurasi.

    Secara default, instance Container Registry Enterprise Edition yang baru dibuat terputus dari semua jaringan. Anda harus mengonfigurasi daftar kontrol akses (ACL) untuk mengizinkan akses ke instance melalui Internet atau virtual private clouds (VPC).

    • Melalui Internet: Setelah mengaktifkan akses Internet untuk instance Enterprise Edition, Anda dapat mengakses gambar dalam instance Enterprise Edition lintas wilayah menggunakan titik akhir publik instance tersebut. Untuk informasi lebih lanjut, lihat Aktifkan Akses Internet.

    • Melalui VPC: Untuk mengakses instance Container Registry Enterprise Edition melalui VPC, Anda harus mengaktifkan otorisasi terkait dengan menggunakan peran layanan terhubung AliyunServiceRoleForContainerRegistryAccessCustomerPrivateZone. Untuk informasi lebih lanjut, lihat Konfigurasikan ACL VPC.

Deskripsi konfigurasi

Tabel berikut menjelaskan skenario di mana gambar dapat ditarik dari instance Container Registry tanpa menggunakan rahasia.

Sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry berada dalam akun yang sama

Edisi instance Container Registry

Penarikan gambar tanpa rahasia

Ya

  • Personal Edition

  • Enterprise Edition (tarik gambar melalui nama domain default instance Enterprise Edition)

Secara default, penarikan gambar tanpa rahasia diaktifkan. Anda dapat mengonfigurasi peran RAM untuk membatasi cakupan instance Container Registry yang mendukung penarikan gambar tanpa rahasia.

Ya

Enterprise Edition (gunakan nama domain kustom)

Penarikan gambar tanpa rahasia tidak dapat diaktifkan secara default. Anda harus menentukan instance Container Registry yang mendukung penarikan gambar tanpa rahasia.

Tidak

  • Personal Edition

  • Enterprise Edition

Penarikan gambar tanpa rahasia tidak dapat diaktifkan secara default. Anda harus mengonfigurasi peran RAM untuk mengimplementasikan penarikan gambar tanpa rahasia.

Pilih salah satu metode konfigurasi berikut berdasarkan akun dan instance Container Registry Anda.

Konfigurasikan peran RAM untuk membatasi cakupan instance Container Registry yang mendukung penarikan gambar tanpa rahasia

Jika sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry milik akun Alibaba Cloud yang sama, dan instance Container Registry adalah instance Enterprise Edition yang menggunakan nama domain default atau instance Personal Edition, penarikan gambar tanpa rahasia diaktifkan secara default untuk instance Container Registry. Dalam hal ini, Anda dapat mengonfigurasi peran RAM berdasarkan kebutuhan bisnis Anda untuk membatasi cakupan instance Container Registry yang mendukung penarikan gambar tanpa rahasia. Misalnya, Anda dapat menentukan hanya satu instance Container Registry yang mendukung penarikan gambar tanpa rahasia.

Catatan

Secara default, Elastic Container Instance menggunakan peran layanan terhubung AliyunServiceRoleForECI untuk mendapatkan akses ke layanan Alibaba Cloud lainnya yang diperlukan untuk membuat sumber daya Elastic Container Instance. AliyunServiceRoleForECI memiliki izin untuk menarik gambar dari instance Container Registry. Instance Container Registry yang disebutkan mencakup semua instance Enterprise Edition yang menggunakan nama domain default atau semua instance Personal Edition dalam akun Alibaba Cloud yang sama dengan sumber daya Elastic Container Instance. Kontrol izin granular tidak dapat diimplementasikan dengan menggunakan peran layanan terhubung.

Prosedur:

Langkah 1: Buat peran RAM dan berikan izin kepada peran RAM

  1. Buat peran RAM untuk layanan Alibaba Cloud yang tepercaya. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk Layanan Alibaba Cloud yang Tepercaya.

    Catat parameter berikut:

    • Tipe Principal: Layanan Cloud

    • Nama Principal: Elastic Container Instance

    • Nama Peran RAM: Contoh: acr-test.

  2. Buat kebijakan izin kustom. Untuk informasi lebih lanjut, lihat Buat Kebijakan Kustom.

    Contoh berikut menunjukkan isi kebijakan, yang menunjukkan bahwa hanya gambar dalam instance Container Registry yang ditentukan yang dapat ditarik. Untuk informasi lebih lanjut tentang cara menulis kebijakan, lihat Elemen Kebijakan.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Get*",
                    "cr:List*"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Pull*"
                ],
                "Resource": [
                    "acs:cr:cn-hangzhou:1609982529******:instance/cri-nwj395hgf6f3****"
                ]
            }
        ]
    }
  3. Lampirkan kebijakan kustom ke peran RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Peran RAM.

  4. Temukan peran acr-test yang Anda buat. Klik nama peran untuk masuk ke halaman detail. Verifikasi izin dan dapatkan Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM.

    ACR-RAM0.png

Langkah 2: Tentukan peran RAM yang Anda buat di Langkah 1 untuk membuat sumber daya

Saat memanggil operasi API CreateContainerGroup untuk membuat instance kontainer elastis atau memanggil operasi API CreateImageCache untuk membuat cache gambar, Anda dapat menggunakan parameter AcrRegistryInfo.N.ArnService untuk menentukan peran RAM yang digunakan untuk membuat sumber daya. Tabel berikut menjelaskan parameter tersebut. Untuk informasi lebih lanjut, lihat CreateContainerGroup dan CreateImageCache.

Parameter

Tipe

Contoh

Deskripsi

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529******:role/acr-test

ARN dari peran RAM dalam akun Alibaba Cloud tempat sumber daya yang akan dibuat seperti instance kontainer elastis berada.

Sebagai contoh, jika Anda membuat instance kontainer elastis, Anda dapat menentukan parameter berikut dalam OpenAPI:

ContainerGroupName=test-acr

#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0

#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/acr-test

Tentukan instance Container Registry Enterprise Edition yang mendukung penarikan gambar tanpa rahasia

Jika sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry milik akun Alibaba Cloud yang sama, dan instance Container Registry adalah instance Enterprise Edition yang menggunakan nama domain kustom, untuk mengimplementasikan penarikan gambar tanpa rahasia, Anda harus menentukan instance Container Registry.

OpenAPI

Jika Anda memanggil operasi API CreateContainerGroup untuk membuat instance kontainer elastis atau memanggil operasi API CreateImageCache untuk membuat cache gambar, Anda dapat mengonfigurasi parameter terkait AcrRegistryInfo untuk menentukan instance Container Registry. Tabel berikut menjelaskan parameter tersebut. Untuk informasi lebih lanjut, lihat CreateContainerGroup dan CreateImageCache.

Parameter

Tipe

Contoh

Deskripsi

AcrRegistryInfo.N.RegionId

string

cn-beijing

ID wilayah instance Container Registry Enterprise Edition N.

Parameter ini diperlukan jika sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry berada di wilayah yang berbeda.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

ID instance Container Registry Enterprise Edition N.

Parameter ini diperlukan jika instance Enterprise Edition menggunakan nama domain kustom.

Sebagai contoh, jika Anda membuat instance kontainer elastis, Anda dapat menentukan parameter berikut dalam OpenAPI:

  • Contoh 1: Tentukan hanya ID instance Container Registry

    ContainerGroupName=test
    
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    
    #AcrRegistryInfo
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********
  • Contoh 2: Tentukan ID wilayah dan ID instance Container Registry

    ContainerGroupName=test
    
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    Container.2.Name=c2
    Container.2.Image=test****-registry.example.com/eci_test/busybox:1.0
    Container.2.Command=sleep
    Container.2.Arg=3600
    
    #AcrRegistryInfo
    AcrRegistryInfo.1.RegionId=cn-beijing
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********

Mode Konsol

Saat membuat instance kontainer elastis di halaman pembelian, Anda dapat memilih gambar untuk setiap kontainer di bagian Container Configurations. Saat memilih gambar kontainer, Anda dapat menentukan gambar dalam instance Container Registry Enterprise Edition pada tab Container Registry Enterprise Edition image.

ACR

Catatan

Anda tidak dapat menentukan gambar dalam instance Container Registry Enterprise Edition saat membuat cache gambar di konsol Elastic Container Instance.

Konfigurasikan peran RAM untuk mengimplementasikan penarikan gambar tanpa rahasia lintas akun

Jika sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry tidak milik akun Alibaba Cloud yang sama, untuk mengimplementasikan penarikan gambar tanpa rahasia, Anda harus mengonfigurasi peran RAM untuk kedua akun dan memberikan izin kepada peran RAM tersebut.

Prosedur:

Langkah 1: Buat peran RAM dan berikan izin kepada peran RAM

  1. Buat peran RAM di Akun A tempat sumber daya yang akan dibuat seperti instance kontainer elastis berada dan berikan izin kepada peran RAM tersebut.

    1. Buat peran RAM untuk layanan Alibaba Cloud yang tepercaya. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk Layanan Alibaba Cloud yang Tepercaya.

      Catat parameter berikut:

      • Tipe Principal: Layanan Cloud

      • Nama Principal: Elastic Container Instance

      • Nama Peran RAM: Contoh: role-assume.

    2. Berikan peran role-assume izin untuk memanggil operasi API AssumeRole dari Security Token Service (STS). Untuk informasi lebih lanjut, lihat bagian "Metode 2: Berikan Izin kepada Peran RAM dengan Mengklik Input and Attach di Halaman Roles" dari topik Berikan Izin kepada Peran RAM.

      Atur tipe kebijakan ke kebijakan sistem, dan nama kebijakan ke AliyunSTSAssumeRoleAccess.

    3. Temukan peran role-assume yang Anda buat. Klik nama peran untuk masuk ke halaman detail. Verifikasi izin dan kebijakan kepercayaan, dan dapatkan ARN dari role-assume.

      • Izin dan ARN

        免密拉取ACR-RAM1.png

      • Kebijakan Kepercayaan

        免密拉取ACR-RAM2.png

  2. Buat peran RAM di Akun B tempat instance Container Registry berada dan berikan izin kepada peran RAM tersebut.

    1. Buat peran RAM untuk akun Alibaba Cloud yang tepercaya. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk Akun Alibaba Cloud yang Tepercaya.

      Catat parameter berikut:

      • Tipe Principal: Akun Cloud

      • Nama Principal: Akun Lain. Masukkan Akun A tempat sumber daya yang akan dibuat seperti instance kontainer elastis berada.

      • Nama Peran RAM: Contoh: role-acr.

    2. Berikan peran role-acr izin untuk menarik gambar dari instance Container Registry. Untuk informasi lebih lanjut, lihat bagian "Metode 2: Berikan Izin kepada Peran RAM dengan Mengklik Input and Attach di Halaman Roles" dari topik Berikan Izin kepada Peran RAM.

      Atur tipe kebijakan ke kebijakan sistem, dan nama kebijakan ke AliyunContainerRegistryFullAccess.

    3. Edit kebijakan kepercayaan untuk membuat role-acr dipercayai oleh role-assume. Untuk informasi lebih lanjut, lihat Edit Kebijakan Kepercayaan Peran RAM.

      Secara default, peran role-acr dapat diasumsikan oleh semua pengguna RAM dan peran RAM di Akun A. Kami sarankan Anda mengedit kebijakan kepercayaan untuk memberikan izin hanya kepada pengguna RAM dan peran RAM yang diperlukan di Akun A.

      Dalam elemen Principal, ubah nilai bidang RAM menjadi ARN dari role-assume. Ini menunjukkan bahwa peran role-acr hanya dapat diasumsikan oleh role-assume. Contoh:

      "Principal": {
      	"RAM": [
      		"acs:ram::1609982529******:role/role-assume"
      	]
      }
    4. Verifikasi izin dan kebijakan kepercayaan dan dapatkan ARN dari role-acr.

      • Izin dan ARN

        免密拉取ACR-RAM3.png

      • Kebijakan Kepercayaan

        免密拉取ACR-RAM4.png

Langkah 2: Tentukan peran RAM yang Anda buat di Langkah 1 untuk membuat sumber daya

Jika Anda memanggil operasi API CreateContainerGroup untuk membuat instance kontainer elastis atau memanggil operasi API CreateImageCache untuk membuat cache gambar, Anda dapat mengonfigurasi parameter terkait AcrRegistryInfo untuk menentukan instance Container Registry dalam akun Alibaba Cloud yang berbeda dari akun sumber daya yang akan dibuat. Catat item berikut:

  • Jika instance Container Registry milik akun Alibaba Cloud yang berbeda dari akun sumber daya yang akan dibuat, Anda harus mengatur ArnService dan ArnUser untuk menentukan peran RAM untuk konfigurasi izin.

  • Jika instance Container Registry adalah instance Enterprise Edition yang menggunakan nama domain kustom, Anda harus mengatur InstanceId untuk menentukan instance Container Registry.

Untuk informasi lebih lanjut, lihat CreateContainerGroup dan CreateImageCache.

Parameter

Tipe

Contoh

Deskripsi

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529******:role/role-assume

ARN dari peran RAM dalam akun Alibaba Cloud tempat sumber daya seperti instance kontainer elastis berada.

AcrRegistryInfo.N.ArnUser

string

acs:ram::1298452580******:role/role-acr

ARN dari peran RAM dalam akun Alibaba Cloud tempat instance Container Registry berada.

AcrRegistryInfo.N.RegionId

string

cn-beijing

ID wilayah instance Container Registry Enterprise Edition N.

Parameter ini diperlukan jika sumber daya yang akan dibuat seperti instance kontainer elastis dan instance Container Registry berada di wilayah yang berbeda.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

ID instance Container Registry Enterprise Edition N.

Parameter ini diperlukan jika instance Enterprise Edition menggunakan nama domain kustom.

Sebagai contoh, jika Anda membuat instance kontainer elastis, Anda dapat menentukan parameter berikut dalam OpenAPI:

ContainerGroupName=test-acr

#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0

#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/role-assume
AcrRegistryInfo.N.ArnUser=acs:ram::1298452580******:role/role-acr