Cette rubrique décrit les rôles d'exécution et explique comment créer une politique d'autorisations ainsi qu'un rôle d'exécution.
Contexte
Lorsque vous développez des applications avec Serverless Workflow, vous devez créer un rôle d'exécution et lui accorder les autorisations requises. Lorsque Serverless Workflow exécute un flux, il endosse ce rôle pour accéder à d'autres services cloud en votre nom, par exemple pour appeler des fonctions, envoyer des messages ou exécuter d'autres flux.
La console Serverless Workflow vous permet de créer rapidement un rôle d'exécution et de lui attribuer des autorisations système par défaut. Pour un contrôle d'accès plus fin, comme limiter l'accès d'un flux à des fonctions spécifiques dans Function Compute, suivez les instructions de cette rubrique.
Serverless Workflow utilise le système de gestion des autorisations basé sur les rôles de Resource Access Management (RAM). Le principe fondamental de l'autorisation est le suivant : une policy définit les autorisations d'accès à un service spécifique. Lorsque vous associez une politique à un role, ce dernier obtient ces autorisations. Pour accéder à un autre service, un service endosse un rôle disposant des autorisations nécessaires. Cette approche évite l'utilisation de clés d'accès permanentes et renforce la sécurité du système.
Créer une politique d'autorisations
Connectez-vous à la console RAM en tant qu'administrateur RAM.
Dans le volet de navigation de gauche, sélectionnez .
Sur la page Policies, cliquez sur Create Policy.
Sur la page Create Policy, cliquez sur l'onglet Script.
-
Saisissez le document de stratégie, puis cliquez sur Next: Edit Basic Information.
Pour plus d'informations sur la syntaxe et la structure d'une politique d'autorisations, consultez la rubrique Structure et syntaxe des politiques. Le tableau suivant présente des exemples courants d'autorisations.
|
**Description**
|
**Effect**
|
**Action**
|
**Resource**
| | --- | --- | --- | --- | |
Autorise l'appel de la fonction Func1 dans le service Test1.
|
Allow
|
fc:InvokeFunction
|
acs:fc:::services/Test1/functions/Func1
| |
Autorise l'appel de toutes les fonctions du service Test2.
|
Allow
|
fc:InvokeFunction
|
acs:fc:::services/Test2/functions/*
| |
Autorise l'appel de toutes les fonctions des services dont le nom commence par Public.
|
Allow
|
fc:InvokeFunction
|
acs:fc:::services/Public*/functions/*
| |
Autorise l'envoi de messages à la file d'attente Test1.
|
Allow
|
mns:SendMessage
|
acs:mns:*:*:/queues/Test1/messages
| |
Autorise le démarrage des exécutions pour le flux Test1.
|
Allow
|
fnf:StartExecution
|
acs:fnf:::flows/Test1/executions/*
| Dans la section Basic Information, saisissez un Policy Name et une Note, puis cliquez sur OK.
Créer un rôle d'exécution
Connectez-vous à la console RAM en tant qu'administrateur RAM.
Dans le volet de navigation de gauche, sélectionnez .
Sur la page Roles, cliquez sur Create Role.
-
Dans le panneau Create Role, définissez les paramètres suivants, puis cliquez sur Finish.
Pour le type d'entité de confiance, sélectionnez Alibaba Cloud Service.
Pour le type de rôle, sélectionnez Normal Service Role.
Pour le nom du rôle RAM, saisissez FnFExecutionRole.
Pour le service de confiance, sélectionnez Function Flow.
-
Associez la politique d'autorisations que vous avez créée au rôle FnFExecutionRole.
Pour des instructions détaillées, consultez la rubrique Gérer les autorisations d'un rôle RAM.
Cliquez sur le rôle que vous avez créé. Dans la section Basic Information, copiez l'ARN du rôle. Vous aurez besoin de cet ARN pour créer ou mettre à jour un flux.