Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kaitkan AWS CodeCommit repositori di satu dengan Akun AWS Amazon SageMaker AI Studio Classic di akun lain
Laurens van der Maas dan Aubrey Oosthuizen, Amazon Web Services
Ringkasan
Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
Pola ini memberikan instruksi dan kode tentang cara mengaitkan AWS CodeCommit repositori di satu Akun AWS (Akun A) dengan Amazon SageMaker AI Studio Classic di tempat lain Akun AWS (Akun B). Untuk menyiapkan asosiasi, Anda harus membuat kebijakan dan peran AWS Identity and Access Management (IAM) di Akun A dan kebijakan sebaris IAM di Akun B. Kemudian, Anda menggunakan skrip shell untuk mengkloning CodeCommit repositori dari Akun A ke Amazon AI Classic di Akun B. SageMaker
Prasyarat dan batasan
Prasyarat
Dua Akun AWS
, satu berisi CodeCommit repositori dan yang lainnya berisi Domain SageMaker AI dengan pengguna Domain dan pengguna SageMaker AI yang disediakan, dengan akses internet atau akses ke CodeCommit dan AWS Security Token Service (AWS STS) melalui titik akhir jaringan pribadi virtual (VPC)
Pemahaman dasar IAM
Pemahaman dasar tentang SageMaker AI Studio Classic
Pemahaman dasar tentang Git
dan CodeCommit
Keterbatasan
Pola ini hanya berlaku untuk SageMaker AI Studio Classic, bukan RStudio di Amazon SageMaker AI.
Arsitektur
Tumpukan teknologi
Amazon SageMaker AI
Amazon SageMaker AI Studio Klasik
AWS CodeCommit
AWS Identity and Access Management (IAM)
Git
Arsitektur target
Diagram berikut menunjukkan arsitektur yang mengaitkan CodeCommit repositori dari Akun A ke SageMaker AI Studio Classic di Akun B.

Diagram menunjukkan alur kerja berikut:
Pengguna mengasumsikan
MyCrossAccountRepositoryContributorRoleperan dalam Akun A melalui peran, saat menggunakansts:AssumeRoleperan eksekusi SageMaker AI di SageMaker AI Studio Classic di Akun B. Peran yang diasumsikan mencakup CodeCommit izin untuk mengkloning dan berinteraksi dengan repositori yang ditentukan.Pengguna melakukan perintah Git dari terminal sistem di SageMaker AI Studio Classic.
Otomatisasi dan skala
Pola ini terdiri dari langkah-langkah manual yang dapat diotomatisasi dengan menggunakan AWS Cloud Development Kit (AWS CDK), AWS CloudFormation, atau Terraform
Alat
Alat AWS
Amazon SageMaker AI adalah layanan pembelajaran mesin terkelola (ML) yang membantu Anda membangun dan melatih model ML, lalu menerapkannya ke lingkungan host yang siap produksi.
Amazon SageMaker AI Studio Classic adalah lingkungan pengembangan terintegrasi (IDE) berbasis web untuk pembelajaran mesin yang memungkinkan Anda membuat, melatih, men-debug, menerapkan, dan memantau model pembelajaran mesin Anda.
AWS CodeCommitadalah layanan kontrol versi yang membantu Anda menyimpan dan mengelola repositori Git secara pribadi, tanpa perlu mengelola sistem kontrol sumber Anda sendiri.
Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
Alat-alat lainnya
Git
adalah sistem kontrol versi terdistribusi untuk melacak perubahan kode sumber selama pengembangan perangkat lunak.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat kebijakan IAM untuk akses repositori di Akun A. |
TipIni adalah praktik terbaik untuk membatasi cakupan kebijakan IAM Anda ke izin minimum yang diperlukan untuk kasus penggunaan Anda. | AWS DevOps |
Buat peran IAM untuk akses repositori di Akun A. |
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Lampirkan kebijakan inline ke peran eksekusi yang dilampirkan ke pengguna SageMaker Domain Anda di Akun B. |
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat skrip shell di SageMaker AI Studio Classic di Akun B. |
| AWS DevOps |
Memanggil skrip shell dari terminal sistem. |
Anda telah mengkloning CodeCommit repositori Anda di akun lintas SageMaker AI Studio. Anda sekarang dapat melakukan semua perintah Git dari terminal sistem. | AWS DevOps |
Informasi tambahan
Contoh kebijakan IAM
Jika Anda menggunakan kebijakan contoh ini, lakukan hal berikut:
Ganti
<CodeCommit_Repository_Region>dengan Wilayah AWS untuk repositori.Ganti
<Account_A_ID>dengan ID akun untuk Akun A.Ganti
<CodeCommit_Repository_Name>dengan nama CodeCommit repositori Anda di Akun A.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:<CodeCommit_Repository_Region>:<Account_A_ID>:<CodeCommit_Repository_Name>" ] } ] }
Contoh skrip shell SageMaker AI
Jika Anda menggunakan contoh skrip ini, lakukan hal berikut:
Ganti
<Account_A_ID>dengan ID akun untuk Akun A.Ganti
<Account_A_Role_Name>dengan nama peran IAM yang Anda buat sebelumnya.Ganti
<CodeCommit_Repository_Region>dengan Wilayah AWS untuk repositori.Ganti
<CodeCommit_Repository_Name>dengan nama CodeCommit repositori Anda di Akun A.
#!/usr/bin/env bash #Launch from system terminal pip install --quiet git-remote-codecommit mkdir -p ~/.aws touch ~/.aws/config echo "[profile CrossAccountAccessProfile] region = <CodeCommit_Repository_Region> credential_source=EcsContainer role_arn = arn:aws:iam::<Account_A_ID>:role/<Account_A_Role_Name> output = json" > ~/.aws/config echo '[credential "https://git-codecommit.<CodeCommit_Repository_Region>.amazonaws.com"] helper = !aws codecommit credential-helper $@ --profile CrossAccountAccessProfile UseHttpPath = true' > ~/.gitconfig git clone codecommit::<CodeCommit_Repository_Region>://CrossAccountAccessProfile@<CodeCommit_Repository_Name>