All Products
Search
Document Center

Container Registry:Tarik gambar lintas akun dengan komponen tanpa kata sandi

Last Updated:Aug 29, 2026

Dalam lingkungan multi-akun Alibaba Cloud, kluster ACK dan instans Container Registry (ACR) Edisi Perusahaan mungkin dikelola oleh akun berbeda dari unit bisnis yang berbeda. Untuk memungkinkan kluster ACK menarik gambar kontainer dari instans ACR Edisi Perusahaan dan menerapkan workload, Anda harus memastikan konektivitas jaringan serta memberikan izin lintas akun yang diperlukan. Topik ini menjelaskan cara menggunakan komponen tanpa kata sandi aliyun-acr-credential-helper untuk menarik gambar lintas akun.

Panduan pengambilan keputusan

Pertama, pilih metode koneksi jaringan dan metode otorisasi akun. Kemudian, pilih komponen tanpa kredensial yang mendukung metode tersebut.

Untuk langkah-langkah terperinci, ikuti prosedur dalam Konfigurasi koneksi jaringan, Konfigurasi otorisasi akun dan komponen tanpa kredensial, lalu Verifikasi penarikan gambar lintas akun.
Catatan

Dalam topik ini, akses lintas akun mengacu pada akses antara Akun Alibaba Cloud (akun root) yang berbeda, bukan antara Pengguna RAM (sub-akun).

Prasyarat

  • Peran RAM yang digunakan oleh komponen tanpa kata sandi telah diberikan izin yang diperlukan.

  • Kluster ACK Anda harus mendukung komponen tanpa kata sandi.

    • aliyun-acr-credential-helper (dikelola)

      Versi 1.22 atau lebih baru dari Kluster ACK yang dikelola, Kluster ACK Serverless, atau Kluster ACK Edge

    • aliyun-acr-credential-helper (dikelola sendiri)

      Versi 1.20 atau lebih baru dari Kluster ACK yang dikelola atau Cluster khusus ACK

  • Instans Container Registry (ACR) harus merupakan instans Edisi Perusahaan.

    Penting
    • Komponen tanpa kata sandi hanya mendukung instans ACR Edisi Perusahaan dan instans ACR Edisi Personal yang dibuat pada atau sebelum 8 September 2024. Jika Anda tidak dapat menggunakan komponen tanpa kata sandi, lihat Bagaimana cara menggunakan imagePullSecrets?.

Prosedur

Langkah 1: Konfigurasi koneksi jaringan

Saat menarik gambar lintas akun, kluster ACK yang menarik gambar dan instans ACR Edisi Perusahaan yang menyimpan gambar berada di VPC berbeda yang dimiliki oleh akun berbeda dan mungkin juga berada di wilayah berbeda. Sebelum menarik gambar, Anda harus membuat konektivitas jaringan dan memastikan bahwa nama domain terkait dapat diselesaikan. Anda dapat menggunakan salah satu metode berikut:

  • Koneksi publik: Konfigurasikan titik akhir publik untuk instans ACR Edisi Perusahaan dan aktifkan akses jaringan publik untuk kluster ACK. Gambar ditransfer melalui Internet publik. Metode ini kurang aman dan menimbulkan biaya baik untuk alamat IP elastis maupun lalu lintas keluar.

  • Koneksi peering VPC: Gunakan koneksi peering VPC untuk menghubungkan kedua VPC, sehingga memungkinkan kluster ACK mengakses instans ACR Edisi Perusahaan. Fitur ini gratis jika VPC berada di wilayah yang sama, tetapi dikenai biaya jika berada di wilayah berbeda. Metode ini mensyaratkan kedua VPC memiliki blok CIDR yang tidak tumpang tindih. Jika sudah terdapat tumpang tindih signifikan pada blok CIDR yang digunakan, Anda mungkin perlu merancang ulang arsitektur jaringan yang ada.

  • Koneksi Cloud Enterprise Network (CEN): Instans CEN dapat berisi satu atau beberapa router transit. Beberapa router transit dapat saling terhubung melalui koneksi cross-region untuk mengaktifkan komunikasi VPC lintas wilayah dan akun berbeda.

Untuk perbandingan antara koneksi peering VPC dan CEN, lihat Apa perbedaan antara Cloud Enterprise Network dan Koneksi Peering VPC?

Item perbandingan

Koneksi publik

Koneksi peering VPC

Cloud Enterprise Network (CEN)

Jenis jaringan

Publik

Pribadi

Pribadi

Penagihan

Biaya dikenakan berdasarkan metode penagihan alamat IP elastis.

  • Tidak ada biaya jika VPC kluster ACK dan instans ACR Edisi Perusahaan berada di wilayah yang sama.

  • Jika VPC berada di wilayah berbeda, Cloud Data Transfer (CDT) mengenakan biaya untuk lalu lintas keluar.

Biaya dikenakan berdasarkan aturan penagihan CEN.

Fitur utama

Tidak memerlukan perubahan pada arsitektur jaringan yang ada. Untuk keamanan, Anda harus mengonfigurasi aturan arah masuk dan keluar serta kebijakan kontrol akses.

  • Gambar ditransfer melalui jaringan pribadi untuk keamanan lebih tinggi. Tidak ada biaya jika VPC berada di wilayah yang sama.

  • Metode ini mensyaratkan kedua VPC memiliki blok CIDR yang tidak tumpang tindih. Jika sudah terdapat tumpang tindih signifikan pada blok CIDR yang digunakan, Anda mungkin perlu merancang ulang arsitektur jaringan yang ada.

  • Gambar ditransfer melalui jaringan pribadi untuk keamanan lebih tinggi.

  • CEN dirancang untuk lingkungan produksi perusahaan dengan persyaratan keamanan tinggi.

Prosedur konfigurasi

  1. Konfigurasikan titik akhir publik untuk instans ACR

    Konfigurasikan kebijakan kontrol akses publik untuk mengelola dan mengakses instans ACR Edisi Perusahaan secara jarak jauh dan aman.
  2. Aktifkan akses jaringan publik untuk kluster ACK

    Konfigurasikan akses jaringan publik untuk kluster ACK agar dapat menarik gambar dari instans ACR Edisi Perusahaan.
  1. Aktifkan resolusi nama domain pribadi untuk instans ACR

    Setelah Anda menghubungkan instans ACR Edisi Perusahaan ke VPC, Anda dapat mengakses instans tersebut dalam VPC menggunakan nama domain pribadinya. Setelah konfigurasi, peroleh ID VPC dan alamat IP pribadi instans ACR Edisi Perusahaan.
  2. Peroleh nama domain dan alamat IP instans ACR

    Peroleh nama domain dan alamat IP layanan autentikasi yang digunakan untuk mengakses instans ACR Edisi Perusahaan, serta nama domain dan alamat IP bucket OSS terkait.
  3. Buat koneksi peering VPC dan konfigurasikan tabel rute

    Anda harus menambahkan entri rute yang mengarah ke VPC peer di kedua ujung koneksi peering VPC untuk mengaktifkan komunikasi pribadi antar-VPC bagi kluster ACK dan instans ACR Edisi Perusahaan. Di ujung kluster ACK pada koneksi peering VPC, Anda juga harus mengonfigurasi entri rute untuk alamat IP layanan autentikasi dan alamat IP bucket OSS terkait.
  4. Selesaikan nama domain instans ACR untuk kluster ACK

    Gunakan metode seperti menambahkan rekaman DNS pribadi atau menggunakan skrip data kustom kelompok node untuk memodifikasi file /etc/hosts secara batch. Hal ini menyelesaikan nama domain instans ACR ke alamat IP pribadinya, sehingga memungkinkan kluster ACK meneruskan trafik ke VPC instans ACR melalui entri rute yang dikonfigurasi.
  1. Aktifkan resolusi nama domain pribadi untuk instans ACR

    Setelah Anda menghubungkan instans ACR Edisi Perusahaan ke VPC, Anda dapat mengakses instans tersebut dalam VPC menggunakan nama domain pribadinya. Setelah konfigurasi, peroleh ID VPC dan alamat IP pribadi instans ACR Edisi Perusahaan.
  2. Peroleh nama domain dan alamat IP instans ACR

    Peroleh nama domain dan alamat IP layanan autentikasi yang digunakan untuk mengakses instans ACR Edisi Perusahaan, serta nama domain dan alamat IP bucket OSS terkait.
  3. Konfigurasikan komunikasi VPC lintas akun menggunakan CEN

    Hubungkan VPC instans ACR Edisi Perusahaan ke router transit di wilayahnya. Hubungkan VPC kluster ACK ke router transit di wilayahnya. Lalu, gunakan koneksi cross-region untuk mengaktifkan komunikasi antara kedua router transit.
  4. Konfigurasikan tabel rute VPC dan router transit

    Dalam tabel rute untuk VPC dan router transit kluster ACK, Anda juga harus mengonfigurasi entri rute untuk alamat IP layanan autentikasi dan alamat IP bucket OSS terkait.
  5. Selesaikan nama domain instans ACR untuk kluster ACK

    Gunakan metode seperti menambahkan rekaman DNS pribadi atau menggunakan skrip data kustom kelompok node untuk memodifikasi file /etc/hosts secara batch. Langkah ini menyelesaikan nama domain instans ACR ke alamat IP pribadinya untuk kluster ACK, sehingga memungkinkan trafik diteruskan ke VPC instans ACR melalui entri rute CEN.

Langkah 2: Konfigurasi otorisasi dan komponen tanpa kata sandi

Tiga metode otorisasi berikut memungkinkan Anda menarik gambar lintas akun tanpa menggunakan kredensial statis. Pilih metode yang paling sesuai dengan kebutuhan Anda.

Item perbandingan

RRSA

Peran RAM Worker

AccessKey Pengguna RAM

Jenis kluster

Mendukung Kluster ACK Dasar, Kluster ACK Pro, Kluster ACK Edge, dan Kluster ACK Serverless Pro versi 1.22 ke atas.

Mendukung Kluster ACK Dasar, Kluster ACK Pro, dan Cluster khusus ACK versi 1.20 ke atas.

Mendukung Kluster ACK Dasar, Kluster ACK Pro, dan Cluster khusus ACK versi 1.20 ke atas.

Komponen yang didukung

  • komponen aliyun-acr-credential-helper yang dikelola

  • komponen aliyun-acr-credential-helper

    Harus ditingkatkan ke v23.02.06.1-74e2172-aliyun atau lebih baru.

Untuk informasi lebih lanjut tentang perbedaan antar komponen ini, lihat Perbandingan komponen tanpa kata sandi.

komponen aliyun-acr-credential-helper

komponen aliyun-acr-credential-helper

Granularitas izin

Tingkat Pod (detail halus)

Tingkat kluster (detail sedang)

Tingkat akun (detail kasar)

Keamanan

Tinggi. Metode ini menyediakan kontrol dan isolasi izin detail halus. Menggunakan kredensial sementara dari STS (Security Token Service) dan menghindari hard-coding pasangan AccessKey.

Sedang. Semua Pod berbagi izin yang sama, yang dapat menyebabkan hak istimewa berlebihan.

Rendah. Risiko tinggi kebocoran pasangan AccessKey.

Skenario yang berlaku

Cocok untuk layanan yang sensitif terhadap keamanan dan lingkungan produksi yang memerlukan kontrol izin ketat.

Cocok untuk skenario dengan persyaratan izin seragam, seperti lingkungan pengembangan dan pengujian yang memerlukan kontrol izin moderat.

Cocok untuk penerapan cepat atau lingkungan demo.

RRSA

Dalam kluster ACK di bawah Akun A, Anda mengonfigurasi ServiceAccount tertentu untuk mengasumsikan peran RAM dari Akun B. Peran RAM ini diberikan izin yang diperlukan, sehingga memungkinkan kluster ACK menarik gambar pribadi dari instans ACR di Akun B tanpa menggunakan kredensial statis.

Catatan

Untuk mengaktifkan fitur RRSA (RAM Roles for Service Accounts) untuk komponen tanpa kata sandi, Anda harus terlebih dahulu mengaktifkan RRSA untuk kluster, lalu mengonfigurasi RRSA untuk komponen tersebut. Jika langkah-langkah ini dilakukan dalam urutan yang salah, Anda harus menghapus Pod komponen tanpa kata sandi agar fitur RRSA dapat diaktifkan.

  1. Di bawah Akun A, aktifkan fitur RRSA untuk kluster ACK dan buat peran RAM dengan izin asumsi peran.

    1. Aktifkan fitur RRSA untuk kluster ACK.

      1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

      2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Cluster Information.

      3. Pada tab Basic Information, di bagian Security and Auditing, klik Enable di sebelah RRSA OIDC.

      4. Pada kotak dialog Enable RRSA, klik Confirm. Tunggu hingga status kluster berubah dari Updating menjadi Running. RRSA kini telah diaktifkan.

      5. Setelah RRSA diaktifkan, arahkan kursor ke label Enabled di sebelah RRSA OIDC di bagian Security and Auditing. URL dan Nama Sumber Daya Alibaba Cloud (ARN) penyedia OIDC akan ditampilkan.

    2. Buat peran RAM untuk penyedia identitas OIDC dan perbarui kebijakan kepercayaannya dengan konten berikut.

      • Ganti <oidc_issuer_url> dengan URL penyedia OIDC yang Anda peroleh pada langkah sebelumnya.

      • Ganti <oidc_provider_arn> dengan ARN penyedia OIDC yang Anda peroleh pada langkah sebelumnya.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Condition": {
              "StringEquals": {
                "oidc:aud": "sts.aliyuncs.com",
                "oidc:iss": "<oidc_issuer_url>",
                "oidc:sub": "system:serviceaccount:kube-system:aliyun-acr-credential-helper"
              }
            },
            "Effect": "Allow",
            "Principal": {
              "Federated": [
                "<oidc_provider_arn>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    3. Lampirkan kebijakan izin AliyunSTSAssumeRoleAccess ke peran tersebut untuk memberikan izin asumsi peran, lalu catat ARN-nya. Untuk informasi lebih lanjut, lihat Mengelola izin untuk peran RAM.

      1. Pada halaman detail peran, pada tab Authorization, klik Authorize.

      2. Pada panel Authorize, di bawah Policies, temukan dan pilih kebijakan AliyunSTSAssumeRoleAccess, lalu klik OK.

      3. Pada halaman detail peran, di bagian Basic Information, lihat dan catat ARN peran RAM tersebut. Untuk petunjuk terperinci, lihat Bagaimana cara melihat ARN peran RAM?

  2. Di bawah Akun B, buat peran RAM dengan izin untuk menarik gambar pribadi, dan konfigurasikan agar dapat diasumsikan oleh peran RAM dari Akun A.

    1. Buat peran RAM untuk akun Alibaba Cloud tepercaya. Edit kebijakan kepercayaan dengan skrip berikut untuk mengizinkan asumsi peran oleh peran dari Akun A.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created in Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    2. Buat kebijakan izin kustom dengan konten berikut dan lampirkan ke peran RAM untuk memberikan izin mendapatkan informasi instans dan menarik gambar.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Atur durasi sesi maksimum untuk peran RAM ke nilai antara 3.600 hingga 43.200 detik. Nilai default adalah 3.600 detik.

      Pastikan nilai ini sesuai dengan parameter expireDuration dalam konfigurasi komponen yang dijelaskan nanti. Nilai expireDuration tidak boleh melebihi durasi sesi maksimum.
    4. Pada halaman detail peran, di bagian Basic Information, lihat dan catat ARN peran RAM tersebut.

  3. Di bawah Akun A, instal komponen tanpa kata sandi untuk kluster ACK dan modifikasi konfigurasinya.

    Untuk informasi lebih lanjut tentang perbedaan antar komponen berikut, lihat Perbandingan komponen tanpa kata sandi.

    Komponen Terkelola

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons .

    3. Pada halaman Add-ons, klik tab Security, temukan kartu aliyun-acr-credential-helper (managed), lalu klik Install.

    4. Pada kotak dialog aliyun-acr-credential-helper Parameter Configuration, pilih Enable RRSA. Lalu, klik Add, masukkan parameter berikut, dan klik Confirm.

      Konfigurasi instans ACR Edisi Perusahaan:

      Parameter

      Deskripsi

      Contoh

      instanceId

      ID instans ACR. Untuk menentukan beberapa ID, pisahkan dengan koma (,).

      cri-XXXXX

      regionId

      ID wilayah instans ACR.

      cn-hangzhou

      domains

      Nama domain yang digunakan untuk mengakses instans ACR. Masukkan semua nama domain akses (publik dan VPC) untuk instans ACR. Untuk menentukan nama domain tertentu, pisahkan dengan koma (,).

      XXXXX-registry.cn-hangzhou.cr.aliyuncs.com

      assumeRoleARN

      ARN peran RAM yang Anda buat di Akun B.

      acs:ram::100XXXXXXXX9630:role/XXXX

      expireDuration

      Periode validitas kredensial sementara untuk akses lintas akun. Masukkan durasi sesi maksimum peran RAM yang Anda buat di bawah Akun B.

      3600

      rrsaRoleARN

      ARN peran RAM yang Anda buat di Akun A.

      acs:ram::128XXXXXXXXXX09011:role/XXXX

      rrsaOIDCProviderRoleARN

      ARN penyedia kluster ACK. Masukkan ARN penyedia penyedia identitas OIDC RRSA untuk kluster ACK di bawah Akun A.

      acs:ram::128XXXXXXXXXX09011:oidc-provider/ack-rrsa-c8864XXXXXXXXXXXXXXXXXX99356a636

      Untuk informasi tentang parameter lainnya, lihat Konfigurasi komponen.

    aliyun-acr-credential-helper

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons .

    3. Pada halaman Add-ons, klik tab Security, temukan komponen aliyun-acr-credential-helper, dan klik Install. Pada kotak dialog yang muncul, atur opsi tokenMode ke auto, lalu klik OK.

    4. Modifikasi ConfigMap komponen tanpa kata sandi.

      1. Di panel navigasi kiri, pilih Configurations > ConfigMaps.

      2. Pada halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, temukan acr-configuration dan klik Edit YAML di kolom **Actions**. Perbarui konfigurasi berdasarkan contoh berikut.

        data:
          service-account: "default"
          watch-namespace: "all"
          expiring-threshold: "15m"
          notify-email: "c*@example.com"
          acr-registry-info: |
            - instanceId: "cri-xxx"                                   # ID instans ACR.
              regionId: "cn-hangzhou"                                 # ID wilayah instans ACR.
              domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"   # Nama domain akses instans ACR.
              rrsaRoleARN: "<ARN of the role created under Account A>"
              rrsaOIDCProviderRoleARN: "<OIDC Provider ARN from the cluster's Basic Information page in the ACK console under Account A>"
              assumeRoleARN: "<ARN of the role created under Account B>"
              expireDuration: 3600                                    # Durasi sesi maksimum untuk peran RAM di bawah Akun B. Default: 3600.             
          rrsa: |
            enable: true                                              # Aktifkan fitur RRSA untuk komponen tanpa kata sandi. 

Peran RAM Worker

Dalam kluster ACK di bawah Akun A, konfigurasikan peran RAM Worker default kluster untuk mengasumsikan peran RAM dari Akun B yang memiliki izin untuk menarik gambar. Hal ini memungkinkan kluster ACK mengakses dan menarik gambar pribadi dari Akun B.

  1. Di Akun A, lihat Peran RAM Worker Kluster dan berikan izin pengambilan peran tersebut.

    1. Masuk ke Konsol ACK atau . Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Cluster Information.

    3. Pada halaman Cluster Information, klik tab Basic Information. Di bagian Cluster Resources, klik tautan di sebelah kanan Worker RAM Role.

    4. Lampirkan kebijakan izin AliyunSTSAssumeRoleAccess ke peran tersebut untuk memberikan izin asumsi peran, lalu catat ARN-nya. Untuk informasi lebih lanjut, lihat Mengelola izin untuk peran RAM.

      1. Pada halaman detail peran, pada tab Authorization, klik Authorize.

      2. Pada panel Authorize, di bawah Policies, temukan dan pilih kebijakan AliyunSTSAssumeRoleAccess, lalu klik OK.

      3. Pada halaman detail peran, di bagian Basic Information, lihat dan catat ARN peran RAM tersebut. Untuk petunjuk terperinci, lihat Bagaimana cara melihat ARN peran RAM?

  2. Di bawah Akun B, buat peran RAM dengan izin untuk menarik gambar pribadi, dan konfigurasikan agar dapat diasumsikan oleh peran RAM Worker kluster ACK di Akun A.

    1. Buat peran RAM untuk akun Alibaba Cloud tepercaya.

    2. Buat kebijakan izin kustom dengan konten berikut dan lampirkan ke peran RAM untuk memberikan izin mendapatkan informasi instans dan menarik gambar.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Pada halaman detail peran RAM, klik tab Trust Policy dan Edit Trust Policy dengan konten berikut. Hal ini memungkinkan peran RAM Worker kluster ACK di Akun A mengasumsikan peran RAM di Akun B.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created under Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    4. Pada halaman detail peran, di bagian Basic Information, lihat dan catat ARN peran RAM tersebut. Untuk petunjuk terperinci, lihat Bagaimana cara melihat ARN peran RAM?

  3. Di bawah Akun A, instal komponen tanpa kata sandi untuk kluster ACK dan modifikasi konfigurasinya.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons .

    3. Pada halaman Add-ons, klik tab Security, temukan komponen aliyun-acr-credential-helper, dan klik Install. Pada kotak dialog yang muncul, atur opsi tokenMode ke workerRole, lalu klik Confirm.

    4. Modifikasi ConfigMap komponen tanpa kata sandi.

      1. Di panel navigasi kiri, pilih Configurations > ConfigMaps.

      2. Pada halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, temukan acr-configuration dan klik Edit YAML di kolom **Actions**. Perbarui konfigurasi berdasarkan contoh berikut.

        data:
            service-account: "default"
            watch-namespace: "all"
            expiring-threshold: "15m"
            notify-email: "c*@example.com"
            acr-registry-info: |
              - instanceId: "cri-xxx"                                    # ID instans ACR Edisi Perusahaan.
                regionId: "cn-hangzhou"                                  # ID wilayah ACR Edisi Perusahaan.
                domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"    # Nama domain akses ACR Edisi Perusahaan.
                assumeRoleARN: "<ARN of the role created under Account B>"
                expireDuration: 3600                                     # Durasi sesi maksimum untuk peran RAM di bawah Akun B. Default: 3600.

AccessKey Pengguna RAM

Dalam kluster ACK di bawah Akun A, komponen tanpa kata sandi menyimpan ID AccessKey (AK) dan Secret AccessKey (SK) pengguna RAM dari Akun B untuk menarik gambar pribadi dari Akun B. Meskipun metode ini mudah dikonfigurasi, metode ini menimbulkan risiko keamanan karena pasangan AccessKey disimpan dalam teks biasa.

  1. Di bawah Akun B, buat pengguna RAM dan pastikan memiliki izin cr.* yang diperlukan.

    1. Buat pengguna RAM.

    2. Buat kebijakan izin kustom dengan konten berikut dan lampirkan ke pengguna RAM untuk memberikan izin mendapatkan informasi instans dan menarik gambar.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Buat pasangan AccessKey dan catat AccessKey ID dan AccessKey Secret.

  2. Di bawah Akun A, instal komponen tanpa kata sandi untuk kluster ACK dan modifikasi konfigurasinya.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Cluster Information.

    3. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons .

    4. Pada halaman Add-ons, klik tab Security, temukan komponen aliyun-acr-credential-helper, dan klik Install. Pada kotak dialog yang muncul, atur opsi tokenMode ke auto, lalu klik OK.

    5. Modifikasi ConfigMap komponen tanpa kata sandi.

      1. Di panel navigasi kiri, pilih Configurations > ConfigMaps.

      2. Pada halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, temukan acr-configuration dan klik Edit YAML di kolom **Actions**. Perbarui konfigurasi berdasarkan contoh berikut.

      3. data:
            service-account: "default"
            watch-namespace: "all"
            expiring-threshold: "15m"
            notify-email: "c*@example.com"
            acr-registry-info: |
              - instanceId: ""                        # ID instans ACR Edisi Perusahaan.             
                regionId: "cn-hangzhou"               # ID wilayah ACR Edisi Perusahaan.    
                customAccessKey: "xxxxx"              # ID AccessKey pengguna RAM di bawah Akun B.
                customAccessKeySecret: "xxxxxx"       # Secret AccessKey pengguna RAM di bawah Akun B. 

Langkah 3: Verifikasi penarikan gambar lintas akun

Catatan

Proses verifikasi ini hanya untuk demonstrasi. Untuk petunjuk terperinci, lihat Bangun gambar dan Buat workload.

  1. Dalam instans ACR Edisi Perusahaan di bawah Akun B, peroleh Public endpoint atau alamat VPC gambar kontainer sesuai kebutuhan.

    Buka halaman Basic Information repositori gambar target. Alamat titik akhir tersedia di sisi kanan halaman.

  2. Dalam kluster ACK di bawah Akun A, buka Workloads > Deployments dan buat workload menggunakan gambar kontainer tersebut.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment-basic
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: ******.cn-hangzhou.cr.aliyuncs.com/instance/instancetest:v1 # Tentukan alamat gambar ACR dari Akun B 
            ports:
            - containerPort: 80
  3. Event Pod dengan pesan Successfully pulled image "XXX" in XXXs (XXXs including waiting). Image size: XXX bytes. menunjukkan bahwa komponen tanpa kata sandi berhasil menarik gambar lintas akun.

    Pada halaman detail workload, pada tab Pods, pastikan status Pod adalah **Running** dan kolom **Image** menampilkan alamat repositori gambar lintas akun, seperti test332-registry.cn-hangzhou.cr.aliyuncs.com/instance/test:v1.

FAQ

Selesaikan konflik IP pada blok CIDR 100.0.0.0/8

IP domain autentikasi dan OSS diselesaikan ke blok CIDR 100.0.0.0/8. Jika jaringan internal Anda menggunakan rentang ini, akan terjadi konflik IP.

Konflik nama domain autentikasi

Selesaikan konflik ini dengan mengaktifkan instans untuk mengambil alih domain autentikasi. Hal ini memungkinkan Anda mengakses layanan hanya menggunakan nama domain instans.

  1. Masuk ke Konsol Container Registry.

  2. Di bilah navigasi atas, pilih wilayah.

  3. Pada halaman Instances, klik instans Edisi Perusahaan yang ingin Anda kelola.

  4. Di panel navigasi kiri halaman pengelolaan instans, pilih Repository > Domain. Pada halaman Domain, aktifkan sakelar Instance Taking over Authentication Domain Name.

    Penting

    Untuk mengaktifkan pengambilalihan domain autentikasi, Anda harus mengajukan tiket untuk menambahkan instans Edisi Perusahaan Anda ke daftar izin.

  5. Pada kotak dialog Confirm to Enable Instance Taking over Authentication Domain Name, klik Confirm.

Konflik nama domain OSS

Untuk menyelesaikan konflik ini, akses sumber daya OSS melalui jaringan pribadi menggunakan PrivateLink, lalu arahkan nama domain OSS ke nama domain PrivateLink dengan rekaman CNAME.