全部产品
Search
文档中心

Container Registry:Menarik gambar lintas akun

更新时间:Feb 07, 2026

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

Panduan pemilihan

Pertama, pilih metode konektivitas jaringan dan metode otorisasi akun yang sesuai dengan kebutuhan bisnis Anda. Kemudian, pilih komponen tanpa kata sandi yang mendukung metode otorisasi tersebut.

Untuk prosedur spesifiknya, lihat Konfigurasikan konektivitas jaringan, Konfigurasikan otorisasi akun dan komponen tanpa kata sandi, serta Verifikasi penarikan gambar lintas akun.
image
Catatan

Dalam topik ini, lintas akun mengacu pada Akun Alibaba Cloud yang berbeda, bukan Pengguna RAM.

Prasyarat

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

  • Kluster ACK mendukung komponen tanpa kata sandi.

    • aliyun-acr-credential-helper (managed)

      Kluster ACK yang dikelola, Kluster ACK serverless, dan Kluster ACK Edge yang menjalankan Kubernetes 1.22 atau versi lebih baru

    • aliyun-acr-credential-helper (self-managed)

      Kluster ACK yang dikelola dan Cluster khusus ACK yang menjalankan Kubernetes 1.20 atau versi lebih baru

  • Instans Container Registry (ACR) adalah 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: Konfigurasikan konektivitas jaringan

Saat menarik gambar lintas akun, kluster ACK dan instans ACR Edisi Perusahaan berada di VPC yang berbeda, dimiliki oleh akun yang berbeda, dan mungkin berada di wilayah yang berbeda. Sebelum Anda dapat menarik gambar, pastikan konektivitas jaringan tersedia dan nama domain terkait dapat diurai. Metode berikut tersedia:

  • Koneksi jaringan publik: Konfigurasikan titik akhir publik untuk instans ACR Edisi Perusahaan dan aktifkan akses jaringan publik untuk kluster ACK. Gambar ditransfer melalui jaringan publik. Namun, mentransfer data melalui jaringan publik kurang aman dan dikenakan biaya untuk Alamat IP Elastis (EIP) serta transfer data.

  • Koneksi peering VPC: Gunakan koneksi peering VPC untuk menghubungkan kedua VPC tersebut. Hal ini memungkinkan kluster ACK mengakses instans ACR Edisi Perusahaan. Koneksi peering VPC tidak dikenai biaya jika VPC berada di wilayah yang sama, tetapi dikenai biaya jika VPC berada di wilayah yang berbeda. Metode ini mensyaratkan bahwa kedua VPC memiliki Blok CIDR yang tidak tumpang tindih. Persyaratan ini dapat mengurangi jumlah Blok CIDR yang tersedia di VPC. Selain itu, jika Blok CIDR kedua VPC tumpang tindih, Anda harus memodifikasi arsitektur jaringan yang ada.

  • Koneksi Cloud Enterprise Network: Instans CEN dapat berisi satu atau beberapa router transit. Router transit tersebut dapat dihubungkan menggunakan koneksi antar-wilayah untuk menerapkan koneksi VPC-to-VPC lintas wilayah dan lintas akun.

Untuk perbandingan antara koneksi peering VPC dan koneksi CEN, lihat Apa perbedaan antara CEN dan koneksi peering VPC?

Item perbandingan

Koneksi jaringan publik

Koneksi peering VPC

Koneksi Cloud Enterprise Network

Jenis jaringan

Jaringan publik

Jaringan pribadi

Jaringan 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 yang berbeda, Cloud Data Transfer (CDT) mengenakan biaya transfer data untuk lalu lintas keluar.

Biaya dikenakan berdasarkan aturan penagihan Cloud Enterprise Network.

Fitur utama

Anda tidak perlu memodifikasi arsitektur jaringan yang ada. Untuk keamanan, Anda harus mempertimbangkan aturan arah masuk dan arah keluar, kontrol akses, serta faktor lainnya.

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

  • Fitur ini mensyaratkan kedua VPC berbagi Blok CIDR, yang mengurangi jumlah Blok CIDR yang tersedia di VPC. Jika banyak Blok CIDR yang digunakan di kedua VPC tumpang tindih, Anda perlu memodifikasi arsitektur jaringan yang ada.

  • Gambar ditransfer melalui jaringan pribadi, yang memberikan keamanan tinggi.

  • CEN dirancang untuk lingkungan produksi perusahaan yang memiliki persyaratan keamanan tinggi.

Prosedur konfigurasi

  1. Konfigurasikan titik akhir publik untuk instans ACR

    Dengan mengonfigurasi kebijakan kontrol akses untuk jaringan publik, Anda dapat mengelola dan mengakses instans ACR Edisi Perusahaan secara aman dari jarak jauh.
  2. Aktifkan akses jaringan publik untuk kluster ACK

    Konfigurasikan kluster ACK agar dapat mengakses sumber daya publik eksternal untuk menarik gambar dari instans ACR Edisi Perusahaan.
  1. Sambungkan VPC ke instans ACR untuk resolusi titik akhir internal dalam wilayah yang sama

    Setelah Anda menghubungkan instans ACR Edisi Perusahaan ke VPC, Anda dapat mengakses instans Edisi Perusahaan tersebut dari VPC menggunakan nama domain internal. Setelah konfigurasi selesai, catat ID VPC dan alamat IP internal instans ACR Edisi Perusahaan.
  2. Dapatkan nama domain dan alamat IP terkait instans ACR

    Dapatkan nama domain dan alamat IP layanan otentikasi serta nama domain dan alamat IP Bucket OSS terkait yang digunakan untuk mengakses instans ACR Edisi Perusahaan.
  3. Buat koneksi peering VPC dan konfigurasikan tabel rute

    Tambahkan entri rute yang mengarah ke VPC peer di setiap ujung koneksi peering VPC untuk mengaktifkan konektivitas pribadi antara VPC kluster ACK dan VPC instans ACR Edisi Perusahaan. Di ujung koneksi peering VPC milik kluster ACK, Anda juga perlu mengonfigurasi rute untuk alamat IP layanan otentikasi dan alamat IP Bucket OSS terkait.
  4. Uraikan nama domain instans ACR untuk kluster ACK

    Gunakan metode seperti menambahkan resolusi DNS internal atau menggunakan skrip custom data kelompok node untuk memodifikasi file /etc/hosts secara batch. Hal ini menguraikan nama domain instans ACR ke alamat IP internalnya untuk kluster ACK, sehingga lalu lintas diteruskan melalui entri rute koneksi peering VPC ke VPC tempat instans ACR terhubung.
  1. Konfigurasikan DNS internal VPC untuk instans ACR

    Setelah Anda menghubungkan instans ACR Edisi Perusahaan ke VPC, Anda dapat mengakses instans Edisi Perusahaan tersebut dari VPC menggunakan nama domain internal. Setelah konfigurasi selesai, catat ID VPC dan alamat IP internal instans ACR Edisi Perusahaan.
  2. Dapatkan nama domain dan alamat IP terkait instans ACR

    Dapatkan nama domain dan alamat IP layanan otentikasi serta nama domain dan alamat IP Bucket OSS terkait yang digunakan untuk mengakses instans ACR Edisi Perusahaan.
  3. Konfigurasikan koneksi VPC-to-VPC lintas akun menggunakan CEN

    Hubungkan VPC instans ACR Edisi Perusahaan ke router transit di wilayah akun tersebut. Hubungkan VPC kluster ACK ke router transit di wilayah akun tersebut. Lalu, gunakan koneksi antar-wilayah untuk menghubungkan router transit di kedua wilayah tersebut.
  4. Konfigurasikan tabel rute VPC dan TransitRouter

    Untuk VPC dan router transit milik kluster ACK, Anda juga perlu mengonfigurasi rute untuk alamat IP layanan otentikasi dan alamat IP Bucket OSS terkait.
  5. Uraikan nama domain instans ACR untuk kluster ACK

    Gunakan metode seperti menambahkan rekaman resolusi DNS internal atau menggunakan skrip custom data untuk kelompok node untuk memodifikasi file /etc/hosts secara batch. Hal ini menguraikan nama domain instans ACR ke alamat IP internalnya untuk kluster ACK. Dengan demikian, lalu lintas diteruskan melalui rute CEN ke VPC tempat instans ACR terhubung.

Langkah 2: Konfigurasikan otorisasi akun dan komponen tanpa kata sandi

Terdapat tiga metode otorisasi berikut untuk menarik gambar lintas akun tanpa kredensial. Pilih konfigurasi yang paling sesuai dengan skenario Anda.

Item perbandingan

Gunakan RRSA

Gunakan asumsi Peran RAM Worker

Gunakan pasangan AccessKey Pengguna RAM

Jenis kluster

Didukung di Edisi Dasar Kluster ACK yang dikelola, Edisi Pro Kluster ACK yang dikelola, Kluster ACK Edge, dan Edisi Pro Kluster ACK serverless versi 1.22 atau lebih baru.

Didukung di Edisi Dasar Kluster ACK yang dikelola, Edisi Pro Kluster ACK yang dikelola, dan Cluster khusus ACK versi 1.20 atau lebih baru.

Didukung di Edisi Dasar Kluster ACK yang dikelola, Edisi Pro Kluster ACK yang dikelola, dan Cluster khusus ACK versi 1.20 atau lebih baru.

Komponen yang didukung

  • komponen aliyun-acr-credential-helper managed

  • komponen aliyun-acr-credential-helper

    Komponen harus versi v23.02.06.1-74e2172-aliyun atau lebih baru.

Untuk informasi selengkapnya tentang perbedaan antar komponen, lihat Perbandingan Komponen Tanpa Kata Sandi.

komponen aliyun-acr-credential-helper

komponen aliyun-acr-credential-helper

Granularitas izin

Tingkat Pod (detail halus)

Tingkat kluster (granularitas menengah)

Tingkat akun (granularitas kasar)

Keamanan

Tinggi. Metode ini menyediakan kontrol dan isolasi izin detail halus. Menggunakan kredensial sementara STS tanpa pasangan AccessKey yang dikodekan secara keras.

Sedang. Semua pod berbagi izin, yang dapat menyebabkan risiko izin berlebihan.

Rendah. Risiko kebocoran pasangan AccessKey sangat tinggi.

Skenario

Metode ini cocok untuk layanan yang sensitif terhadap keamanan dan lingkungan produksi yang memerlukan kontrol izin ketat.

Metode ini cocok untuk skenario yang memerlukan izin terpadu, serta lingkungan pengembangan dan staging yang memerlukan tingkat kontrol izin tertentu.

Metode ini cocok untuk penerapan cepat atau lingkungan demo.

Gunakan RRSA

Dalam kluster ACK milik Akun A, konfigurasikan ServiceAccount tertentu untuk mengasumsikan Peran RAM milik Akun B yang memiliki izin untuk menarik gambar tanpa kredensial. Hal ini memungkinkan kluster ACK mengakses dan menarik gambar pribadi dari Akun B.

Catatan

Untuk mengaktifkan fitur RRSA pada komponen tanpa kata sandi, pertama-tama aktifkan RRSA di kluster, lalu konfigurasikan RRSA untuk komponen tanpa kata sandi. Jika langkah-langkah ini dilakukan dalam urutan yang salah, hapus pod plug-in tanpa kata sandi untuk mengaktifkan fitur RRSA.

image
  1. Di Akun A, aktifkan fitur RRSA untuk kluster ACK dan buat Peran RAM yang memiliki izin untuk mengasumsikan peran.

    1. Aktifkan fitur RRSA untuk kluster ACK.

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

      2. Pada halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi kiri, klik Cluster Information.

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

      4. Di kotak dialog Enable RRSA, klik Confirm.

        Di bagian Basic Information, jika status kluster berubah dari Updating menjadi Running, berarti fitur RRSA telah diaktifkan untuk kluster tersebut.

      5. Setelah fitur RRSA diaktifkan untuk kluster, navigasikan ke bagian Security and Auditing di bawah tab Basic Information. Jika Anda mengarahkan kursor mouse ke label Enabled di sebelah RRSA OIDC, URL dan Nama Sumber Daya Alibaba Cloud (ARN) penyedia OIDC akan ditampilkan. image

    2. Gunakan editor skrip untuk mengedit kebijakan kepercayaan dan buat Peran RAM untuk Penyedia Identitas OIDC.

      • Ganti <oidc_issuer_url> dalam contoh dengan URL penyedia OIDC kluster saat ini yang Anda peroleh pada langkah sebelumnya.

      • Ganti <oidc_provider_arn> dalam contoh dengan ARN penyedia OIDC kluster saat ini 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. Sambungkan kebijakan AliyunSTSAssumeRoleAccess ke peran tersebut untuk memberikan izin mengasumsikan peran, lalu catat ARN-nya. Untuk informasi selengkapnya, lihat Mengelola izin untuk Peran RAM.

      1. Di halaman detail peran, klik tab Permissions, lalu klik Grant Permission.

      2. Di panel Grant Permission, pada bagian Access Policy, pilih kebijakan akses AliyunSTSAssumeRoleAccess, lalu klik OK.

      3. Di halaman detail peran, pada bagian Basic Information, lihat dan catat ARN Peran RAM tersebut. Untuk informasi selengkapnya, lihat Bagaimana cara melihat ARN Peran RAM?

  2. Di Akun B, buat Peran RAM, berikan izin untuk menarik gambar pribadi, dan izinkan Peran RAM milik Akun A untuk mengasumsikan peran ini.

    1. Gunakan editor skrip untuk mengedit kebijakan kepercayaan dan buat Peran RAM untuk akun Alibaba Cloud tepercaya agar Akun A dapat mengasumsikan peran tersebut.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created in Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    2. Buat kebijakan kustom dengan konten berikut dan berikan kebijakan tersebut ke Peran RAM. Hal ini memberikan izin kepada peran untuk memperoleh 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 detik hingga 43.200 detik. Nilai default-nya adalah 3.600 detik.

      Pastikan nilai ini sama dengan nilai parameter expireDuration yang akan Anda konfigurasi nanti. Nilai expireDuration tidak boleh melebihi durasi sesi maksimum.
    4. Di halaman detail peran, catat ARN Peran RAM dari bagian Basic Information.

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

    Untuk informasi selengkapnya tentang perbedaan antar komponen, lihat Perbandingan komponen tanpa kata sandi.

    komponen aliyun-acr-credential-helper managed

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

    2. Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, klik Add-ons.

    3. Di halaman Add-ons, pilih tab Security. Temukan kartu aliyun-acr-credential-helper (Managed) dan klik Install.

    4. Di kotak dialog Aliyun-acr-credential-helper Parameter Settings, centang kotak Is RRSA Enabled dan klik Add. Masukkan parameter berikut dan klik OK.

      791184c653f445f62c3387d88ad8bdcf

      Konfigurasi instans ACR Edisi Perusahaan terkait:

      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 oleh instans ACR. Masukkan semua titik akhir (publik dan VPC) instans ACR. Untuk menentukan nama domain individual, pisahkan dengan koma (,).

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

      assumeRoleARN

      ARN Peran RAM pemilik instans ACR. Masukkan ARN Peran RAM yang Anda buat di Akun B.

      acs:ram::100XXXXXXXX9630:role/XXXX

      expireDuration

      Periode validitas kredensial sementara dalam skenario lintas akun. Masukkan durasi sesi maksimum Peran RAM yang Anda buat di Akun B.

      3600

      rrsaRoleARN

      ARN Peran RAM pemilik kluster ACK. Masukkan ARN Peran RAM yang Anda buat di Akun A.

      acs:ram::128XXXXXXXXXX09011:role/XXXX

      rrsaOIDCProviderRoleARN

      ARN Penyedia Identitas OIDC kluster ACK. Masukkan ARN Penyedia Identitas OIDC RRSA kluster ACK di Akun A.

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

      Untuk informasi selengkapnya tentang parameter lainnya, lihat Konfigurasi komponen.

    komponen aliyun-acr-credential-helper

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

    2. Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, klik Add-ons.

    3. Di halaman Applications, klik tab Security. Temukan komponen aliyun-acr-credential-helper dan klik Install. Di kotak dialog yang muncul, atur opsi tokenMode ke auto dan klik OK.

      04479cf3d9857845bf530ea2f0850a60

    4. Modifikasi ConfigMap komponen tanpa kata sandi.

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

      2. Di bagian atas halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, klik Edit YAML di kolom Actions untuk acr-configuration dan modifikasi konfigurasi seperti pada contoh berikut.

        data:
          service-account: "default"
          watch-namespace: "all"
          expiring-threshold: "15m"
          notify-email: "c*@example.com"
          acr-registry-info: |
            - instanceId: "cri-xxx"                                   # The ID of the ACR instance.
              regionId: "cn-hangzhou"                                 # The region ID of the ACR instance.
              domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"   # The endpoint of the ACR instance.
              rrsaRoleARN: "<ARN of the role created in Account A>"
              rrsaOIDCProviderRoleARN: "<The ARN of the OIDC IdP from the basic information page of the ACK cluster in the console for Account A.>"
              assumeRoleARN: "<ARN of the role created in Account B>"
              expireDuration: 3600                                    # The maximum session duration of the RAM role in Account B. The default value is 3600.             
          rrsa: |
            enable: true                                              # Enable the RRSA feature for the passwordless component. 

Gunakan asumsi Peran RAM Worker

Dalam kluster ACK milik Akun A, konfigurasikan Peran RAM Worker default kluster untuk mengasumsikan Peran RAM milik Akun B yang memiliki izin untuk menarik gambar tanpa kredensial. Hal ini memungkinkan kluster ACK mengakses dan menarik gambar pribadi dari Akun B.

image
  1. Di Akun A, lihat Peran RAM Worker kluster dan berikan izin untuk mengasumsikan peran.

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

    2. Pada halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi kiri, klik Cluster Information.

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

    4. Sambungkan kebijakan AliyunSTSAssumeRoleAccess ke peran tersebut untuk memberikan izin mengasumsikan peran, lalu catat ARN-nya. Untuk informasi selengkapnya, lihat Mengelola izin untuk Peran RAM.

      1. Di halaman detail peran, klik tab Permissions, lalu klik Grant Permission.

      2. Di panel Grant Permission, pada bagian Access Policy, pilih kebijakan akses AliyunSTSAssumeRoleAccess, lalu klik OK.

      3. Di halaman detail peran, pada bagian Basic Information, lihat dan catat ARN Peran RAM tersebut. Untuk informasi selengkapnya, lihat Bagaimana cara melihat ARN Peran RAM?

  2. Di Akun B, buat Peran RAM, berikan izin untuk menarik gambar pribadi, dan izinkan Peran RAM Worker kluster ACK di Akun A untuk mengasumsikan peran ini.

    1. Buat Peran RAM untuk akun Alibaba Cloud tepercaya.

    2. Buat kebijakan kustom dengan konten berikut, dan berikan kebijakan tersebut ke Peran RAM. Hal ini memberikan izin kepada peran untuk memperoleh informasi instans dan menarik gambar.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. Di halaman informasi dasar Peran RAM, klik tab Trust Policy dan klik Edit Trust Policy. Perbarui kebijakan dengan konten berikut untuk mengizinkan Peran RAM Worker kluster ACK di Akun A mengasumsikan Peran RAM milik Akun B.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "<ARN of the role created in Account A>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    4. Di halaman detail peran, pada bagian Basic Information, lihat dan catat ARN Peran RAM tersebut. Untuk informasi selengkapnya, lihat Bagaimana cara melihat ARN Peran RAM?

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

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

    2. Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, klik Add-ons.

    3. Di halaman Applications, klik tab Security. Temukan komponen aliyun-acr-credential-helper dan klik Install. Di kotak dialog yang muncul, atur tokenMode ke workerRole dan klik OK.

      100f8cde3395436575996fbbd290dc56

    4. Modifikasi ConfigMap komponen tanpa kata sandi.

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

      2. Di bagian atas halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, klik Edit YAML di kolom Actions untuk acr-configuration dan modifikasi konfigurasi seperti pada contoh berikut.

        data:
            service-account: "default"
            watch-namespace: "all"
            expiring-threshold: "15m"
            notify-email: "c*@example.com"
            acr-registry-info: |
              - instanceId: "cri-xxx"                                    # The ID of the ACR Enterprise Edition instance.
                regionId: "cn-hangzhou"                                  # The region ID of the ACR Enterprise Edition instance.
                domains: "xxxxx-registry.cn-hangzhou.cr.aliyuncs.com"    # The endpoint of the ACR Enterprise Edition instance.
                assumeRoleARN: "<ARN of the role created in Account B>"
                expireDuration: 3600                                     # The maximum session duration of the RAM role in Account B. The default value is 3600.

Gunakan pasangan AccessKey Pengguna RAM

Dalam kluster ACK milik Akun A, komponen tanpa kata sandi menggunakan ID AccessKey dan Rahasia AccessKey Pengguna RAM dari Akun B untuk menarik gambar pribadi dari Akun B. Meskipun metode ini mudah dikonfigurasi, ID AccessKey dan Rahasia AccessKey disimpan dalam teks biasa, yang menimbulkan risiko keamanan.

  1. Di Akun B, buat Pengguna RAM dan berikan izin cr.* kepada Pengguna RAM tersebut.

    1. Buat Pengguna RAM.

    2. Buat kebijakan kustom dengan konten berikut dan berikan kebijakan tersebut ke Pengguna RAM. Hal ini memberikan izin kepada Pengguna RAM untuk memperoleh 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.

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

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

  2. Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, klik Cluster Information.

  3. Di halaman ACK Clusters, klik nama kluster target. Di panel navigasi kiri, klik Add-ons.

  4. Di halaman Applications, klik tab Security. Temukan komponen aliyun-acr-credential-helper dan klik Install. Di kotak dialog yang muncul, atur opsi tokenMode ke auto dan klik OK.

    04479cf3d9857845bf530ea2f0850a60

  5. Modifikasi ConfigMap komponen tanpa kata sandi.

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

    2. Di bagian atas halaman ConfigMaps, pilih kube-system dari daftar drop-down Namespace. Lalu, klik Edit YAML di kolom Actions untuk acr-configuration dan modifikasi konfigurasi seperti pada contoh berikut.

    3. data:
          service-account: "default"
          watch-namespace: "all"
          expiring-threshold: "15m"
          notify-email: "c*@example.com"
          acr-registry-info: |
            - instanceId: ""                        # The ID of the ACR Enterprise Edition instance.             
              regionId: "cn-hangzhou"               # The region ID of the ACR Enterprise Edition instance.    
              customAccessKey: "xxxxx"              # The AccessKey ID of the RAM user in Account B.
              customAccessKeySecret: "xxxxxx"       # The AccessKey secret of the RAM user in Account B. 

Langkah 3: Verifikasi penarikan gambar lintas akun

Catatan

Prosedur verifikasi ini hanya untuk tujuan demonstrasi. Untuk informasi selengkapnya, lihat Bangun gambar dan Buat workload.

  1. Di instans ACR Enterprise milik Akun B, peroleh Public Endpoint atau alamat VPC gambar kontainer yang diperlukan.

    image

  2. Di kluster ACK milik Akun A, pilih Workloads > Deployments dan buat workload dari 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 # Specify the address of the ACR image in Account B. 
            ports:
            - containerPort: 80
  3. Jika pesan Successfully pulled image "XXX" in XXXs (XXXs including waiting). Image size: XXX bytes. muncul di event pod untuk workload tersebut, berarti gambar berhasil ditarik dari akun yang berbeda menggunakan komponen tanpa kata sandi.

    ecb56ef14d98a537ebe64f6bd9fd883d

FAQ

Bagaimana cara mengatasi konflik alamat IP di Blok CIDR 100.0.0.0/8?

Saat Anda mengonfigurasi aturan routing, alamat IP yang diurai dari nama domain otentikasi dan nama domain OSS berada di Blok CIDR 100.0.0.0/8. Jika jaringan internal Anda juga menggunakan alamat IP dari Blok CIDR ini, konflik dapat terjadi saat Anda mengakses instans ACR Edisi Perusahaan. Untuk menghindari konflik tersebut, ikuti langkah-langkah berikut.

Konflik Blok CIDR nama domain otentikasi

Anda dapat mengaktifkan fitur takeover nama domain otentikasi oleh instans. Dengan cara ini, Anda hanya perlu mengakses nama domain instans. Hal ini mengatasi konflik dengan Blok CIDR nama domain otentikasi.

  1. Masuk ke Konsol Container Registry.

  2. Di bilah navigasi atas, pilih wilayah.

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

  4. Di panel navigasi halaman pengelolaan instans, pilih Repository Management > Domain Names. Di halaman Domain Names, aktifkan sakelar Instance Takeover of Authentication Domain Name.

    Penting

    Untuk menggunakan fitur takeover nama domain otentikasi oleh instans, Anda harus mengajukan tiket untuk menambahkan instans Edisi Perusahaan ke daftar putih.

  5. Di prompt Confirm Enable Instance Takeover Authentication Domain Name, klik OK.

Konflik Blok CIDR nama domain OSS

Anda dapat mengakses sumber daya OSS melalui jaringan pribadi menggunakan PrivateLink. Lalu, arahkan rekaman CNAME dari nama domain OSS target asli ke titik akhir PrivateLink.