全部产品
Search
文档中心

Platform For AI:Konfigurasikan Peran RAM EAS

更新时间:Jul 10, 2025

Saat mengakses sumber daya cloud lainnya dalam layanan EAS, Anda perlu mengonfigurasi kunci akses untuk otentikasi. Dengan mengaitkan peran RAM, Anda dapat mengakses sumber daya cloud lainnya dalam instance layanan EAS menggunakan kredensial sementara STS tanpa harus mengonfigurasi AccessKey jangka panjang, sehingga mengurangi risiko kebocoran kunci. Topik ini menjelaskan cara membuat peran RAM dan memberinya otorisasi kepada EAS, serta cara mendapatkan kredensial akses sementara STS berdasarkan peran RAM.

Manfaat

Peran RAM adalah entitas tepercaya yang dapat diasumsikan oleh layanan cloud untuk menyelesaikan masalah "akses lintas-layanan". Mendapatkan kredensial akses sementara berdasarkan peran RAM untuk verifikasi identitas dan kontrol akses memiliki manfaat sebagai berikut:

  • Keamanan dan kerahasiaan: Tidak perlu mengelola kredensial di dalam layanan. Kredensial akses sementara STS menggantikan AccessKey jangka panjang, mengurangi risiko kebocoran kunci.

  • Nyaman dan terkendali: Dengan memodifikasi kebijakan izin peran RAM, Anda dapat lebih nyaman dan tepat mengontrol izin bagi pengembang untuk mengakses sumber daya cloud di dalam layanan.

Batasan

Saat ini, sebuah layanan EAS hanya dapat dikaitkan dengan satu peran RAM.

Metode konfigurasi

Konfigurasikan peran RAM untuk layanan EAS saat membuatnya, dan dapatkan kredensial akses sementara STS.

Konfigurasikan peran RAM untuk EAS

Berikut adalah metode konfigurasi yang didukung:

Metode Konfigurasi

Skenario

Metode 1: Otorisasi peran default PAI untuk layanan EAS

Catatan

Peran default PAI beroperasi berdasarkan peran layanan AliyunServiceRoleForPaiEas dan hanya memiliki izin untuk mengakses MaxCompute dan OSS.

Tidak perlu membuat peran RAM tambahan, cocok untuk mengakses sumber daya pengembangan dasar di MaxCompute dan OSS. Setelah mengotorisasi peran default PAI untuk layanan EAS, Anda tidak perlu mengonfigurasi AccessKey dalam skenario berikut:

  • Akses data di proyek MaxCompute tempat pemilik layanan EAS memiliki izin eksekusi melalui SDK PyODPS.

  • Akses data di bucket OSS default yang telah ditetapkan di ruang kerja saat ini melalui SDK OSS.

Metode 2: Otorisasi peran kustom untuk layanan EAS

Jika izin peran default PAI tidak mencukupi, Anda dapat membuat peran RAM dan menyesuaikan kebijakan izinnya untuk mengontrol rentang sumber daya cloud yang dapat diakses oleh pengembang di dalam layanan EAS sesuai kebutuhan.

Setelah mengotorisasi peran kustom untuk layanan EAS, saat mengakses produk cloud melalui kredensial sementara STS, izin akan sesuai dengan peran kustom tersebut. Selama penyebaran layanan, sistem akan mengakses sumber data yang dipasang dan menarik gambar kustom berdasarkan izin peran kustom.

Metode konfigurasi spesifik adalah sebagai berikut:

Metode 1: Otorisasi peran default PAI untuk layanan EAS

Saat menerapkan layanan EAS, tambahkan konfigurasi berikut ke JSON di bagian Konfigurasi Layanan:

"options": {
  "enable_ram_role": true
}
Catatan

Jika Anda menggunakan JSON untuk penyebaran langsung dan ingin memanggil SDK OSS melalui peran default PAI, pastikan konfigurasi layanan mencakup bidang metadata.workspace_id.

Metode 2: Otorisasi peran kustom untuk layanan EAS

  1. Masuk ke Konsol RAM dan buat peran RAM.

    Catat parameter utama berikut:

    • Trusted Entity Type: Pilih Alibaba Cloud Service.

    • Trusted Service Name: Pilih Platform For AI/PAI (eas.pai.aliyuncs.com).

    image

  2. Berikan izin kepada peran RAM.

    Berikan kebijakan sistem atau kebijakan kustom kepada peran RAM untuk memberikan izin akses sumber daya atau operasi terkait. Sebagai contoh, berikan izin AliyunOSSReadOnlyAccess kepada peran RAM untuk mengakses OSS.

    Penting

    Jika Anda memasang sumber data atau menggunakan gambar kustom saat menerapkan layanan, sistem akan mengakses sumber data dan menarik gambar berdasarkan izin peran RAM. Oleh karena itu, Anda perlu memberikan izin kepada peran RAM untuk mengakses sumber data (NAS atau OSS) dan Container Registry.

  3. Kaitkan peran RAM saat menerapkan layanan EAS.

    Konfigurasikan konten berikut dalam JSON bagian konfigurasi layanan, di mana role_arn perlu diganti dengan ARN dari peran RAM yang dibuat pada langkah sebelumnya. Untuk informasi tentang cara mendapatkan ARN, lihat Lihat Peran RAM.

    "options": {
      "enable_ram_role": true
    },
    "role_arn": "acs:ram::111*************:role/${RoleName}"

    (Opsional) Jika Anda menggunakan Pengguna Resource Access Management (RAM) (sub-akun Alibaba Cloud) untuk menerapkan layanan EAS, hubungi akun Alibaba Cloud (akun utama) untuk memberikan kebijakan kepercayaan berikut agar Anda mendapatkan izin untuk melewatkan peran RAM ke instance EAS. Untuk informasi lebih lanjut, lihat Buat Kebijakan Izin Kustom dan Berikan Izin kepada Pengguna RAM.

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

    Ganti ${RoleName} dengan nama peran RAM yang dikaitkan dengan layanan EAS.

Dapatkan kredensial akses sementara berdasarkan peran RAM yang dikaitkan dengan layanan EAS

Setelah menetapkan peran default PAI atau peran kustom ke layanan EAS, Anda dapat memperoleh kredensial akses sementara melalui metode berikut:

Metode 1: Dapatkan melalui alat Credentials

Alat Credentials memanggil layanan lokal di dalam instance layanan EAS (diinjeksikan secara otomatis saat layanan EAS dibuat) untuk mendapatkan kredensial akses sementara STS, yang diperbarui secara berkala.

Saat menerapkan layanan EAS, lengkapi konfigurasi kunci berikut:

  • Instal alat Alibaba Cloud Credentials.

    Pada parameter Konfigurasi Pustaka Pihak Ketiga, pilih Daftar Pustaka Pihak Ketiga, dan konfigurasikan alibabacloud_credentials di kotak edit untuk menginstal alat Alibaba Cloud Credentials.

    Catatan

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

  • Konfigurasikan file skrip.

    Untuk Python, contoh isi skrip adalah sebagai berikut. Untuk contoh SDK bahasa lainnya, lihat Praktik Terbaik untuk Mengakses OpenAPI Alibaba Cloud Menggunakan Kredensial Akses.

    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 langsung layanan lokal di dalam instance layanan EAS

Di dalam instance layanan EAS, jalankan perintah berikut untuk mengakses server lokal yang diinjeksikan secara otomatis guna mendapatkan kredensial akses sementara.

# Dapatkan kredensial akses otorisasi sementara untuk peran RAM instance
curl $ALIBABA_CLOUD_CREDENTIALS_URI

Contoh respons:

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

Dimana:

  • SecurityToken: Menunjukkan token sementara dari peran RAM.

  • Expiration: Menunjukkan periode validitas kredensial akses otorisasi sementara dari peran RAM.

Metode 3: Akses langsung file lokal di dalam instance layanan EAS

Akses file di jalur tertentu di dalam instance layanan EAS (diinjeksikan dan diperbarui secara berkala oleh PAI-EAS) untuk mendapatkan kredensial akses sementara untuk peran RAM. Jalur ke file ini adalah /etc/ram/credentials, dan contoh isi file adalah sebagai berikut:

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

Contoh

Bagian ini menjelaskan cara mengakses PyODPS atau OSS berdasarkan peran RAM EAS. Anda dapat mengintegrasikan kode ke dalam gambar layanan atau memasangnya ke instance layanan melalui konfigurasi model. Contoh ini menunjukkan metode pemasangan. Prosedurnya adalah sebagai berikut:

  1. Pergi ke halaman Penyebaran Kustom. Untuk informasi lebih lanjut, lihat Penyebaran Layanan.

  2. Di halaman Penyebaran Kustom, konfigurasikan parameter kunci berikut. Untuk informasi lebih lanjut tentang konfigurasi parameter, lihat Deskripsi Parameter Penyebaran Kustom Konsol.

    Parameter

    Deskripsi

    Environment Information

    Run Command

    Tambahkan perintah untuk mengeksekusi kode, seperti python /mnt/data/xx.py.

    Model Configuration

    Pasang file kode xx.py ke instance layanan EAS melalui Konfigurasi Model. Pilih direktori tempat file kode berada dan konfigurasikan jalur pemasangan /mnt/data/. Contoh isi file kode adalah sebagai berikut:

    Contoh 1: Akses data OSS berdasarkan peran RAM

    import oss2
    from alibabacloud_credentials.client import Client
    from alibabacloud_credentials import providers
    from itertools import islice
    
    if __name__ == '__main__':
        auth = oss2.ProviderAuth(providers.DefaultCredentialsProvider())
        # <oss_endpoint> perlu diganti dengan nama Bucket OSS Anda; <oss_bucket> perlu diganti dengan Endpoint wilayah tempat Bucket OSS Anda berada.
        bucket = oss2.Bucket(auth,
                             '<oss_endpoint>',
                             '<oss_bucket>'
                  )
    
        for b in islice(oss2.ObjectIterator(bucket), 10):
            print(b.key)
    

    Dimana:

    • <oss_bucket> perlu diganti dengan nama Bucket OSS Anda, dan pastikan itu adalah bucket OSS default yang telah ditetapkan di ruang kerja saat ini.

    • <oss_endpoint> perlu diganti dengan Endpoint wilayah tempat Bucket OSS Anda berada. Karena EAS tidak terhubung ke jaringan publik secara default, Anda harus mengonfigurasi alamat Endpoint jaringan internal (seperti oss-cn-hangzhou-internal.aliyuncs.com). Jika Anda perlu menggunakan Endpoint jaringan publik (seperti oss-cn-hangzhou.aliyuncs.com), Anda perlu mengonfigurasi virtual private cloud (VPC) dengan kemampuan akses jaringan publik untuk EAS. Untuk informasi lebih lanjut, lihat Konfigurasikan konektivitas jaringan.

    Contoh 2: Akses data PyODPS berdasarkan peran RAM

    from alibabacloud_credentials import providers
    from odps.accounts import CredentialProviderAccount
    from odps import ODPS
    
    if __name__ == '__main__':
        account = CredentialProviderAccount(providers.DefaultCredentialsProvider())
        # <odps_project> perlu diganti dengan nama Proyek Anda; <odps_endpoint> perlu diganti dengan Endpoint wilayah tempat Proyek Anda berada.
        o = ODPS(
            account=account,
            project="<odps_project>", 
            endpoint="<odps_endpoint>" 
        )
    
        for t in o.list_tables():
            print(t)
    

    Dimana:

    • <odps_project> perlu diganti dengan nama Proyek Anda. Anda dapat masuk ke Konsol MaxCompute dan melihat nama Proyek spesifik di Workspace > Project Management di wilayah tertentu.

      Catatan

      Jika Anda menggunakan pengguna RAM, pastikan pengguna tersebut memiliki izin operasi untuk proyek. Untuk informasi lebih lanjut, lihat Otorisasi pengguna lain.

    • <odps_endpoint> perlu diganti dengan Endpoint wilayah tempat Proyek Anda berada. Karena EAS tidak terhubung ke jaringan publik secara default, Anda harus mengonfigurasi alamat Endpoint jaringan internal (seperti https://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api). Jika Anda perlu menggunakan Endpoint jaringan publik (seperti https://service.cn-hangzhou.maxcompute.aliyun.com/api), Anda perlu mengonfigurasi virtual private cloud (VPC) dengan kemampuan akses jaringan publik untuk EAS. Untuk informasi lebih lanjut, lihat Konfigurasikan konektivitas jaringan.

    Third-party Library Configuration

    Konfigurasikan Daftar Pustaka Pihak Ketiga berikut untuk menginstal alat Alibaba Cloud Credentials, SDK PyODPS, dan SDK OSS.

    alibabacloud_credentials
    pyodps
    oss2
    Catatan

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

    Service Configuration

    Mengambil Peran Default PAI sebagai contoh, tambahkan konfigurasi berikut ke JSON di bagian Service Configuration:

    "options": {
            "enable_ram_role": true
        }
    Catatan

    Jika Anda menggunakan JSON untuk penyebaran langsung dan ingin memanggil SDK OSS melalui peran default PAI, pastikan konfigurasi layanan mencakup bidang metadata.workspace_id.

  3. Setelah konfigurasi parameter selesai, klik Deploy.

    Setelah layanan berhasil diterapkan, Anda dapat melihat hasil operasi di log layanan.

FAQ

Bagaimana cara menyelesaikan kesalahan saat mengonfigurasi peran RAM kustom saat menerapkan layanan EAS?

  • Pesan kesalahan: image

    Masuk ke Konsol RAM dan periksa apakah peran tersebut ada.

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

    • Jika peran ada, hubungi akun utama untuk memberikan sub-akun kebijakan izin kustom berikut (ganti ${RoleName} dengan nama peran RAM) untuk mendapatkan izin melewatkan peran RAM ke instance EAS. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "ram:PassRole",
            "Resource": "acs:ram::*:role/${RoleName}"
          }
        ]
      }
  • Pesan kesalahan Event Penyebaran adalah tidak dapat dirender, error: gagal mengasumsikan peran untuk pengguna, alasan: Anda tidak berwenang melakukan tindakan ini. Anda harus diotorisasi oleh RAM..

    Anda dapat melihat ini di halaman Elastic Algorithm Service dengan mengklik nama layanan dan kemudian beralih ke tab Event Penyebaran, seperti yang ditunjukkan pada gambar berikut: image

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

    1. Masuk ke Konsol RAM sebagai administrator RAM.

    2. Di panel navigasi kiri, pilih Identity Management > Roles.

    3. Di halaman Roles, klik nama peran RAM target.

    4. Di tab Kebijakan Kepercayaan, klik Edit Kebijakan Kepercayaan untuk menambahkan kepercayaan untuk "eas.pai.aliyuncs.com".

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

      Contoh kode berikut menunjukkan dokumen kebijakan asli dari peran RAM:

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

      Isi kebijakan baru adalah sebagai berikut:

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