Konfigurasikan daftar EMR klaster 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 EMR klaster Amazon

Administrator dapat mengonfigurasi izin untuk peran eksekusi SageMaker Studio agar pengguna dapat melihat daftar EMR klaster 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 EMR kluster Amazon dari Studio atau Studio Classic.

penting

Anda hanya dapat menemukan dan terhubung ke EMR cluster Amazon untuk JupyterLab dan aplikasi Studio Classic yang diluncurkan dari ruang pribadi. Pastikan EMR klaster 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 EMR klaster Amazon dan Studio atau Studio Classic Anda digunakan di AWS akun yang sama, lampirkan izin berikut ke peran eksekusi SageMaker AI yang mengakses klaster Anda.

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

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

    Untuk informasi selengkapnya tentang cara mengambil peran eksekusi SageMaker AI, lihatDapatkan peran eksekusi Anda. ARN

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

    1. Navigasikan ke konsol IAM tersebut.

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

    3. Ikuti tautan ke peran Anda.

    4. Pilih Tambahkan izin lalu Buat kebijakan sebaris.

    5. Di JSONtab, tambahkan EMR izin Amazon yang memungkinkan EMR akses dan operasi Amazon. Untuk detail tentang dokumen kebijakan, lihat Daftar EMR kebijakan Amazon diKebijakan 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 EMR kluster Amazon juga harus merujuk. Konfigurasikan autentikasi peran runtime saat EMR klaster Amazon dan Studio berada di akun yang sama

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

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

Untuk informasi selengkapnya tentang cara mengambil peran eksekusi SageMaker AI, lihatDapatkan peran eksekusi Anda. ARN

Jika EMR klaster 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 EMR kluster Amazon juga harus merujuk. Konfigurasikan autentikasi peran runtime saat klaster dan Studio Anda berada di akun yang berbeda

Di akun EMR cluster Amazon

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 peran layanan EMR klaster Amazon Anda. ARN

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

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

    • Izin: Berikan izin yang diperlukan AssumableRole untuk mengizinkan mengakses sumber daya AmazonEMR. 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 EMR AWS akun Amazon Anda, ikuti langkah-langkah berikut:

    1. Navigasikan ke konsol IAM tersebut.

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

    3. Di JSONtab, tambahkan EMR izin Amazon yang memungkinkan EMR akses dan operasi Amazon. Untuk detail tentang dokumen kebijakan, lihat Daftar EMR kebijakan Amazon diKebijakan 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 JSON dokumen berikut di bagian Kebijakan kepercayaan kustom, lalu 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 IAM peran (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 peran eksekusi SageMaker AI yang digunakan oleh ruang pribadi Anda. ARN

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

    Untuk informasi selengkapnya tentang cara mengambil peran eksekusi SageMaker AI, lihatDapatkan peran eksekusi Anda. ARN

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

    1. Navigasikan ke konsol IAM tersebut.

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

    3. Ikuti tautan ke peran Anda.

    4. Pilih Tambahkan izin lalu Buat kebijakan sebaris.

    5. Di JSONtab, 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 spasi 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 EMR akun Amazon, dan AssumableRole dengan nama peran yang dapat diasumsikan dibuat di EMR akun 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 EMR klaster Amazon yang diterapkan di akun yang sama dengan Studio, tambahkan kebijakan sebaris tambahan ke peran eksekusi Studio Anda seperti yang ditentukan dalam Daftar kebijakan Amazon EMR 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-name,emr-accountID, dan AssumableRole (EMRServiceRoleuntuk peran RBAC runtime) 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 IAM peran tertentu (AssumableRole) untuk menjalankan EMR cluster Amazon dalam EMR akun 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 peran eksekusi Studio Classic AssumableRole ke Anda. ARN ARNItu dimuat oleh server Jupyter saat peluncuran. Peran eksekusi yang digunakan oleh Studio mengasumsikan peran lintas akun tersebut untuk menemukan dan terhubung ke EMR klaster 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. LCCSkrip yang Anda gunakan harus berupa JupyterServer konfigurasi. Untuk informasi selengkapnya tentang cara membuat LCC skrip, lihat Menggunakan Konfigurasi Siklus Hidup dengan Studio Classic.

    Berikut ini adalah contoh LCC script. 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 cross-accountARN.

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