MaxCompute menggunakan Alibaba Cloud Resource Access Management (RAM) dan Security Token Service (STS) untuk mengamankan akses data. Topik ini menjelaskan cara memberikan izin menggunakan RAM dan STS.
Otorisasi berbasis STS OSS untuk role biasa
Untuk mengaktifkan tabel eksternal MaxCompute agar dapat langsung mengakses data OSS, pertama-tama berikan izin OSS yang diperlukan ke akun MaxCompute. Gunakan salah satu metode berikut.
Otorisasi satu-klik (disarankan): Jika MaxCompute dan OSS berada dalam akun Alibaba Cloud yang sama, login ke akun Alibaba Cloud Anda dan klik di sini untuk menyelesaikan otorisasi satu-klik.
CatatanPeran default AliyunODPSDefaultRole memiliki izin yang luas. Gunakan peran ini hanya sebagai referensi. Konfigurasikan kebijakan akses dan kebijakan kepercayaan yang sesuai di Konsol Resource Access Management (RAM) berdasarkan data eksternal yang perlu diakses oleh tabel eksternal atau sumber data eksternal MaxCompute Anda.
Otorisasi kustom: Gunakan metode ini terlepas dari apakah MaxCompute dan OSS berada dalam akun Alibaba Cloud yang sama atau tidak. Ikuti langkah-langkah berikut.
Jika MaxCompute dan OSS berada dalam akun Alibaba Cloud yang sama, atur service menjadi
odps.aliyuncs.comdalam kebijakan kepercayaan.Jika MaxCompute dan OSS berada dalam akun Alibaba Cloud yang berbeda, atur service menjadi
<ID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.comdalam kebijakan kepercayaan. Temukan ID akun Alibaba Cloud pemilik MaxCompute di halaman Ikhtisar Akun.
Buat peran RAM.
Login ke Konsol Resource Access Management (RAM). Lalu gunakan halaman RAM roles untuk membuat peran. Misalnya, buat peran bernama oss-admin. Untuk informasi lebih lanjut tentang pembuatan peran, lihat Buat peran RAM yang entitas tepercayanya adalah akun Alibaba Cloud.

Edit kebijakan kepercayaan peran RAM.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Role Name yang dituju untuk membuka halaman detailnya.
Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.
Konfigurasikan kebijakan berikut:
Jika MaxCompute dan OSS berada dalam akun Alibaba Cloud yang sama
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "odps.aliyuncs.com" ] } } ], "Version": "1" }Jika MaxCompute dan OSS berada dalam akun Alibaba Cloud yang berbeda
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<ID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com" ] } } ], "Version": "1" }Setelah selesai, klik OK.
Buat kebijakan akses.
Di halaman Policies di Konsol RAM, buat kebijakan akses. Misalnya, buat kebijakan bernama AliyunODPSRolePolicy.
Kebijakan berikut memberikan izin OSS umum. Anda dapat menyesuaikan izin lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Buat kebijakan akses kustom.
{ "Version": "1", "Statement": [ { "Action": [ "oss:ListBuckets", "oss:GetObject", "oss:ListObjects", "oss:PutObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListParts" ], "Resource": "*", "Effect": "Allow" } ] }Lampirkan kebijakan akses baru ke peran RAM baru.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Role Name yang dituju untuk membuka halaman detailnya.
Di tab Permissions, klik Grant Permission. Di panel Grant Permission, pilih kebijakan akses untuk peran tersebut lalu klik OK.
Untuk informasi lebih lanjut, lihat Kelola izin untuk peran RAM.
Otorisasi berbasis STS Tablestore untuk role biasa
Untuk mengaktifkan tabel eksternal MaxCompute agar dapat langsung mengakses data Tablestore, pertama-tama berikan izin Tablestore yang diperlukan ke akun MaxCompute. Gunakan salah satu metode berikut.
Otorisasi satu-klik (disarankan): Jika MaxCompute dan Tablestore berada dalam akun Alibaba Cloud yang sama, login ke akun Alibaba Cloud Anda dan klik di sini untuk menyelesaikan otorisasi satu-klik.
Otorisasi kustom: Gunakan metode ini jika MaxCompute dan Tablestore berada dalam akun Alibaba Cloud yang berbeda. Buat peran kustom dan berikan izin.
Buat peran RAM.
Login ke Konsol Resource Access Management (RAM) menggunakan akun OTS, lalu buat peran melalui bagian RAM roles di Konsol RAM. Misalnya, peran oss-admin-ots.
Untuk informasi lebih lanjut tentang pembuatan peran, lihat Buat peran RAM dengan entitas tepercaya berupa akun Alibaba Cloud.
Edit kebijakan kepercayaan peran RAM.
Jika MaxCompute dan Tablestore berada dalam akun Alibaba Cloud yang berbeda, konfigurasikan kebijakan kepercayaan seperti di bawah ini untuk mendukung akses lintas akun dari MaxCompute ke Tablestore.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Role Name yang dituju untuk membuka halaman detailnya.
Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.
Konfigurasikan kebijakan kepercayaan berikut:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<ID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com" ] } } ], "Version": "1" }ID akun Alibaba Cloud pemilik MaxComputeadalah akun yang mengakses Tablestore.
Buat kebijakan akses.
Di halaman Policies di Konsol RAM, buat kebijakan akses. Misalnya, buat kebijakan bernama AliyunODPSRolePolicy.
Kebijakan berikut memberikan izin Tablestore umum. Anda dapat menyesuaikan izin lain sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Buat kebijakan akses kustom.
{ "Version": "1", "Statement": [ { "Action": [ "ots:ListTable", "ots:DescribeTable", "ots:GetRow", "ots:PutRow", "ots:UpdateRow", "ots:DeleteRow", "ots:GetRange", "ots:BatchGetRow", "ots:BatchWriteRow", "ots:ComputeSplitPointsBySize" ], "Resource": "*", "Effect": "Allow" } ] }Lampirkan kebijakan akses AliyunODPSRolePolicy ke peran RAM baru.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Role Name yang dituju untuk membuka halaman detailnya.
Di tab Permissions, klik Grant Permission. Di panel Grant Permission, pilih kebijakan akses untuk peran tersebut lalu klik OK.
Untuk informasi lebih lanjut, lihat Kelola izin untuk peran RAM.
Otorisasi berbasis STS Hologres untuk role biasa
Untuk mengaktifkan tabel eksternal MaxCompute agar dapat langsung mengakses data Hologres, pertama-tama berikan izin Hologres yang diperlukan ke akun MaxCompute. Bagian ini menjelaskan cara mengotorisasi akses menggunakan STS.
Buat peran RAM
Buat peran RAM untuk mendapatkan ARN-nya. Anda akan menggunakan ARN tersebut saat membuat tabel eksternal untuk mengonfigurasi autentikasi STS. Pilih jenis entitas tepercaya berdasarkan kebutuhan Anda. Dalam contoh ini, entitas tepercayanya adalah akun Alibaba Cloud.
Akun Alibaba Cloud:
Pengguna RAM di bawah akun Alibaba Cloud dapat mengasumsikan peran RAM untuk mengakses sumber daya cloud. Untuk informasi lebih lanjut, lihat Buat peran RAM yang entitas tepercayanya adalah akun Alibaba Cloud.
Penyedia identitas:
Gunakan Single Sign-On (SSO) untuk memungkinkan pengguna login ke Konsol Manajemen Alibaba Cloud dari sistem identitas perusahaan Anda. Ini memenuhi persyaratan otentikasi terpadu. Untuk informasi lebih lanjut, lihat Buat peran RAM yang entitas tepercayanya adalah penyedia identitas.
Ikuti langkah-langkah berikut:
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Create Role.
Edit kebijakan kepercayaan
Di halaman Roles, klik Role Name yang dituju untuk membuka halaman detailnya.
Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.
Perbarui kebijakan kepercayaan seperti di bawah ini.
Kebijakan kepercayaan bergantung pada jenis entitas tepercaya yang Anda pilih. Ganti
<UID>dengan ID akun Alibaba Cloud Anda. Anda dapat menemukan ID akun Alibaba Cloud Anda di halaman User Information.Jenis entitas tepercaya: Akun Alibaba Cloud
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<UID>:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<UID>@odps.aliyuncs.com" ] } } ], "Version": "1" }Jenis entitas tepercaya: penyedia identitas
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "saml:recipient": "https://signin.aliyun.com/saml-role/sso" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::<UID>:saml-provider/IDP" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<UID>@odps.aliyuncs.com" ] } } ], "Version": "1" }
Tambahkan peran RAM ke instans Hologres dan berikan izin
Peran RAM harus memiliki izin pengembangan pada instans Hologres agar dapat menggunakan Hologres dalam cakupan izinnya.
Secara default, peran RAM tidak memiliki izin untuk melihat atau mengelola instans Hologres di Konsol Manajemen Hologres. Akun Alibaba Cloud harus memberikan izin ini sebelum Anda melanjutkan.
Untuk menambahkan peran RAM ke instans Hologres, ikuti langkah-langkah berikut:
Otorisasi melalui Konsol Manajemen Hologres
Login ke Konsol Manajemen Hologres, lalu di pojok kiri atas, pilih wilayah.
Di panel navigasi sebelah kiri, pilih Instances.
Di halaman Instances, klik nama instans yang dituju.
Di halaman detail instans, di panel navigasi sebelah kiri, pilih Account Management.
Di halaman User Management, klik Add User.
Di kotak dialog pop-up Add User, konfigurasikan informasi yang diperlukan, lalu klik OK.
Pilih peran
AliyunODPSDefaultRole.Pilih Regular user sebagai peran anggota.
Di halaman User Management, di panel navigasi sebelah kiri, pilih Database Authorization.
Di halaman Database Authorization, klik Create Database.
Di kotak dialog Create Database, konfigurasikan parameter, lalu klik OK.
Pilih Permission policy SPM.
Di halaman Database Authorization, klik Authorize User di kolom Actions database yang dituju.
Klik Grant Permissions di pojok kanan atas. Di kotak dialog Grant Permissions yang muncul, konfigurasikan User dan User Group.
User Pilih pengguna RAM yang akan dikonfigurasi.
User Group Pilih Developer.
Otorisasi melalui Konsol RAM
Lampirkan kebijakan akses AliyunODPSRolePolicy ke peran RAM baru.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Users, klik User Logon Name/Display Name pengguna yang dituju untuk membuka halaman detail pengguna.
Di halaman detail pengguna, klik tab Permissions.
Di tab Permissions, pilih Individual lalu klik Grant Permission.
Di panel Grant Permission, pilih kebijakan akses lalu klik OK.
Pilih kebijakan izin
AliyunRAMReadOnlyAccess.Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM.
Otorisasi menggunakan SQL
Untuk otorisasi berbasis SQL, lihat model izin Hologres.
Hologres juga mendukung autentikasi tanda tangan ganda. Untuk informasi lebih lanjut, lihat tabel eksternal Hologres.
Otorisasi berbasis STS DLF+OSS untuk role biasa
Saat Anda membangun danau data terpadu menggunakan MaxCompute, DLF, dan OSS, proyek MaxCompute tidak dapat mengakses DLF atau OSS tanpa otorisasi. Otorisasi akses menggunakan salah satu metode berikut.
Otorisasi satu-klik (disarankan): Gunakan metode ini jika akun Alibaba Cloud yang membuat proyek MaxCompute sama dengan akun yang menerapkan DLF dan OSS. Klik Otorisasi DLF dan OSS untuk menyelesaikan otorisasi satu-klik.
Otorisasi kustom: Gunakan metode ini terlepas dari apakah akun Alibaba Cloud yang membuat proyek MaxCompute sama dengan akun yang menerapkan DLF dan OSS. Ikuti langkah-langkah berikut.
Jika pengguna RAM proyek MaxCompute dan akun yang menerapkan DLF sama, atur service menjadi
odps.aliyuncs.comdalam kebijakan kepercayaan.Jika pengguna RAM proyek MaxCompute dan akun yang menerapkan DLF berbeda, atur service menjadi
<ID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.comdalam kebijakan kepercayaan. Temukan ID akun Alibaba Cloud pemilik MaxCompute di halaman Account Overview.
Login ke Konsol Resource Access Management (RAM) dan buat peran RAM yang entitas tepercayanya adalah akun Alibaba Cloud.
Di Konsol Resource Access Management (RAM), modifikasi kebijakan kepercayaan peran RAM. Kebijakan kepercayaan adalah sebagai berikut:
Akun Alibaba Cloud yang membuat proyek MaxCompute sama dengan akun yang menerapkan DLF
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "odps.aliyuncs.com" ] } } ], "Version": "1" }Akun Alibaba Cloud yang membuat proyek MaxCompute berbeda dari akun yang menerapkan DLF
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<ID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com" ] } } ], "Version": "1" }Buat kebijakan kustom untuk peran RAM baru di Konsol Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Buat kebijakan kustom. Kebijakan kustom adalah sebagai berikut:
{ "Version": "1", "Statement": [ { "Action": [ "oss:ListBuckets", "oss:GetObject", "oss:ListObjects", "oss:PutObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListParts" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "dlf:CreateFunction", "dlf:BatchGetPartitions", "dlf:ListDatabases", "dlf:CreateLock", "dlf:UpdateFunction", "dlf:BatchUpdateTables", "dlf:DeleteTableVersion", "dlf:UpdatePartitionColumnStatistics", "dlf:ListPartitions", "dlf:DeletePartitionColumnStatistics", "dlf:BatchUpdatePartitions", "dlf:GetPartition", "dlf:BatchDeleteTableVersions", "dlf:ListFunctions", "dlf:DeleteTable", "dlf:GetTableVersion", "dlf:AbortLock", "dlf:GetTable", "dlf:BatchDeleteTables", "dlf:RenameTable", "dlf:RefreshLock", "dlf:DeletePartition", "dlf:UnLock", "dlf:GetLock", "dlf:GetDatabase", "dlf:GetFunction", "dlf:BatchCreatePartitions", "dlf:ListPartitionNames", "dlf:RenamePartition", "dlf:CreateTable", "dlf:BatchCreateTables", "dlf:UpdateTableColumnStatistics", "dlf:ListTableNames", "dlf:UpdateDatabase", "dlf:GetTableColumnStatistics", "dlf:ListFunctionNames", "dlf:ListPartitionsByFilter", "dlf:GetPartitionColumnStatistics", "dlf:CreatePartition", "dlf:CreateDatabase", "dlf:DeleteTableColumnStatistics", "dlf:ListTableVersions", "dlf:BatchDeletePartitions", "dlf:ListCatalogs", "dlf:UpdateTable", "dlf:ListTables", "dlf:DeleteDatabase", "dlf:BatchGetTables", "dlf:DeleteFunction" ], "Resource": "*", "Effect": "Allow" } ] }Lampirkan kebijakan akses kustom ke peran RAM baru. Untuk informasi lebih lanjut, lihat Kelola izin untuk peran RAM.
Otorisasi berbasis STS peran terkait layanan Hologres
Untuk memungkinkan MaxCompute mengakses data Hologres melalui sumber data eksternal dan proyek eksternal, pertama-tama berikan izin Hologres yang diperlukan ke akun MaxCompute.
Menggunakan identitas pelaksana tugas berarti memberikan izin akses Hologres ke peran terkait layanan MaxCompute dan meneruskan identitas pelaksana tugas ke Hologres. Kedua layanan membatasi pelaksana tugas saat ini ke cakupan izin masing-masing. Oleh karena itu, Anda harus membuat dan mengotorisasi peran terkait layanan MaxCompute terlebih dahulu. Gunakan salah satu metode berikut.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Create Role.
Di pojok kanan atas halaman Create Role, klik Create Service Linked Role.
Di halaman Create Service Linked Role, untuk Select Service, pilih
aliyunserviceroleformaxcomputeidentitymgmt, lalu klik Create Service Linked Role.Jika sistem menunjukkan bahwa peran tersebut sudah ada, lewati langkah ini.
Otorisasi berbasis STS peran terkait layanan Paimon_DLF
Untuk memungkinkan MaxCompute mengakses data Paimon_DLF melalui sumber data eksternal dan proyek eksternal, pertama-tama berikan izin DLF yang diperlukan ke akun MaxCompute.
Menggunakan identitas pelaksana tugas berarti memberikan izin akses DLF ke peran terkait layanan MaxCompute dan meneruskan identitas pelaksana tugas ke DLF. Kedua layanan membatasi pelaksana tugas saat ini ke cakupan izin masing-masing. Oleh karena itu, Anda harus membuat dan mengotorisasi peran terkait layanan MaxCompute terlebih dahulu. Gunakan salah satu metode berikut.
Login ke Konsol Resource Access Management (RAM).
Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, klik Create Role.
Di pojok kanan atas halaman Create Role, klik Create Service Linked Role.
Di halaman Create Service Linked Role, pilih
AliyunServiceRoleForMaxComputeLakehouseuntuk Select Service, lalu klik Create Service Linked Role.Jika sistem menunjukkan bahwa peran tersebut sudah ada, lewati langkah ini.