Autentikasi registri privat untuk tugas - Amazon ECS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Autentikasi registri privat untuk tugas

Autentikasi registri privat untuk tugas yang digunakanAWS Secrets Manager memungkinkan Anda menyimpan kredensiasi secara aman dan kemudian mereferensikannya dalam ketentuan tugas Anda. Ini menyediakan cara untuk mereferensikan gambar kontainer yang ada di pendaftar pribadi di luarAWS yang memerlukan otentikasi dalam definisi tugas Anda. Fitur ini didukung oleh tugas yang dihosting di Fargate, instans Amazon EC2, dan instans eksternal menggunakan Amazon ECS Anywhere.

penting

Jika ketentuan tugas Anda referensi citra yang disimpan di Amazon ECR, topik ini tidak berlaku. Untuk informasi selengkapnya, lihat Menggunakan Gambar Amazon ECR dengan Amazon ECS di Panduan Pengguna Amazon Elastic Container Registry.

Untuk tugas yang dihosting di Fargate, fitur ini memerlukan versi platform1.2.0 atau yang lebih baru. Untuk informasi, lihat AWSVersi platform Fargate.

Dalam ketentuan kontainer Anda, tentukanrepositoryCredentials objek dengan detail rahasia yang Anda buat. Rahasia yang Anda referensikan dapat berasal dari akun yang berbedaWilayah AWS atau berbeda dari tugas yang menggunakannya.

catatan

Saat menggunakan API Amazon ECSAWS CLI, atauAWS SDK, jika rahasia adaWilayah AWS sama dengan tugas yang Anda luncurkan, Anda dapat menggunakan ARN lengkap atau nama rahasia. Jika rahasia ada di akun yang berbeda, ARN penuh rahasia harus ditentukan. Saat menggunakanAWS Management Console, ARN penuh rahasia harus ditentukan selalu.

Berikut ini adalah potongan ketentuan tugas yang menunjukkan parameter yang diperlukan:

"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]

Izin IAM yang diperlukan untuk autentikasi registri privat

Peran eksekusi tugas Amazon ECS diperlukan untuk menggunakan fitur ini. Hal ini mengizinkan agen kontainer untuk menarik citra kontainer. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas ECS.

Untuk memberikan akses ke rahasia yang Anda buat, tambahkan izin berikut sebagai kebijakan sebaris ke peran eksekusi tugas. Untuk informasi selengkapnya, lihat Menambahkan dan Menghapus Kebijakan IAM.

  • secretsmanager:GetSecretValue

  • kms:Decrypt—Wajib hanya jika kunci Anda menggunakan kunci KMS khusus dan bukan kunci default. Amazon Resource Name (ARN) untuk kunci kustom Anda harus ditambahkan sebagai sumber daya.

Berikut ini adalah contoh kebijakan inline yang menambahkan izin.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "ssm:GetParameters", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }

Mengaktifkan autentikasi registri privat

Untuk membuat rahasia dasar

Gunakan AWS Secrets Manager untuk membuat rahasia untuk kredensial registri privat Anda.

  1. BukaAWS Secrets Manager konsol di https://console.aws.amazon.com/secretsmanager/.

  2. Pilih Store a new secret (Simpan rahasia baru).

  3. Untuk Pilih tipe rahasia, pilih Jenis rahasia lainnya.

  4. Pilih Plaintext dan masukkan kredensial registri privat Anda menggunakan format berikut:

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  5. Pilih Selanjutnya.

  6. Untuk nama Rahasia, masukkan jalur dan nama opsional, sepertiproduction/MyAwesomeAppSecret ataudevelopment/TestSecret, dan pilih Berikutnya. Anda dapat menambahkan deskripsi secara opsional untuk membantu Anda mengingat tujuan dari rahasia ini nanti.

    Nama secret harus berupa huruf, digit, atau salah satu karakter ASCII berikut:/_+=.@-.

  7. (Opsional) Di sini, Anda dapat mengonfigurasi rotasi untuk rahasia Anda. Untuk prosedur ini, biarkan tetap Disable automatic rotation (Nonaktifkan rotasi otomatis) dan pilih Next (Berikutnya).

    Untuk petunjuk tentang cara mengonfigurasi rotasi rahasia baru atau rahasia yang sudah ada, lihat MerotasiAWS Secrets Manager Rahasia Anda.

  8. Tinjau pengaturan Anda, lalu pilih Rahasia penyimpanan untuk menyimpan semua yang Anda masukkan sebagai rahasia baru di Secrets Manager.

Untuk membuat ketentuan tugas yang menggunakan autentikasi registri privat
  1. Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/.

  2. Pada panel navigasi, pilih Ketentuan tugas.

  3. Pada halaman Definisi Tugas, pilih Buat Definisi Tugas baru.

  4. Pada Pilih kompatibilitas tipe peluncuran, pilih tipe peluncuran untuk tugas Anda, lalu Langkah selanjutnya.

  5. Untuk Nama ketentuan tugas, masukkan nama untuk ketentuan tugas Anda. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah.

  6. Untuk Peran eksekusi tugas, pilih peran eksekusi tugas yang ada atau pilih Buat peran baru. Peran ini mengotorisasi Amazon ECS untuk menarik citra privat untuk tugas Anda. Untuk informasi selengkapnya, lihat Izin IAM yang diperlukan untuk autentikasi registri privat.

    penting

    Jika bidang Peran eksekusi tugas tidak muncul, pilih Mengonfigurasi melalui JSON dan tambahkanexecutionRoleArn kolom untuk menentukan peran eksekusi tugas Anda. Berikut ini menunjukkan sintaksis:

    "executionRoleArn": "arn:aws:iam::aws_account_id:role/ecsTaskExecutionRole"
  7. Untuk setiap kontainer untuk membuat ketentuan tugas Anda, selesaikan langkah berikut:

    1. Di bagian Ketentuan Kontainer, pilih Tambahkan kontainer.

    2. Untuk Nama kontainer Ketikkan nama untuk kontainer Anda. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah.

    3. Untuk Gambar, Ketik nama gambar atau path ke citra privat Anda. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah.

    4. Pilih opsi Autentikasi repositori private.

    5. Untuk Secrets Manager ARN, masukkan Amazon Resource Name (ARN) lengkap dari rahasia yang Anda buat sebelumnya. Nilainya harus antara 20 dan 2048 karakter.

    6. Isi bidang wajib yang tersisa dan bidang opsional apa pun untuk digunakan dalam ketentuan kontainer Anda. Lebih banyak parameter ketentuan kontainer tersedia di menu Konfigurasi kontainer lanjutan. Untuk informasi selengkapnya, lihat Parameter ketentuan tugas.

    7. Pilih Tambahkan.

  8. Saat kontainer ditambahkan, pilih Buat.