Untuk mengakses layanan Alibaba Cloud lainnya di lingkungan pengembangan individu pada DataWorks, Anda dapat mengonfigurasi pasangan AccessKey untuk otentikasi identitas. Namun, jika Anda mengasosiasikan Peran RAM dengan lingkungan tersebut, Anda dapat menggunakan kredensial akses sementara yang disediakan oleh Security Token Service (STS) tanpa harus mengonfigurasi pasangan AccessKey jangka panjang. Pendekatan ini membantu mengurangi risiko keamanan akibat kebocoran pasangan AccessKey. Topik ini menjelaskan cara memperoleh kredensial akses sementara melalui Peran RAM.
Informasi latar belakang
Anda dapat membuat Peran RAM dengan entitas tepercaya berupa layanan Alibaba Cloud. Layanan tersebut dapat mengasumsikan Peran RAM untuk menerapkan akses lintas layanan. Untuk informasi lebih lanjut tentang Peran RAM, lihat Ikhtisar Peran RAM.
Anda dapat memperoleh kredensial akses sementara dengan menggunakan Peran RAM untuk menerapkan otentikasi identitas dan kontrol akses. Metode ini menawarkan manfaat berikut:
Keamanan dan Kerahasiaan
Penggunaan kredensial akses sementara dari STS menghilangkan kebutuhan untuk mengonfigurasi pasangan AccessKey jangka panjang atau mengelola kredensial di lingkungan pengembangan individu, sehingga mengurangi risiko keamanan akibat kebocoran pasangan AccessKey.
Batasan
Hanya satu Peran RAM yang dapat diasosiasikan dengan lingkungan pengembangan individu.
Langkah 1: Asosiasikan Peran RAM dengan lingkungan pengembangan individu
Skenario 1: Asosiasikan peran default DataWorks dengan lingkungan pengembangan individu
Jika Anda menggunakan Notebook atau Python untuk operasi pengembangan data di DataWorks, tidak diperlukan konfigurasi pasangan AccessKey untuk mengakses layanan Alibaba Cloud tertentu.
Peran default DataWorks memberikan izin untuk mengakses MaxCompute, Hologres, EMR Serverless Spark, Realtime Compute for Apache Flink, dan Platform for AI (PAI). Saat menggunakan kredensial akses sementara berdasarkan peran default DataWorks, Anda mendapatkan izin dari pemilik lingkungan pengembangan individu.
Jika Anda mengasosiasikan peran default DataWorks dengan lingkungan pengembangan individu, Anda tidak perlu membuat Peran RAM. Selain itu, Anda dapat memperoleh kredensial akses sementara untuk mengakses sumber daya pengembangan dasar di lingkungan tersebut.
Setelah mengasosiasikan peran default DataWorks dengan lingkungan pengembangan individu, Anda tidak perlu mengonfigurasi pasangan AccessKey untuk melakukan operasi berikut:
Gunakan sel SQL Notebook untuk mengakses MaxCompute, Hologres, EMR Serverless Spark, Realtime Compute for Apache Flink, atau PAI.
Gunakan MaxCompute SDK untuk menyerahkan tugas ke proyek MaxCompute tempat pemilik lingkungan pengembangan individu memiliki izin eksekusi.

Skenario 2: Jangan asosiasikan Peran RAM dengan lingkungan pengembangan individu
Jika lingkungan pengembangan individu Anda disetel sebagai publik di ruang kerja, disarankan untuk tidak mengasosiasikan Peran RAM guna mencegah kebocoran izin. Saat membuat atau mengubah konfigurasi lingkungan pengembangan individu, atur parameter RAM Role di bagian Advanced Information menjadi Do Not Associate Role.
Jika tidak ada Peran RAM yang diasosiasikan dengan lingkungan pengembangan individu, Anda dapat mengonfigurasi pasangan AccessKey dalam kode untuk mengakses layanan Alibaba Cloud lainnya.

Langkah 2: Dapatkan kredensial akses sementara berdasarkan Peran RAM yang diasosiasikan dengan lingkungan pengembangan individu
Gunakan salah satu metode berikut untuk mendapatkan kredensial akses sementara di lingkungan pengembangan individu yang diasosiasikan dengan Peran RAM.
Metode 1: Gunakan alat Kredensial Alibaba Cloud
Alat Kredensial Alibaba Cloud memanggil layanan lokal yang secara otomatis disuntikkan saat Anda membuat lingkungan pengembangan individu, untuk mendapatkan kredensial akses sementara yang disediakan oleh STS. Kredensial tersebut diperbarui secara berkala.
Untuk menggunakan alat Kredensial guna mendapatkan kredensial akses untuk Peran RAM, jalankan perintah berikut guna menginstal alat Kredensial Alibaba Cloud. Berikut adalah contoh perintah dalam Python:
pip install alibabacloud_credentialsKode contoh berikut menunjukkan penggunaan alat Kredensial. Untuk informasi lebih lanjut tentang contoh SDK dalam bahasa pemrograman lainnya, lihat Praktik Terbaik untuk Menggunakan Kredensial Akses guna Memanggil Operasi API.
from alibabacloud_credentials.client import Client as CredClient
from alibabacloud_credentials.models import Config as CredConfig
credentialsConfig = CredConfig(
type='credentials_uri' # Opsional. Jika Anda tidak mengonfigurasi metode akses lainnya untuk rantai kredensial default, Anda tidak perlu secara eksplisit mengonfigurasi parameter ini. SDK Kredensial memperoleh kredensial akses sementara menggunakan URI.
)
credentialsClient = CredClient(CredConfig)
Metode 2: Akses layanan lokal lingkungan pengembangan individu
Di lingkungan pengembangan individu, jalankan perintah berikut di terminal untuk mengakses layanan lokal yang disuntikkan dan mendapatkan kredensial akses sementara:
# Dapatkan kredensial akses sementara untuk Peran RAM.
curl $ALIBABA_CLOUD_CREDENTIALS_URIKode berikut menunjukkan contoh respons dan parameter:
SecurityToken: token sementara Peran RAM
Expiration: waktu kedaluwarsa kredensial akses sementara untuk Peran RAM
{
"Code": "Success",
"AccessKeyId": "STS.N*********7",
"AccessKeySecret": "3***************d",
"SecurityToken": "DFE32G*******"
"Expiration": "2024-05-21T10:39:29Z"
}Metode 3: Akses file lokal lingkungan pengembangan individu
Anda dapat mengakses file di jalur yang ditentukan dari lingkungan pengembangan individu untuk mendapatkan kredensial akses sementara. Jalur file tersebut adalah /mnt/.alibabacloud/credentials. Berikut adalah contoh isi file:
{
"AccessKeyId": "STS.N*********7",
"AccessKeySecret": "3***************d",
"SecurityToken": "DFE32G*******"
"Expiration": "2024-05-21T10:39:29Z"
}Langkah 3: Akses MaxCompute menggunakan Peran RAM yang diasosiasikan dengan lingkungan pengembangan individu
Jalankan perintah berikut untuk menginstal alat Kredensial dan MaxCompute SDK:
# Instal alat Kredensial. pip install alibabacloud_credentials # Instal MaxCompute SDK. pip install odpsGunakan kredensial akses sementara Peran RAM untuk mengakses MaxCompute dan mendapatkan daftar tabel proyek tertentu.
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 nilai ini dengan nama proyek yang ingin Anda akses. endpoint="{odps_endpoint}"# Ganti nilai ini dengan titik akhir wilayah tempat proyek berada. ) for t in o.list_tables(): print(t)