Otentikasi registri pribadi di Amazon ECR - Amazon ECR

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

Otentikasi registri pribadi di Amazon ECR

Anda dapat menggunakan AWS Management Console, AWS CLI, atau AWS SDKs untuk membuat dan mengelola repositori pribadi. Anda juga dapat menggunakan metode tersebut untuk melakukan beberapa tindakan pada citra, seperti mendaftar atau menghapusnya. Klien ini menggunakan metode AWS otentikasi standar. Meskipun Anda dapat menggunakan Amazon ECR API untuk mendorong dan menarik gambar, Anda lebih cenderung menggunakan Docker CLI atau pustaka Docker khusus bahasa.

Docker CLI tidak mendukung metode IAM otentikasi asli. Langkah-langkah tambahan harus diambil agar Amazon ECR dapat mengautentikasi dan mengotorisasi permintaan push dan pull Docker.

Metode autentikasi registri yang dirinci dalam bagian berikut tersedia.

Menggunakan pembantu ECR kredensi Amazon

Amazon ECR menyediakan pembantu kredensi Docker yang membuatnya lebih mudah untuk menyimpan dan menggunakan kredensi Docker saat mendorong dan menarik gambar ke Amazon. ECR Untuk langkah penginstalan dan konfigurasi, lihat Amazon ECR Docker Credential Helper.

catatan

Pembantu kredensi Amazon ECR Docker saat ini tidak mendukung otentikasi multi-faktor (). MFA

Menggunakan token otorisasi

Cakupan izin token otorisasi cocok dengan IAM prinsipal yang digunakan untuk mengambil token otentikasi. Token otentikasi digunakan untuk mengakses ECR registri Amazon apa pun yang dapat diakses oleh IAM prinsipal Anda dan berlaku selama 12 jam. Untuk mendapatkan token otorisasi, Anda harus menggunakan GetAuthorizationTokenAPIoperasi untuk mengambil token otorisasi yang disandikan base64 yang berisi nama pengguna dan kata sandi yang dikodekan. AWS AWS CLI get-login-passwordPerintah menyederhanakan ini dengan mengambil dan mendekode token otorisasi yang kemudian dapat Anda salurkan ke perintah untuk mengautentikasi. docker login

Untuk mengautentikasi Docker ke registri ECR pribadi Amazon dengan get-login
  • Untuk mengautentikasi Docker ke ECR registri Amazon dengan get-login-password, jalankan perintah. aws ecr get-login-password Saat meneruskan token otentikasi ke docker login perintah, gunakan nilai AWS untuk nama pengguna dan tentukan ECR registri Amazon yang ingin URI Anda autentikasi. Jika melakukan autentikasi untuk beberapa registrasi, Anda harus mengulangi perintah tersebut untuk setiap registrasi.

    penting

    Jika Anda menerima pesan kesalahan, instal atau upgrade ke versi terbaru AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS Command Line Interface dalam Panduan Pengguna Amazon EKS AWS Command Line Interface .

    • get-login-password (AWS CLI)

      aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
    • Dapatkan- ECRLoginCommand (AWS Tools for Windows PowerShell)

      (Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

Menggunakan HTTP API otentikasi

Amazon ECR mendukung Docker Registry HTTP API. Namun, karena Amazon ECR adalah registri pribadi, Anda harus memberikan token otorisasi dengan setiap HTTP permintaan. Anda dapat menambahkan header HTTP otorisasi menggunakan -H opsi untuk curl dan meneruskan token otorisasi yang disediakan oleh perintah. get-authorization-token AWS CLI

Untuk mengautentikasi dengan Amazon ECR HTTP API
  1. Ambil token otorisasi dengan AWS CLI dan atur ke variabel lingkungan.

    TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
  2. Untuk mengautentikasi keAPI, berikan $TOKEN variabel ke -H opsi. curl Misalnya, perintah berikut mencantumkan tag gambar di ECR repositori Amazon. Untuk informasi selengkapnya, lihat dokumentasi HTTP API referensi Docker Registry.

    curl -i -H "Authorization: Basic $TOKEN" https://aws_account_id.dkr.ecr.region.amazonaws.com/v2/amazonlinux/tags/list

    Output adalah sebagai berikut:

    HTTP/1.1 200 OK
    Content-Type: text/plain; charset=utf-8
    Date: Thu, 04 Jan 2018 16:06:59 GMT
    Docker-Distribution-Api-Version: registry/2.0
    Content-Length: 50
    Connection: keep-alive
    
    {"name":"amazonlinux","tags":["2017.09","latest"]}