Topik ini menjelaskan seluruh perintah pengelolaan izin dalam proyek MaxCompute, mencakup pengelolaan pengguna, pengelolaan peran, otorisasi pengguna dan peran, serta kueri izin.
Pengelolaan peran
Perintah
create role <role_name> [privilegeproperties("type"="admin|resource")];Contoh
Buat peran sumber daya bernama Worker. Pernyataan contoh:
create role Worker;Buat peran administrator bernama sale_admin. Pernyataan contoh:
create role sale_admin privilegeproperties("type"="admin");
list roles;Menghapus peran tingkat proyek
Perintah
drop role <role_name>;Contoh
drop role Worker;
Pengelolaan pengguna
Menambahkan akun Alibaba Cloud tingkat proyek
Perintah
Contoh
Menghapus akun Alibaba Cloud tingkat proyek
Perintah
Contoh
Menambahkan Pengguna RAM tingkat proyek
Perintah
Contoh
Menghapus Pengguna RAM tingkat proyek
Perintah
Contoh
Menambahkan Peran RAM tingkat proyek
Perintah
Contoh
Menghapus Peran RAM tingkat proyek
Perintah
remove user `RAM$<account_id>:role/<RAM role name>`;Contoh
remove user ALIYUN$5527xxxxxxxx5788;
Melihat daftar pengguna tingkat proyek
list users;
Otorisasi peran
Memberikan izin operasi peran pada suatu objek
Memberikan izin peran untuk mengoperasikan proyek
Perintah
Otorisasi ACL
GRANT Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Otorisasi kebijakan menggunakan sintaksis ACL
GRANT Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> TO ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}"[, "conditions"= "<conditions>", "expires"="<days>"]);
Contoh
-- Otorisasi ACL. grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker; -- Otorisasi kebijakan. grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin peran untuk mengoperasikan tabel
Perintah
Otorisasi ACL
GRANT Describe|Select|Alter|Update|Drop|ShowHistory|All ON TABLE <table_name> [(<column_list>)] TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Otorisasi kebijakan menggunakan sintaksis ACL
GRANT Describe|Select|Alter|Update|Drop|ShowHistory|All ON TABLE <table_name> [(<column_list>)] TO ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}"[, "conditions"= "<conditions>", "expires"="<days>"]);
Contoh
-- Otorisasi ACL. grant Describe, Select on table sale_detail to ROLE Worker; -- Otorisasi kebijakan. grant Describe, Select on table sale_detail to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin peran untuk mengoperasikan model
Perintah
Otorisasi ACL
GRANT Describe|Execute|Alter|Drop|All ON MODEL <model_name> TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Otorisasi kebijakan menggunakan sintaksis ACL
GRANT Describe|Execute|Alter|Drop|All ON MODEL <model_name> TO ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}"[, "conditions"= "<conditions>", "expires"="<days>"]);
Contoh
-- Masuk ke proyek test_project_a. use test_project_a; -- Otorisasi ACL. GRANT All ON MODEL my_model TO ROLE Worker; -- Otorisasi kebijakan menggunakan sintaksis ACL. GRANT All ON MODEL my_model TO ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin peran untuk mengoperasikan sumber daya
Perintah
Otorisasi ACL
GRANT Read|Write|Delete|All ON resource <resource_name> TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Otorisasi kebijakan menggunakan sintaksis ACL
GRANT Read|Write|Delete|All ON resource <resource_name> TO ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}"[, "conditions"= "<conditions>", "expires"="<days>"]);
Contoh
-- Otorisasi ACL. grant Read, Write on resource udtf.jar to ROLE Worker; -- Otorisasi kebijakan. grant Read, Write on resource udtf.jar to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin peran untuk mengoperasikan fungsi
Perintah
GRANT Read|Write|Delete|Execute|All ON FUNCTION <function_name> TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Contoh
-- Otorisasi ACL. grant Read, Write on function udf_test to ROLE Worker; -- Otorisasi kebijakan. grant Read, Write on function udf_test to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin peran untuk mengoperasikan instans
Perintah
Otorisasi ACL
GRANT Read|Write|All ON instance <instance_id> TO ROLE <role_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];Otorisasi kebijakan menggunakan sintaksis ACL
GRANT Read|Write|All ON instance <instance_id> TO ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}"[, "conditions"= "<conditions>", "expires"="<days>"]);
Contoh
-- Otorisasi ACL. grant All on instance 202112300224**** to ROLE Worker; -- Otorisasi kebijakan. grant All on instance 202112300224**** to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin operasi pada suatu objek dari peran
Mencabut izin untuk mengoperasikan proyek dari peran
Perintah
Mencabut izin yang diberikan menggunakan ACL
REVOKE Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> FROM ROLE <role_name>;Mencabut izin yang diberikan menggunakan otorisasi kebijakan
REVOKE Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");
Contoh
-- Mencabut otorisasi ACL. revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker; -- Mencabut otorisasi kebijakan. revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin untuk mengoperasikan tabel dari peran
Perintah
Mencabut izin yang diberikan menggunakan ACL
REVOKE Describe|Select|Alter|Update|Drop|ShowHistory|All ON TABLE <table_name> [(<column_list>)] FROM ROLE <role_name>;Mencabut izin yang diberikan menggunakan otorisasi kebijakan
REVOKE Describe|Select|Alter|Update|Drop|ShowHistory|All ON TABLE <table_name> [(<column_list>)] FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");
Contoh
-- Mencabut otorisasi ACL. revoke Describe, Select on table sale_detail to ROLE Worker; -- Mencabut otorisasi kebijakan. revoke Describe, Select on table sale_detail from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin untuk mengoperasikan model dari peran
Perintah
Mencabut izin yang diberikan menggunakan ACL
REVOKE Describe|Execute|Alter|Drop|All ON MODEL <model_name> FROM ROLE <role_name>;Mencabut izin yang diberikan menggunakan otorisasi kebijakan
REVOKE Describe|Execute|Alter|Drop|All ON MODEL <model_name> FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");
Contoh
-- Masuk ke proyek test_project_a. use test_project_a; -- Mencabut otorisasi ACL. REVOKE All ON MODEL my_model FROM ROLE Worker; -- Mencabut otorisasi kebijakan. REVOKE All ON MODEL my_model FROM ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin untuk mengoperasikan sumber daya dari peran
Perintah
Mencabut izin yang diberikan menggunakan ACL
REVOKE Read|Write|Delete|All ON resource <resource_name> FROM ROLE <role_name>;Mencabut izin yang diberikan menggunakan otorisasi kebijakan
REVOKE Read|Write|Delete|All ON resource <resource_name> FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");
Contoh
-- Mencabut otorisasi ACL. revoke Read, Write on resource udtf.jar from ROLE Worker; -- Mencabut otorisasi kebijakan. revoke Read, Write on resource udtf.jar from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin untuk mengoperasikan fungsi dari peran
Perintah
Mencabut izin yang diberikan menggunakan ACL
REVOKE Read|Write|Delete|Execute|All ON FUNCTION <function_name> FROM ROLE <role_name>;Mencabut izin yang diberikan menggunakan otorisasi kebijakan
REVOKE Read|Write|Delete|Execute|All ON FUNCTION <function_name> FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");
Contoh
-- Mencabut otorisasi ACL. revoke Read, Write on function udf_test from ROLE Worker; -- Mencabut otorisasi kebijakan. revoke Read, Write on function udf_test from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Mencabut izin untuk mengoperasikan instans dari peran
Perintah
REVOKE Read|Write|All ON instance <instance_id> FROM ROLE <role_name> privilegeproperties("policy" = "true", "{allow}"="{true|false}");Contoh
-- Mencabut otorisasi ACL. revoke All on instance 202112300224**** from ROLE Worker; -- Mencabut otorisasi kebijakan. revoke All on instance 202112300224**** from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
Memberikan izin Download kepada peran
Perintah
GRANT Download ON {Table|Resource|Function|Instance} <object_name> TO ROLE <role_name>;Contoh
grant download on table sale_detail to ROLE Worker;
Mencabut izin Download dari peran
Perintah
REVOKE Download ON {Table|Resource|Function|Instance} <object_name> FROM ROLE <role_name>;Contoh
revoke download on table sale_detail from ROLE Worker;
Memberikan izin peran untuk mengakses data sangat sensitif
Perintah
GRANT Label <number> ON TABLE <table_name> [(<column_list>)] TO ROLE <role_name> [WITH exp <days>];Contoh
grant Label 4 on table sale_detail to ROLE Worker;
Mencabut izin untuk mengakses data sangat sensitif dari peran
Perintah
REVOKE Label ON TABLE <table_name> [(<column_list>)] FROM ROLE <role_name>;Contoh
revoke Label on table sale_detail from ROLE Worker;
Menetapkan peran kepada pengguna
Perintah
GRANT <role_name> TO <user_name>;Contoh
grant Worker to ALIYUN$Ka**@aliyun.com; grant Worker to RAM$Bo*@aliyun.com:Allen;
Perintah
REVOKE <role_name> FROM <user_name>;Contoh
revoke Worker from ALIYUN$Ka**@aliyun.com; revoke Worker from RAM$Bo*@aliyun.com:Allen;
Otorisasi pengguna
Memberikan izin operasi pengguna pada suatu objek
Memberikan izin pengguna untuk mengoperasikan proyek
Perintah
grant Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All on project <project_name> to USER <user_name> [privilegeproperties("conditions" = "<conditions>",Contoh
grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to user RAM$Ka**@aliyun.com:Lily;
Memberikan izin pengguna untuk mengoperasikan tabel
Perintah
grant Describe|Select|Alter|Update|Drop|ShowHistory|All on table <table_name> [(<column_list>)] to USER <user_name> [privilegeproperties("conditions" = "<conditions>"Contoh
grant Describe, Select on table sale_detail to USER RAM$Bo*@aliyun.com:Allen;
Memberikan izin pengguna untuk mengoperasikan sumber daya
Perintah
grant Read|Write|Delete|All on resource <resource_name> to USER <user_name> [privilegeproperties("conditions" = "<conditions>",Contoh
grant Read, Write on resource udtf.jar to USER RAM$Bo*@aliyun.com:Alice;
Memberikan izin pengguna untuk mengoperasikan fungsi
Perintah
grant Read|Write|Delete|Execute|All on function <function_name> to USER <user_name> [privilegeproperties("conditions" = "<conditions>"Contoh
grant Read, Write on function udf_test to USER RAM$Bo*@aliyun.com:Tom;
Memberikan izin pengguna untuk mengoperasikan instans
Perintah
grant Read|Write|All on instance <instance_id> to USER <user_name> [privilegeproperties("conditions" = "<conditions>"Contoh
grant All on instance 202112300224**** to USER RAM$Bo*@aliyun.com:Tom;
Mengelola izin pengguna dengan perintah
Mencabut izin untuk mengoperasikan proyek dari pengguna
Perintah
revoke Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All on project <project_name> from USER <user_name>;Contoh
revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from user RAM$Ka**@aliyun.com:Lily;
Mencabut izin untuk mengoperasikan tabel dari pengguna
Perintah
revoke Describe|Select|Alter|Update|Drop|ShowHistory|All on table <table_name> [(<column_list>)] from USER <user_name>;Contoh
revoke Describe, Select on table sale_detail from USER RAM$Bo*@aliyun.com:Allen;
Mencabut izin untuk mengoperasikan sumber daya dari pengguna
Perintah
revoke Read|Write|Delete|All on resource <resource_name> from USER <user_name>;Contoh
revoke Read, Write on resource udtf.jar from USER RAM$Bo*@aliyun.com:Alice;
Mencabut izin untuk mengoperasikan fungsi dari pengguna
Perintah
revoke Read|Write|Delete|Execute|All on function <function_name> from USER <user_name>;Contoh
revoke Read, Write on function udf_test from USER RAM$Bo*@aliyun.com:Tom;
Mencabut izin untuk mengoperasikan instans dari pengguna
Perintah
revoke Read|Write|All on instance <instance_id> from USER <user_name>;Contoh
revoke All on instance 202112300224**** from USER RAM$Bo*@aliyun.com:Tom;
Mengelola izin pengguna dengan perintah
Perintah
Untuk informasi selengkapnya, lihat Memberikan izin operasi peran pada suatu objek dan Menetapkan peran kepada pengguna.
Contoh
-- Berikan izin kepada peran Worker. -- Otorisasi ACL. grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker; -- Otorisasi kebijakan. grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker privilegeproperties("policy" = "true", "allow"="true"); -- Tetapkan peran Worker kepada pengguna. grant Worker to RAM$Bo*@aliyun.com:Allen; grant Worker to RAM$Bo*@aliyun.com:Alice; grant Worker to RAM$Bob@aliyun.com:Tom;
Mengelola izin pengguna menggunakan perintah
Perintah
Untuk informasi selengkapnya, lihat Mencabut izin operasi pada suatu objek dari peran atau Mencabut peran dari pengguna.
Contoh
-- Cabut izin dari peran Worker. -- Cabut otorisasi ACL. revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker; -- Cabut otorisasi kebijakan. revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker privilegeproperties("policy" = "true", "allow"="true"); -- Atau -- Cabut peran Worker dari pengguna. revoke Worker from RAM$Bo*@aliyun.com:Allen;
Mengelola izin pengguna dengan perintah
Perintah
grant Download on {Table|Resource|Function|Instance} <object_name> to USER <user_name>;Contoh
grant Download on table sale_detail to USER RAM$Bo*@aliyun.com:Allen;
Mengelola izin pengguna menggunakan perintah
Perintah
revoke Download on {Table|Resource|Function|Instance} <object_name> from USER <user_name>;Contoh
revoke Download on table sale_detail from USER RAM$Bo*@aliyun.com:Allen;
Mengelola izin pengguna dengan perintah
Perintah
Untuk informasi selengkapnya, lihat Memberikan izin Download kepada peran dan Menetapkan peran kepada pengguna.
Contoh
-- Buat peran bernama Worker. create role Worker; -- Berikan izin kepada peran Worker. grant download on table sale_detail to ROLE Worker; -- Tetapkan peran Worker kepada pengguna. grant Worker to RAM$Bo*@aliyun.com:Allen; grant Worker to RAM$Bo*@aliyun.com:Alice; grant Worker to RAM$Bob@aliyun.com:Tom;
Mengelola izin pengguna dengan perintah
Perintah
Untuk informasi selengkapnya, lihat Mencabut izin Download dari peran atau Mencabut peran dari pengguna.
Contoh
-- Cabut izin dari peran Worker. revoke download on table sale_detail from ROLE Worker; -- Atau -- Cabut peran Worker dari pengguna. revoke Worker from RAM$Bo*@aliyun.com:Allen;
Mengelola izin pengguna menggunakan perintah
Perintah
grant Label <number> on table <table_name> [(<column_list>)] to USER <user_name> [with exp <days>];Contoh
grant Label 4 on table sale_detail to USER RAM$Bo*@aliyun.com:Allen;
Mengelola izin pengguna dengan perintah
Perintah
revoke Label on table <table_name> [(<column_list>)] from USER <user_name>;Contoh
revoke Label on table sale_detail from ROLE Worker;
Mengelola izin pengguna dengan perintah
Perintah
Untuk informasi selengkapnya, lihat Memberikan izin peran untuk mengakses data sangat sensitif dan Menetapkan peran kepada pengguna.
Contoh
-- Buat peran bernama Worker. create role Worker; -- Berikan izin kepada peran Worker. grant Label 4 on table * to ROLE Worker; -- Tetapkan peran Worker kepada pengguna. grant Worker to RAM$Bo*@aliyun.com:Allen; grant Worker to RAM$Bo*@aliyun.com:Alice; grant Worker to RAM$Bob@aliyun.com:Tom;
Mengelola izin pengguna menggunakan perintah
Perintah
Untuk informasi selengkapnya, lihat Mencabut izin untuk mengakses data sangat sensitif dari peran atau Mencabut peran dari pengguna.
Contoh
-- Cabut izin dari peran Worker. revoke Label on table * from ROLE Worker; -- Atau -- Cabut peran Worker dari pengguna. revoke Worker from RAM$Bo*@aliyun.com:Allen;
Membersihkan izin sisa dari pengguna yang dihapus
Perintah
purge privs from user <user_name>;Contoh
purge privs from user RAM$Bo*@aliyun.com:Allen;
Kueri informasi izin
Kueri izin peran tertentu dan informasi tentang pengguna yang ditetapkan pada peran tersebut
Untuk informasi selengkapnya tentang cara mengkueri izin peran tertentu dan pengguna yang ditetapkan pada peran tersebut, lihat Kueri izin peran tertentu dan informasi tentang pengguna yang ditetapkan pada peran tersebut.
Perintah
describe role <role_name>;Contoh
describe role Worker;
Kueri informasi izin pengguna
Kueri izin pengguna saat ini dan peran yang ditetapkan pada pengguna
show grants;Kueri izin pengguna tertentu dan peran yang ditetapkan pada pengguna
Perintah
show grants for <user_name>;Contoh
show grants for ALIYUN$Bo*@aliyun.com; show grants for RAM$Bo*@aliyun.com:Allen;
Kueri informasi otorisasi ACL suatu objek
Untuk informasi selengkapnya tentang cara mengkueri otorisasi ACL suatu objek, lihat Kueri informasi otorisasi ACL objek tertentu.
Perintah
show acl for <object_name> [on type <object_type>];Contoh
show acl for test_project_a on type project;
Kueri informasi izin berbasis label
Kueri semua tabel data sangat sensitif yang dapat diakses oleh pengguna saat ini
show label grants;Kueri tabel data sangat sensitif tingkat tertentu yang dapat diakses oleh pengguna saat ini
Perintah
show label <level> grants;Contoh
show label 2 grants;
Kueri tabel data sangat sensitif yang dapat diakses oleh pengguna tertentu
Perintah
show label grants for user <user_name>;Contoh
show label grants for user RAM$Bob@aliyun.com:Allen;
Kueri tabel data sangat sensitif tingkat tertentu yang dapat diakses oleh pengguna tertentu
Perintah
show label <level> grants for user <user_name>;Contoh
show label 3 grants for user RAM$Bob@aliyun.com:Allen;
Kueri pengguna yang dapat mengakses tabel data sensitif tertentu
Perintah
show label grants on table <table_name>;Contoh
show label grants on table sale_detail;
Kueri pengguna tingkat tertentu yang dapat mengakses tabel data sensitif tertentu
Perintah
show label <level> grants on table <table_name>;Contoh
show label 4 grants on table sale_detail;
Kueri izin pengguna tertentu pada tabel data sensitif tertentu
Perintah
show label [<label>] grants on table <table_name> for user <user_name>;Contoh
show label grants on table sale_detail for user RAM$Bob@aliyun.com:Allen;
Kueri tingkat sensitivitas semua kolom dalam tabel tertentu
Perintah
describe <table_name>;Contoh
describe sale_detail;
Kueri informasi otorisasi paket
Kueri otorisasi paket tertentu
Perintah
show acl for <project_name>.<package_name> on type package;Contoh
show acl for test_project_b.datashare on type package;
Kueri otorisasi sumber daya dalam paket tertentu
Perintah
show grants on <object_type> <object_name> privilegeproperties ("refobject"="true", "refproject"="<project_name>", "package"="<package _name>");Contoh
show grants on Table sale_detail privilegeproperties ("refobject"="true", "refproject"="test_project_a", "package"="datashare");
Kueri otorisasi berbasis label tabel dalam paket tertentu
Perintah
show label grants on table <table_name> privilegeproperties ("refobject"="true", "refproject"="<project_name>", "package"="<package_name>");Contoh
show label grants on table sale_detail privilegeproperties ("refobject"="true", "refproject"="test_project_a", "package"="datashare");
Lihat konfigurasi keamanan proyek
Perlindungan data proyek
Mengaktifkan atau menonaktifkan mekanisme perlindungan data untuk proyek
set ProjectProtection=true|false;Lihat konfigurasi keamanan proyek
show SecurityConfiguration;Hasil yang dikembalikan berisi
ProjectProtection=true|false, yang masing-masing menunjukkan bahwa perlindungan data proyek diaktifkan atau dinonaktifkan.
Lihat proyek tepercaya yang ditambahkan
list trustedprojects;Kebijakan kontrol akses LabelSecurity
Mengaktifkan atau menonaktifkan kebijakan kontrol akses LabelSecurity
set LabelSecurity=true|false;Lihat konfigurasi keamanan proyek
show SecurityConfiguration;Hasil yang dikembalikan berisi
LabelSecurity=true|false. Nilai true menunjukkan bahwa kontrol akses berbasis label diaktifkan untuk proyek, dan nilai false menunjukkan bahwa kontrol tersebut dinonaktifkan.
Fitur kontrol izin unduh
Mengaktifkan atau menonaktifkan fitur kontrol izin unduh
setproject odps.security.enabledownloadprivilege=true|false;Lihat properti proyek
setproject;Hasil yang dikembalikan berisi
odps.security.enabledownloadprivilege = true|false, di manatruemenunjukkan bahwa fitur kontrol unduh untuk proyek diaktifkan danfalsemenunjukkan bahwa fitur tersebut dinonaktifkan.