Untuk mengizinkan Pengguna Resource Access Management (RAM) mengakses sumber daya cloud lainnya, Anda harus memberikan izin yang diperlukan kepada pengguna RAM tersebut. Topik ini menjelaskan prosedur otorisasi akun yang sama dan lintas akun.
Prasyarat
Kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse AnalyticDB for MySQL telah dibuat.
Izin pekerjaan Spark
Untuk mengirimkan pekerjaan Spark, Anda memerlukan tiga jenis izin berikut:
Izin | Deskripsi |
Salah satu izin berikut:
|
Untuk informasi selengkapnya, lihat Berikan izin kepada pengguna RAM. |
Izin baca dan tulis pada database dan tabel AnalyticDB for MySQL | AnalyticDB for MySQL secara default mengelola izin database dan tabel menggunakan akun database. Saat Anda mengirimkan pekerjaan Spark sebagai pengguna RAM, jika pekerjaan tersebut perlu membaca atau menulis data, Anda harus menyambungkan akun database standar ke pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Sambungkan atau lepas akun database dari pengguna RAM. |
| Peran ini digunakan untuk mengotorisasi Spark AnalyticDB for MySQL agar dapat mengakses sumber daya cloud lainnya, seperti direktori Object Storage Service (OSS) dan data Tablestore. Untuk informasi selengkapnya, lihat Otorisasi akun yang sama. |
Otorisasi akun yang sama
Prasyarat
Anda telah membuat pengguna RAM.
Prosedur
Berikan izin di Konsol RAM (Direkomendasikan)
Langkah 1: Buat peran RAM dan berikan izin
Buat peran RAM.
CatatanJika Anda telah membuat peran RAM dengan Trusted Entity Type diatur ke Alibaba Cloud Service dan Select Trusted Service diatur ke Cloud-native Data Warehouse AnalyticDB For MySQL, Anda dapat melewati langkah ini.
Masuk ke Konsol RAM sebagai pengguna RAM yang memiliki hak administratif.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Roles, klik Create Role.

Pada halaman Create Role, atur Trusted Entity Type ke Alibaba Cloud Service dan Select Trusted Service ke Cloud-native Data Warehouse AnalyticDB For MySQL. Lalu, klik OK.
Di kotak dialog Create Role, konfigurasikan parameter Role Name lalu klik OK.
Berikan izin kepada peran RAM.
Klik Precise Authorization.
Di panel Precise Authorization, atur tipe kebijakan ke System Policy atau Custom Policy, lalu masukkan nama kebijakan.
Jika Anda hanya ingin mengakses sumber daya cloud tertentu, Anda harus membuat kebijakan kustom. Untuk informasi selengkapnya, lihat Buat kebijakan izin kustom.
Klik OK.
Langkah 2: Kirim pekerjaan Spark
Setelah membuat peran RAM dan memberikan izin di Konsol RAM, Anda harus menentukan parameter spark.adb.roleArn dalam konfigurasi pekerjaan Spark saat mengirimkan pekerjaan agar pekerjaan tersebut dapat dijalankan. Contoh berikut menunjukkan konfigurasi sampel:
{
"comments": [
"-- Here is just an example of using LakeCache. Modify the content and run your spark program."
],
"args": ["oss://testBucketName/data/readme.txt"],
"name": "spark-oss-test",
"file": "oss://testBucketName/data/example.py",
"conf": {
"spark.adb.lakecache.enabled": "true";
"spark.adb.roleArn": "acs:ram::testAccountID:role/adbtest";
}
}Otorisasi cepat
Saat menggunakan otorisasi cepat, peran AliyunADBSparkProcessingDataRole secara default diberikan izin AliyunADBSparkProcessingDataRolePolicy. Kebijakan ini mencakup izin untuk mengakses sumber daya cloud seperti OSS, Tablestore, dan DMS, yang dapat menyebabkan izin berlebihan. Kami menyarankan agar Anda mencabut izin AliyunADBSparkProcessingDataRolePolicy setelah otorisasi, lalu memberikan peran AliyunADBSparkProcessingDataRole hanya izin yang dibutuhkan oleh bisnis Anda. Untuk informasi selengkapnya, lihat Cabut izin dari peran RAM.
Klik tautan otorisasi cepat.
CatatanHanya pengguna dengan izin manajemen pengguna RAM yang dapat menggunakan otorisasi cepat. Minimal, pengguna tersebut harus memiliki izin untuk membuat peran RAM, membuat kebijakan RAM, menanyakan peran RAM, dan menanyakan kebijakan RAM.
Di pojok kiri bawah, klik tombol Agree To Authorize.
Setelah memberikan izin, peran layanan AliyunADBSparkProcessingDataRole akan otomatis dibuat untuk AnalyticDB for MySQL. AnalyticDB for MySQL kemudian menggunakan peran ini untuk mengakses sumber daya cloud lainnya.
Otorisasi lintas akun
AnalyticDB for MySQL Spark dapat mengakses sumber daya cloud yang dimiliki oleh akun Alibaba Cloud lainnya. Bagian ini menggunakan contoh untuk menjelaskan cara memberikan izin lintas akun. Dalam contoh ini, akun Alibaba Cloud A (UID: testAccountIDA) perlu mengakses data yang dimiliki oleh akun Alibaba Cloud B (UID: testAccountIDB).
Langkah 1: Buat peran RAM untuk Akun B dan berikan izin
Buat peran RAM dan izinkan Akun A mengasumsikan peran ini.
CatatanJika Anda telah membuat peran RAM dan mengizinkan Akun A mengasumsikannya, Anda dapat melewati langkah ini.
Masuk ke Konsol RAM menggunakan akun Alibaba Cloud B atau administrator RAM Akun B.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Roles, klik Create Role.
Pada halaman Create Role, atur Trusted Entity Type ke Alibaba Cloud Account, tentukan akun, lalu klik OK.
Konfigurasikan informasi peran.
Masukkan Role Name, misalnya
admin-oss.Opsional: Anda dapat memasukkan Note.
Untuk Other Alibaba Cloud Account, pilih Other Alibaba Cloud Account, lalu masukkan UID akun Alibaba Cloud A (
testAccountIDA).
Klik Finish.
Berikan izin kepada peran RAM.
Klik Precise Authorization.
Di panel Precise Authorization, Anda dapat mengatur tipe kebijakan ke System Policy atau Custom Policy, lalu masukkan nama kebijakan.
Akses OSS
AliyunOSSReadOnlyAccess: Memberikan izin read-only pada OSS.
AliyunOSSFullAccess: Memberikan kontrol penuh atas OSS. Anda harus memberikan izin ini kepada peran RAM untuk melakukan operasi pembaruan data, seperti INSERT, pada tabel eksternal OSS.
Akses sumber daya di VPC tertentu
Untuk mengakses sumber daya di VPC tertentu, Anda harus membuat kebijakan kustom. Di parameter `Resource` kebijakan tersebut, tentukan security group dan vSwitch tempat sumber daya tersebut berada. Untuk informasi selengkapnya, lihat Buat kebijakan izin kustom.
Contoh ini memberikan izin untuk mengakses hanya instans ApsaraDB RDS for MySQL di VPC tertentu. Nama kebijakan kustom adalah
eni_policy. Kode berikut menunjukkan isi kebijakan:CatatanAnda harus menambahkan security group ke instans ApsaraDB RDS for MySQL. Aturan inbound dan outbound security group tersebut harus mengizinkan akses pada port instans ApsaraDB RDS for MySQL.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "acs:ecs:*:*:securitygroup/<The ID of the security group to which the RDS instance belongs>" }, { "Effect": "Allow", "Action": "vpc:*", "Resource": "acs:vpc:*:*:vswitch/<The ID of the vSwitch to which the RDS instance belongs>" } ] }Klik OK.
Klik Close.
Ubah kebijakan kepercayaan untuk mengizinkan pengguna RAM mana pun dari Akun A mengasumsikan peran RAM ini.
Di panel navigasi kiri, pilih .
Pada halaman Roles, klik nama peran RAM target.
Pada tab Trust Policy, klik Edit Trust Policy.
Di editor, ubah dokumen kebijakan kepercayaan lalu klik OK.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::testAccountIDA:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "testAccountIDA@ads.aliyuncs.com" ] } } ], "Version": "1" }
Langkah 2: Buat pengguna RAM untuk Akun A dan berikan izin untuk mengasumsikan peran RAM tersebut
Buat pengguna RAM.
Masuk ke Konsol RAM menggunakan akun Alibaba Cloud A atau administrator RAM Akun A.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Users, klik Create User.
Di bagian User Account Information pada halaman Create User, konfigurasikan informasi dasar pengguna.
Logon Name (wajib): Nama logon dapat berisi huruf, angka, titik (.), tanda hubung (-), dan garis bawah (_). Panjangnya maksimal 64 karakter.
Display Name (opsional): Nama tampilan dapat memiliki panjang hingga 128 karakter.
Tag (opsional): Klik ikon
lalu masukkan kunci tag dan nilai tag. Tag membantu Anda mengkategorikan dan mengelola pengguna RAM.
CatatanKlik Add User untuk membuat beberapa pengguna RAM sekaligus.
Di bagian Access Mode, pilih Console Password Logon. Anda kemudian dapat mengonfigurasi kata sandi logon, kebijakan reset kata sandi, dan kebijakan autentikasi multi-faktor (MFA) sesuai kebutuhan. Untuk informasi selengkapnya, lihat Akses konsol.
Klik OK.
Buat kebijakan izin yang mengizinkan pengguna RAM mengasumsikan peran apa pun.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Policies, klik Create Policy.
Pada halaman Create Policy, klik tab Script Editor.
Masukkan isi kebijakan lalu klik OK.
{ "Version": "1", "Statement": [ { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow" } ] }Di kotak dialog Create Policy, masukkan Policy Name dan Note, lalu klik OK.
Berikan izin kepada pengguna RAM.
Di panel navigasi kiri, pilih .
Temukan pengguna RAM target di halaman Users lalu klik Add Permissions di kolom Actions.
Di panel Add Permissions, berikan izin yang telah Anda buat di Langkah 2 kepada pengguna RAM tersebut.
Klik OK.
Klik Close.