Topik ini menjelaskan role eksekusi, termasuk cara membuat kebijakan izin dan role eksekusi.
Latar Belakang
Saat Anda membangun aplikasi dengan Serverless Workflow, Anda harus membuat role eksekusi dan memberikan izin yang diperlukan. Saat Serverless Workflow mengeksekusi suatu alur, layanan tersebut mengasumsikan role ini untuk mengakses layanan cloud lainnya atas nama Anda, seperti memanggil fungsi, mengirim pesan, dan mengeksekusi alur lainnya.
Konsol Serverless Workflow memungkinkan Anda membuat role eksekusi secara cepat dan memberikan izin sistem default. Untuk kontrol akses yang lebih detail halus—misalnya, hanya mengizinkan suatu alur mengakses fungsi tertentu di Function Compute—ikuti petunjuk dalam topik ini.
Serverless Workflow menggunakan sistem pengelolaan izin berbasis role dari Resource Access Management (RAM). Prinsip dasar otorisasi adalah sebagai berikut: sebuah policy mendefinisikan izin untuk mengakses layanan tertentu. Saat Anda menyambungkan policy ke sebuah role, role tersebut memperoleh izin tersebut. Untuk mengakses layanan lain, suatu layanan mengasumsikan role yang memiliki izin yang diperlukan. Pendekatan ini menghindari penggunaan kunci akses jangka panjang dan meningkatkan keamanan sistem.
Buat kebijakan izin
Masuk ke Konsol RAM sebagai administrator RAM.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Policies, klik Create Policy.
Pada halaman Create Policy, klik tab Script.
Masukkan isi kebijakan, lalu klik Next: Edit Basic Information.
Untuk informasi selengkapnya mengenai sintaks dan struktur kebijakan izin, lihat Policy structure and syntax. Tabel berikut menyediakan contoh izin umum.
Description
Effect
Action
Resource
Mengizinkan pemanggilan fungsi Func1 di layanan Test1.
Allow
fc:InvokeFunction
acs:fc:::services/Test1/functions/Func1
Mengizinkan pemanggilan semua fungsi di layanan Test2.
Allow
fc:InvokeFunction
acs:fc:::services/Test2/functions/*
Mengizinkan pemanggilan semua fungsi di layanan dengan nama yang diawali Public.
Allow
fc:InvokeFunction
acs:fc:::services/Public*/functions/*
Mengizinkan pengiriman pesan ke antrian Test1.
Allow
mns:SendMessage
acs:mns:*:*:/queues/Test1/messages
Mengizinkan memulai eksekusi untuk alur Test1.
Allow
fnf:StartExecution
acs:fnf:::flows/Test1/executions/*
Pada bagian Basic Information, masukkan Policy Name dan Note, lalu klik OK.
Buat role eksekusi
Masuk ke Konsol RAM sebagai administrator RAM.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Roles, klik Create Role.
Pada panel Create Role, atur parameter berikut, lalu klik Finish.
Untuk Trusted Entity type, pilih Alibaba Cloud Service.
Untuk Role Type, pilih Normal Service Role.
Untuk RAM Role Name, masukkan FnFExecutionRole.
Untuk Trusted Service, pilih Function Flow.
Sambungkan kebijakan izin yang telah Anda buat ke role FnFExecutionRole.
Untuk petunjuk lengkap, lihat Manage permissions for a RAM role.
Klik role yang telah Anda buat. Di bagian Basic Information, salin ARN role tersebut. Anda memerlukan ARN ini untuk membuat atau memperbarui alur.