Konfigurasikan daftar kluster EMR Amazon - Amazon SageMaker AI

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

Konfigurasikan daftar kluster EMR Amazon

Administrator dapat mengonfigurasi izin untuk peran eksekusi SageMaker Studio agar pengguna dapat melihat daftar kluster EMR Amazon yang dapat mereka akses, sehingga memungkinkan mereka untuk terhubung ke klaster ini. Cluster yang ingin Anda akses dapat digunakan di AWS akun yang sama dengan Studio (pilih Akun tunggal) atau di akun terpisah (pilih Akun silang). Halaman berikut menjelaskan cara memberikan izin untuk melihat kluster EMR Amazon dari Studio atau Studio Classic.

penting

Anda hanya dapat menemukan dan terhubung ke cluster EMR Amazon untuk JupyterLab dan aplikasi Studio Classic yang diluncurkan dari ruang pribadi. Pastikan klaster EMR Amazon berada di AWS wilayah yang sama dengan lingkungan Studio Anda.

Untuk memungkinkan ilmuwan data menemukan dan kemudian terhubung ke Amazon EMRclusters dari Studio atau Studio Classic, ikuti langkah-langkah berikut.

Jika klaster EMR Amazon dan Studio atau Studio Classic digunakan di AWS akun yang sama, lampirkan izin berikut ke peran eksekusi SageMaker AI yang mengakses klaster Anda.

  1. Langkah 1: Ambil ARN dari peran eksekusi AI SageMaker yang digunakan oleh ruang pribadi Anda.

    Untuk informasi tentang spasi dan peran eksekusi di SageMaker AI, lihatMemahami izin ruang domain dan peran eksekusi.

    Untuk informasi lebih lanjut tentang cara mengambil ARN SageMaker peran eksekusi AI, lihat. Dapatkan peran eksekusi Anda

  2. Langkah 2: Lampirkan izin berikut ke peran eksekusi SageMaker AI yang mengakses kluster EMR Amazon Anda.

    1. Arahkan ke konsol IAM.

    2. Pilih Peran dan kemudian cari peran eksekusi Anda berdasarkan nama di kolom Penelusuran. Nama peran adalah bagian terakhir dari ARN, setelah garis miring terakhir (/).

    3. Ikuti tautan ke peran Anda.

    4. Pilih Tambahkan izin lalu Buat kebijakan sebaris.

    5. Di tab JSON, tambahkan izin EMR Amazon yang memungkinkan akses dan operasi EMR Amazon. Untuk detail tentang dokumen kebijakan, lihat Daftar kebijakan EMR Amazon di. Kebijakan referensi Gantiregion, dan accountID dengan nilai aktualnya sebelum menyalin daftar pernyataan ke kebijakan inline peran Anda.

    6. Pilih Berikutnya dan kemudian berikan nama Kebijakan.

    7. Pilih Buat kebijakan.

catatan

Pengguna konektivitas kontrol akses berbasis peran (RBAC) ke kluster EMR Amazon juga harus merujuk. Konfigurasikan autentikasi peran runtime saat klaster EMR Amazon dan Studio berada di akun yang sama

Sebelum Anda memulai, ambil ARN dari peran eksekusi AI SageMaker yang digunakan oleh ruang pribadi Anda.

Untuk informasi tentang spasi dan peran eksekusi di SageMaker AI, lihatMemahami izin ruang domain dan peran eksekusi.

Untuk informasi lebih lanjut tentang cara mengambil ARN SageMaker peran eksekusi AI, lihat. Dapatkan peran eksekusi Anda

Jika kluster EMR Amazon dan Studio atau Studio Classic digunakan di AWS akun terpisah, Anda mengonfigurasi izin di kedua akun.

catatan

Pengguna konektivitas kontrol akses berbasis peran (RBAC) ke kluster EMR Amazon juga harus merujuk. Konfigurasikan autentikasi peran runtime saat klaster dan Studio Anda berada di akun yang berbeda

Di akun cluster Amazon EMR

Ikuti langkah-langkah ini untuk membuat peran dan kebijakan yang diperlukan pada akun tempat Amazon EMR digunakan, juga disebut sebagai akun kepercayaan:

  1. Langkah 1: Ambil ARN dari peran layanan cluster EMR Amazon Anda.

    Untuk mempelajari cara menemukan ARN peran layanan kluster, lihat Mengonfigurasi peran layanan IAM untuk izin EMR Amazon ke layanan dan sumber daya. AWS

  2. Langkah 2: Buat peran IAM kustom bernama AssumableRole dengan konfigurasi berikut:

    • Izin: Berikan izin yang diperlukan AssumableRole untuk mengizinkan mengakses sumber daya EMR Amazon. Peran ini juga dikenal sebagai peran Access dalam skenario yang melibatkan akses lintas akun.

    • Hubungan kepercayaan: Konfigurasikan kebijakan kepercayaan AssumableRole untuk mengizinkan asumsi peran eksekusi (SageMakerExecutionRoleDalam diagram lintas akun) dari akun Studio yang memerlukan akses.

    Dengan mengasumsikan peran tersebut, Studio atau Studio Classic dapat memperoleh akses sementara ke izin yang dibutuhkan di Amazon EMR.

    Untuk petunjuk terperinci tentang cara membuat yang baru AssumableRole di AWS akun EMR Amazon Anda, ikuti langkah-langkah berikut:

    1. Arahkan ke konsol IAM.

    2. Di panel navigasi kiri, pilih Kebijakan, lalu Buat kebijakan.

    3. Di tab JSON, tambahkan izin EMR Amazon yang memungkinkan akses dan operasi EMR Amazon. Untuk detail tentang dokumen kebijakan, lihat Daftar kebijakan EMR Amazon di. Kebijakan referensi Gantiregion, dan accountID dengan nilai aktualnya sebelum menyalin daftar pernyataan ke kebijakan inline peran Anda.

    4. Pilih Berikutnya dan kemudian berikan nama Kebijakan.

    5. Pilih Buat kebijakan.

    6. Di panel navigasi kiri, pilih Peran dan kemudian Buat peran.

    7. Pada halaman Buat peran, pilih Kebijakan kepercayaan khusus sebagai entitas tepercaya.

    8. Tempel dokumen JSON berikut di bagian Kebijakan kepercayaan kustom dan kemudian pilih Berikutnya.

      For users of Studio and JupyterLab

      Ganti studio-account dengan ID akun Studio, dan AmazonSageMaker-ExecutionRole dengan peran eksekusi yang digunakan oleh JupyterLab spasi Anda.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:role/service-role/AmazonSageMaker-ExecutionRole" }, "Action": "sts:AssumeRole" } ] }
      For users of Studio Classic

      Ganti studio-account dengan ID akun Studio Classic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    9. Di halaman Tambahkan izin, tambahkan izin yang baru saja Anda buat lalu pilih Berikutnya.

    10. Pada halaman Ulasan, masukkan nama untuk peran seperti AssumableRole dan deskripsi opsional.

    11. Tinjau detail peran dan pilih Buat peran.

    Untuk informasi selengkapnya tentang membuat peran di AWS akun, lihat Membuat peran IAM (konsol).

Di akun Studio

Pada akun tempat Studio digunakan, juga disebut sebagai akun tepercaya, perbarui peran eksekusi SageMaker AI yang mengakses kluster Anda dengan izin yang diperlukan untuk mengakses sumber daya di akun kepercayaan.

  1. Langkah 1: Ambil ARN dari peran eksekusi AI SageMaker yang digunakan oleh ruang pribadi Anda.

    Untuk informasi tentang spasi dan peran eksekusi di SageMaker AI, lihatMemahami izin ruang domain dan peran eksekusi.

    Untuk informasi lebih lanjut tentang cara mengambil ARN SageMaker peran eksekusi AI, lihat. Dapatkan peran eksekusi Anda

  2. Langkah 2: Lampirkan izin berikut ke peran eksekusi SageMaker AI yang mengakses kluster EMR Amazon Anda.

    1. Arahkan ke konsol IAM.

    2. Pilih Peran dan kemudian cari peran eksekusi Anda berdasarkan nama di kolom Penelusuran. Nama peran adalah bagian terakhir dari ARN, setelah garis miring terakhir (/).

    3. Ikuti tautan ke peran Anda.

    4. Pilih Tambahkan izin lalu Buat kebijakan sebaris.

    5. Di tab JSON, tambahkan kebijakan sebaris yang memberikan izin peran untuk memperbarui domain, profil pengguna, dan spasi. Untuk detail tentang dokumen kebijakan, lihat Kebijakan tindakan pembaruan domain, profil pengguna, dan ruang diKebijakan referensi. Ganti region dan accountID dengan nilai aktualnya sebelum menyalin daftar pernyataan ke kebijakan inline peran Anda.

    6. Pilih Berikutnya dan kemudian berikan nama Kebijakan.

    7. Pilih Buat kebijakan.

    8. Ulangi langkah Buat kebijakan sebaris untuk menambahkan kebijakan lain yang memberikan peran eksekusi izin untuk mengambil alih AssumableRole dan kemudian melakukan tindakan yang diizinkan oleh kebijakan akses peran. Ganti emr-account dengan ID akun EMR Amazon, dan AssumableRole dengan nama peran yang dapat diasumsikan dibuat di akun EMR Amazon.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/AssumableRole" ] }] }
    9. (Opsional) Untuk mengizinkan pencantuman klaster EMR Amazon yang diterapkan di akun yang sama dengan Studio, tambahkan kebijakan sebaris tambahan ke peran eksekusi Studio Anda seperti yang ditentukan dalam Daftar kebijakan EMR Amazon di. Kebijakan referensi

  3. Langkah 3: Kaitkan peran yang dapat diasumsikan (peran akses) Anda dengan domain atau profil pengguna Anda. JupyterLabpengguna di Studio dapat menggunakan konsol SageMaker AI atau skrip yang disediakan.

    Pilih tab yang sesuai dengan kasus penggunaan Anda.

    Associate your assumable roles in JupyterLab using the SageMaker AI console

    Untuk mengaitkan peran yang dapat diasumsikan dengan profil pengguna atau domain Anda menggunakan konsol SageMaker AI:

    1. Arahkan ke konsol SageMaker AI di https://console.aws.amazon.com/sagemaker/.

    2. Di panel navigasi kiri, pilih domain, lalu pilih domain menggunakan peran eksekusi SageMaker AI yang izinnya Anda perbarui.

      • Untuk menambahkan peran yang dapat diasumsikan (peran akses) ke domain Anda: Di tab Konfigurasi Aplikasi pada halaman detail Domain, navigasikan ke bagian tersebut JupyterLab.

      • Untuk menambahkan peran yang dapat diasumsikan (peran akses) ke profil pengguna: Pada halaman Detail domain, pilih tab Profil pengguna, pilih profil pengguna menggunakan peran eksekusi SageMaker AI yang izinnya Anda perbarui. Di tab Konfigurasi Aplikasi, arahkan ke JupyterLabbagian tersebut.

    3. Pilih Edit dan tambahkan peran ARNs yang dapat diasumsikan (peran akses).

    4. Pilih Kirim.

    Associate your assumable roles in JupyterLab using a Python script

    Dalam JupyterLab aplikasi yang dimulai dari ruang menggunakan peran eksekusi SageMaker AI yang izinnya Anda perbarui, jalankan perintah berikut di terminal. GantidomainID,, user-profile-nameemr-accountID, dan AssumableRole (EMRServiceRoleuntuk peran runtime RBAC) dengan nilai yang tepat. Cuplikan kode ini memperbarui pengaturan profil pengguna untuk profil pengguna tertentu (penggunaanclient.update_userprofile) atau pengaturan domain (penggunaanclient.update_domain) dalam domain SageMaker AI. Secara khusus, ini memungkinkan JupyterLab aplikasi untuk mengambil peran IAM tertentu (AssumableRole) untuk menjalankan cluster EMR Amazon dalam akun EMR Amazon.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", "arn:aws:iam::emr-accountID:role/AnotherServiceRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))
    For users of Studio Classic

    Berikan ARN AssumableRole untuk peran eksekusi Studio Classic Anda. ARN dimuat oleh server Jupyter saat diluncurkan. Peran eksekusi yang digunakan oleh Studio mengasumsikan peran lintas akun untuk menemukan dan terhubung ke klaster EMR Amazon di akun kepercayaan.

    Anda dapat menentukan informasi ini dengan menggunakan skrip Lifecycle Configuration (LCC). Anda dapat melampirkan LCC ke domain Anda atau profil pengguna tertentu. Skrip LCC yang Anda gunakan harus berupa JupyterServer konfigurasi. Untuk informasi selengkapnya tentang cara membuat skrip LCC, lihat Menggunakan Konfigurasi Siklus Hidup dengan Studio Classic.

    Berikut ini adalah contoh skrip LCC. Untuk memodifikasi skrip, ganti AssumableRole dan emr-account dengan nilainya masing-masing. Jumlah akun silang dibatasi hingga lima.

    # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account. #!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat > "$FILE" <<- "EOF" { emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole", emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole" } EOF

    Setelah LCC berjalan dan file ditulis, server membaca file /home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json dan menyimpan ARN lintas akun.

Lihat Daftar kluster EMR Amazon dari Studio atau Studio Classic untuk mempelajari cara menemukan dan terhubung ke kluster EMR Amazon dari notebook Studio atau Studio Classic.