全部产品
Search
文档中心

Platform For AI:Mengaitkan peran RAM dengan pekerjaan DLC

更新时间:Jul 06, 2025

Untuk mengakses layanan Alibaba Cloud lainnya dalam pekerjaan Deep Learning Containers (DLC), Anda dapat mengonfigurasi pasangan AccessKey untuk otentikasi identitas. Namun, jika Anda mengaitkan peran RAM dengan pekerjaan DLC, Anda dapat menggunakan kredensial akses sementara dari Security Token Service (STS) tanpa perlu mengonfigurasi pasangan AccessKey, sehingga meningkatkan keamanan. Dokumen ini menjelaskan cara membuat peran RAM, mengaitkannya dengan pekerjaan DLC, serta memperoleh kredensial akses sementara melalui STS.

Manfaat

Anda dapat menggunakan peran RAM yang entitas tepercayanya adalah layanan Alibaba Cloud. Layanan tersebut dapat mengasumsikan peran RAM untuk menerapkan akses lintas layanan. Dengan menggunakan peran RAM, Anda dapat memperoleh kredensial akses sementara untuk otentikasi identitas dan kontrol akses. Metode ini menawarkan manfaat berikut:

  • Keamanan dan kerahasiaan: Tidak perlu mengelola kredensial dalam pekerjaan DLC. Anda dapat menggunakan kredensial akses sementara dari STS sebagai pengganti pasangan AccessKey, mengurangi risiko kebocoran kredensial.

  • Pengelolaan yang nyaman: Modifikasi kebijakan yang dilampirkan pada peran RAM memungkinkan Anda mengelola izin akses pengembang terhadap layanan Alibaba Cloud dalam pekerjaan DLC secara lebih rinci dan efisien.

Batasan

Setiap pekerjaan DLC hanya dapat dikaitkan dengan satu peran RAM.

Metode konfigurasi

Kaitkan peran RAM saat membuat pekerjaan DLC, lalu peroleh kredensial akses sementara melalui STS menggunakan peran RAM tersebut.

Mengaitkan peran RAM dengan pekerjaan DLC

Skenario 1: Mengaitkan peran default PAI dengan pekerjaan DLC

Peran Default Platform for AI (PAI) adalah peran RAM yang ditetapkan kepada AliyunPAIDLCDefaultRole. Peran default ini memiliki izin akses ke MaxCompute dan Object Storage Service (OSS) serta mendukung kontrol akses yang lebih rinci. Saat mengakses tabel MaxCompute, kredensial akses sementara yang diberikan memiliki izin yang sama dengan pemilik instance DLC. Saat mengakses OSS, kredensial hanya dapat digunakan untuk mengakses bucket OSS default yang dikonfigurasi untuk ruang kerja saat ini.

Dengan mengaitkan peran default PAI, Anda dapat memperoleh kredensial akses sementara untuk mengakses sumber daya pengembangan dasar dalam pekerjaan DLC tanpa perlu membuat peran RAM tambahan.

  • Skenario Penggunaan

    Setelah mengaitkan peran default PAI, Anda tidak perlu mengonfigurasi pasangan AccessKey dalam skenario berikut:

    • Gunakan MaxCompute SDK untuk menyerahkan pekerjaan ke proyek MaxCompute di mana pemilik pekerjaan memiliki izin eksekusi.

    • Gunakan OSS SDK untuk mengakses data di bucket OSS default yang dikonfigurasi untuk ruang kerja saat ini.

  • Metode Konfigurasi

    Saat menyerahkan pekerjaan pelatihan, pilih Default Roles of PAI untuk Instance RAM Role di bagian Roles and Permissions. image

Setelah mengaitkan peran RAM dengan pekerjaan DLC, Anda harus memperoleh kredensial akses sementara menggunakan peran RAM.

Skenario 2: Mengaitkan peran kustom dengan pekerjaan DLC

Jika izin kredensial akses sementara yang diperoleh menggunakan peran default PAI tidak memenuhi kebutuhan Anda, buat peran RAM baru dan lampirkan izin yang sesuai untuk mengontrol jangkauan sumber daya Alibaba Cloud yang dapat diakses oleh pengembang dalam pekerjaan tersebut. Ikuti langkah-langkah berikut:

  1. Masuk ke Konsol RAM dan buat peran RAM.

    Catat parameter kunci berikut:

    • Principal Type: Pilih Cloud Service.

    • Principal Name: Pilih Platform for AI / PAI.

  2. Berikan izin kepada peran RAM.

    Lampirkan kebijakan sistem atau kebijakan kustom ke peran RAM agar dapat mengakses atau mengelola sumber daya terkait. Sebagai contoh, lampirkan kebijakan AliyunOSSReadOnlyAccess ke peran RAM.

    Jika Anda menggunakan pengguna RAM, hubungi pemilik akun Alibaba Cloud untuk memberikan izin kepada pengguna RAM saat ini agar dapat menggunakan peran RAM. Untuk informasi lebih lanjut, lihat Memberikan Izin kepada Pengguna RAM. Contoh dokumen kebijakan:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram::*:role/${RoleName}"
        }
      ]
    }

    Ganti ${RoleName} dalam dokumen kebijakan sampel di atas dengan nama peran RAM yang ingin Anda kaitkan dengan pekerjaan DLC.

  3. Kaitkan peran RAM dengan pekerjaan DLC dan serahkan pekerjaan DLC. Konfigurasikan parameter kunci berikut di bagian Peran dan Izin. Untuk informasi tentang parameter lainnya, lihat Serahkan Pekerjaan Pelatihan.image

    Parameter

    Deskripsi

    Instance RAM Role

    Pilih Custom Roles.

    RAM Role

    Pilih peran RAM yang Anda buat di Langkah 1. Setelah Anda mengaitkan peran RAM dengan pekerjaan DLC, Anda memiliki izin dari peran RAM untuk mengakses layanan Alibaba Cloud lainnya dalam pekerjaan DLC menggunakan kredensial akses sementara yang disediakan oleh STS.

Setelah mengaitkan peran RAM dengan pekerjaan DLC, Anda harus memperoleh kredensial akses sementara menggunakan peran RAM.

Skenario 3: Tidak mengaitkan peran RAM dengan pekerjaan DLC

Jika Anda tidak perlu menggunakan pasangan AccessKey untuk mengakses data, kami sarankan Anda tidak mengaitkan peran RAM dengan pekerjaan DLC. Saat menyerahkan pekerjaan pelatihan, pilih Does Not Associate Role untuk Instance RAM Role di bagian Roles and Permissions. image

Memperoleh kredensial akses sementara menggunakan peran RAM yang terkait dengan pekerjaan DLC

Saat membuat pekerjaan DLC, jika Anda mengaitkan pekerjaan DLC dengan peran default PAI atau peran kustom, peroleh kredensial akses sementara menggunakan metode berikut:

Metode 1: Gunakan alat Alibaba Cloud Credentials

Alat Alibaba Cloud Credentials memanggil layanan lokal yang secara otomatis diinjeksikan saat Anda membuat pekerjaan DLC untuk memperoleh kredensial akses sementara dari STS. Kredensial ini diperbarui secara berkala.

Saat menyerahkan pekerjaan pelatihan, selesaikan konfigurasi berikut:

  • Instal alat Alibaba Cloud Credentials.

    Di halaman Buat Pekerjaan, pilih Select from List untuk parameter Third-party Libraries dan masukkan alibabacloud_credentials di bidang Pustaka Pihak Ketiga untuk menginstal alat Alibaba Cloud Credentials.

    Catatan

    Jika pustaka pihak ketiga sudah diinstal sebelumnya di gambar, Anda dapat melewati konfigurasi ini.

  • Konfigurasikan file skrip.

    Contoh ini menggunakan file skrip Python. Untuk informasi lebih lanjut tentang kode sampel SDK untuk bahasa pemrograman lainnya, lihat Kode Sampel. Anda dapat memilih Konfigurasi Online untuk parameter Code Builds, atau pilih Local Upload untuk mengunggah file skrip dari mesin lokal Anda ke lingkungan DLC.

    from alibabacloud_credentials.client import Client as CredClient
    from alibabacloud_credentials.models import Config as CredConfig
    
    credentialsConfig = CredConfig(
        type='credentials_uri'
    )
    credentialsClient = CredClient(credentialsConfig)
    

Metode 2: Akses layanan lokal pekerjaan DLC

Saat menyerahkan pekerjaan pelatihan, atur parameter Startup Command ke perintah berikut. Dengan cara ini, Anda dapat mengakses layanan lokal yang secara otomatis diinjeksikan ke dalam pekerjaan DLC untuk memperoleh kredensial akses sementara.

# Memperoleh kredensial akses sementara untuk peran RAM instance.
curl $ALIBABA_CLOUD_CREDENTIALS_URI

Keluaran berikut dikembalikan:

{
	"Code": "Success",
	"AccessKeyId": "STS.N*********7",
	"AccessKeySecret": "3***************d",
	"SecurityToken": "DFE32G*******"
	"Expiration": "2024-05-21T10:39:29Z"
}

Dalam keluaran, perhatikan parameter berikut:

  • SecurityToken: kredensial akses sementara untuk peran RAM.

  • Expiration: waktu kedaluwarsa kredensial akses sementara untuk peran RAM.

Metode 3: Akses file lokal pekerjaan DLC

Akses file di jalur tertentu dari kontainer DLC untuk memperoleh kredensial akses sementara menggunakan peran RAM. File ini secara otomatis diinjeksikan oleh PAI dan diperbarui secara berkala. Jalur file adalah /mnt/.alibabacloud/credentials. Contoh kode sampel berikut menunjukkan isi file:

{
	"AccessKeyId": "STS.N*********7",
	"AccessKeySecret": "3***************d",
	"SecurityToken": "DFE32G*******"
	"Expiration": "2024-05-21T10:39:29Z"
}

Contoh

Contoh 1: Akses MaxCompute menggunakan peran RAM yang terkait dengan pekerjaan DLC

Saat menyerahkan pekerjaan pelatihan, selesaikan konfigurasi berikut:

  • Instal alat Alibaba Cloud Credentials.

    Atur parameter Third-party Libraries ke Select from List dan masukkan pustaka pihak ketiga berikut untuk menginstal Alibaba Cloud Credentials dan MaxCompute SDK.

    alibabacloud_credentials
    pyodps
    Catatan

    Jika pustaka pihak ketiga sudah diinstal sebelumnya di gambar, Anda dapat melewati konfigurasi ini.

  • Konfigurasikan file skrip.

    Contoh ini menggunakan file skrip Python. Anda dapat memilih Konfigurasi Online untuk parameter Code Builds, atau pilih Local Upload untuk mengunggah file skrip dari mesin lokal Anda ke lingkungan DLC. Kemudian, konfigurasikan Mount Path seperti /mnt/data/.

    from alibabacloud_credentials import providers
    from odps.accounts import CredentialProviderAccount
    from odps import ODPS
    
    if __name__ == '__main__':
        account = CredentialProviderAccount(providers.DefaultCredentialsProvider())
        o = ODPS(
            account=account,
            project="{odps_project}",  # Ganti {odps_project} dengan nama proyek Anda.
            endpoint="{odps_endpoint}"  # Ganti {odps_endpoint} dengan titik akhir wilayah tempat proyek Anda berada.
        )
    
        for t in o.list_tables():
            print(t)
    
  • Konfigurasikan perintah startup.

    Atur Startup Command ke perintah yang menjalankan skrip. Sebagai contoh, python /mnt/data/xx.py.

  • Konfigurasikan Role Information.

    Pilih Default Roles of PAI untuk Instance RAM Role.

Contoh 2: Akses OSS menggunakan peran RAM yang terkait dengan pekerjaan DLC

Saat menyerahkan pekerjaan pelatihan, selesaikan konfigurasi berikut:

  • Instal alat Alibaba Cloud Credentials.

    Atur parameter Third-party Libraries ke Select from List dan masukkan pustaka pihak ketiga berikut untuk menginstal Alibaba Cloud Credentials dan OSS SDK.

    alibabacloud_credentials
    oss2
    Catatan

    Jika pustaka pihak ketiga sudah diinstal sebelumnya di gambar, Anda dapat melewati konfigurasi ini.

  • Konfigurasikan file skrip.

    Contoh ini menggunakan file skrip Python. Anda dapat memilih Konfigurasi Online untuk parameter Code Builds, atau pilih Local Upload untuk mengunggah file skrip dari mesin lokal Anda ke lingkungan DLC. Kemudian, konfigurasikan Mount Path seperti /mnt/data/.

    import oss2
    from alibabacloud_credentials.client import Client
    from alibabacloud_credentials import providers
    from itertools import islice
    
    auth = oss2.ProviderAuth(providers.DefaultCredentialsProvider())
    bucket = oss2.Bucket(auth,
                         '{oss_endpoint}',  # Ganti {oss_endpoint} dengan titik akhir wilayah tempat bucket OSS Anda berada.
                         '{oss_bucket}'  # Ganti {oss_bucket} dengan nama bucket OSS Anda.
             )
    for b in islice(oss2.ObjectIterator(bucket), 10):
        print(b.key)
    
  • Konfigurasikan perintah startup.

    Atur Startup Command ke perintah yang menjalankan skrip. Sebagai contoh, python /mnt/data/xx.py.

  • Konfigurasikan Role Information.

    Pilih Default Roles of PAI untuk Instance RAM Role.

FAQ

Apa yang harus saya lakukan jika terjadi kesalahan saat saya mengaitkan peran kustom dengan pekerjaan DLC selama pembuatan pekerjaan?

  • Pesan kesalahan adalah cek izin untuk peran ram gagal atau cek izin untuk sub user gagal.

    Untuk menyelesaikan masalah ini, masuk ke Konsol RAM untuk memeriksa apakah peran RAM ada.

    • Jika peran RAM tidak ada, ubah peran RAM menjadi peran yang ada.

    • Jika peran RAM ada, hubungi pemilik akun Alibaba Cloud untuk memberikan izin kepada pengguna RAM saat ini agar dapat menggunakan peran RAM. Untuk informasi lebih lanjut, lihat Memberikan Izin kepada Pengguna RAM. Kode sampel berikut menunjukkan dokumen kebijakan. Ganti ${RoleName} dengan nama peran RAM.

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "ram:PassRole",
            "Resource": "acs:ram::*:role/${RoleName}"
          }
        ]
      }
  • Pesan kesalahan adalah Gagal mengasumsikan peran untuk pengguna.

    Dalam banyak kasus, kesalahan ini terjadi karena tidak ada kebijakan kepercayaan yang dikonfigurasi untuk peran RAM. Untuk mengonfigurasi kebijakan kefigurasi kebijakan kepercayaan untuk peran RAM, ikuti langkah-langkah berikut:

    1. Masuk ke Konsol RAM sebagai pengguna RAM dengan hak administratif.

    2. Di panel navigasi kiri, pilih Identities > Roles.

    3. Di halaman Roles, klik nama Peran RAM yang telah Anda buat.

    4. Di tab Trust Policy, klik Edit Trust Policy.

    5. Di editor kode, modifikasi isi kebijakan kepercayaan dan klik OK.

      Kode sampel berikut menunjukkan dokumen kebijakan asli peran RAM:

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "acs:ram::aaa:root"
              ],
              "Service": [
                "xxx.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }

      Kode sampel berikut menunjukkan dokumen kebijakan baru peran RAM:

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "acs:ram::aaa:root"
              ],
              "Service": [
                "xxx.aliyuncs.com",
                "pai.aliyuncs.com" 
              ]
            }
          }
        ],
        "Version": "1"
      }