Gunakan registri Docker yang memerlukan otentikasi untuk pelatihan - Amazon SageMaker

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

Gunakan registri Docker yang memerlukan otentikasi untuk pelatihan

Jika registri Docker Anda memerlukan otentikasi, Anda harus membuat AWS Lambda fungsi yang menyediakan kredensyal akses ke. SageMaker Kemudian, buat pekerjaan pelatihan dan berikan ARN fungsi Lambda ini di dalam create_training_job API. Terakhir, Anda dapat secara opsional membuat titik akhir VPC antarmuka sehingga VPC Anda dapat berkomunikasi dengan fungsi Lambda Anda tanpa mengirim lalu lintas melalui internet. Panduan berikut menunjukkan cara membuat fungsi Lambda, menetapkan peran yang benar dan membuat antarmuka VPC endpoint.

Buat fungsi Lambda

Buat AWS Lambda fungsi yang meneruskan kredensyal akses ke SageMaker dan mengembalikan respons. Contoh kode berikut menciptakan fungsi handler Lambda, sebagai berikut.

def handler(event, context): response = { "Credentials": {"Username": "username", "Password": "password"} } return response

Jenis otentikasi yang digunakan untuk mengatur registri Docker pribadi Anda menentukan isi respons yang dikembalikan oleh fungsi Lambda Anda sebagai berikut.

  • Jika registri Docker pribadi Anda menggunakan otentikasi dasar, fungsi Lambda akan mengembalikan nama pengguna dan kata sandi yang diperlukan untuk mengautentikasi ke registri.

  • Jika registri Docker pribadi Anda menggunakan otentikasi token pembawa, nama pengguna dan kata sandi dikirim ke server otorisasi Anda, yang kemudian mengembalikan token pembawa. Token ini kemudian digunakan untuk mengautentikasi ke registri Docker pribadi Anda.

catatan

Jika Anda memiliki lebih dari satu fungsi Lambda untuk pendaftar Anda di akun yang sama, dan peran pelaksanaannya sama untuk pekerjaan pelatihan Anda, maka pekerjaan pelatihan untuk registri seseorang akan memiliki akses ke fungsi Lambda untuk pendaftar lain.

Berikan izin peran yang benar ke fungsi Lambda Anda

IamRole yang Anda gunakan di create_training_job API harus memiliki izin untuk memanggil fungsi. AWS Lambda Contoh kode berikut menunjukkan cara memperluas kebijakan izin dari peran IAM untuk memanggil. myLambdaFunction

{ "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:*:function:*myLambdaFunction*" ] }

Untuk informasi tentang mengedit kebijakan izin peran, lihat Memodifikasi kebijakan izin peran (konsol) di Panduan Pengguna AWS Identity and Access Management.

catatan

Peran IAM dengan kebijakan AmazonSageMakerFullAccessterkelola terlampir memiliki izin untuk memanggil fungsi Lambda apa pun dengan SageMaker "" dalam namanya.

Buat titik akhir VPC antarmuka untuk Lambda

Jika Anda membuat titik akhir antarmuka, VPC Amazon Anda dapat berkomunikasi dengan fungsi Lambda Anda tanpa mengirim lalu lintas melalui internet. Untuk informasi selengkapnya, lihat Mengonfigurasi titik akhir VPC antarmuka untukAWS Lambda Lambda di Panduan Pengembang.

Setelah titik akhir antarmuka Anda dibuat, SageMaker pelatihan akan memanggil fungsi Lambda Anda dengan mengirimkan permintaan melalui VPC Anda ke. lambda.region.amazonaws.com Jika Anda memilih Aktifkan Nama DNS saat membuat titik akhir antarmuka, Amazon Route 53 merutekan panggilan ke titik akhir antarmuka Lambda. Jika Anda menggunakan penyedia DNS yang berbeda, Anda harus memetakan lambda.region.amazonaws.co m, ke titik akhir antarmuka Lambda Anda.