Cuando CloudFlow ejecuta un flujo, asume un rol de ejecución para acceder a otros servicios de Alibaba Cloud en su nombre, como invocar funciones de Function Compute (FC), enviar mensajes a colas de Message Service (MNS) o iniciar flujos anidados. Esta guía le explica cómo crear una directiva de permisos personalizada y un rol de ejecución en Resource Access Management (RAM).
La consola de CloudFlow puede generar automáticamente un rol de ejecución con permisos del sistema. Cree una directiva personalizada solo cuando necesite un control de acceso detallado, por ejemplo, para restringir un flujo a funciones de FC o colas de MNS específicas.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una cuenta de Alibaba Cloud
Un usuario de RAM con privilegios administrativos
Acceso a la consola de RAM
Cómo funcionan conjuntamente las directivas y los roles
Una policy define los servicios a los que puede acceder una role. Al vincular la directiva a un rol, cualquier entidad que asuma dicho rol hereda esos permisos. CloudFlow asume el rol de ejecución durante la ejecución en lugar de utilizar claves de acceso permanentes, lo que reduce la exposición de credenciales.
Paso 1: Crear una directiva personalizada
Inicie sesión en la consola de RAM.
En el panel de navegación izquierdo, seleccione Permissions > Policies.
-
En la página Policies, haga clic en Create Policy.

-
En la página Create Policy, haga clic en la pestaña JSON.

-
Introduzca el documento de directiva en el editor. Para consultar la sintaxis completa, consulte Policy structure and syntax. La siguiente tabla muestra patrones de permisos comunes para roles de ejecución de CloudFlow.
Permiso
Efecto
Acción
ARN del recurso
Invocar una función específica de FC
Allow
fc:InvokeFunctionacs:fc:::services/Test1/functions/Func1Invocar todas las funciones de un servicio de FC
Allow
fc:InvokeFunctionacs:fc:::services/Test2/functions/*Invocar todas las funciones en servicios de FC con prefijo
PublicAllow
fc:InvokeFunctionacs:fc:::services/Public*/functions/*Enviar mensajes a una cola de MNS
Allow
mns:SendMessageacs:mns:*:*:/queues/Test1/messagesIniciar una ejecución de un flujo
Allow
fnf:StartExecutionacs:fnf:::flows/Test1/executions/* Revise los resultados de optimización de la directiva. El sistema aplica automáticamente una optimización básica que elimina condiciones y matrices innecesarias. (Opcional) Para un ajuste más preciso, pase el cursor sobre Optional: advanced optimize y haga clic en Perform. La optimización avanzada separa recursos o condiciones incompatibles, reduce los alcances de los recursos y deduplica o combina declaraciones de directivas.
Especifique los parámetros Name y Note, y luego haga clic en OK.
Paso 2: Crear el rol de ejecución
Inicie sesión en la consola de RAM.
En el panel de navegación izquierdo, seleccione Identities > Roles.
-
En la página Roles, haga clic en Create Role.

-
Establezca Principal Type en Cloud Service, seleccione un servicio de Alibaba Cloud para Principal Name y luego haga clic en OK.
Los servicios disponibles para Principal Name los determina la consola de RAM y pueden variar.

En el cuadro de diálogo Create Role, introduzca un Role Name (por ejemplo,
FnFExecutionRole) y haga clic en OK.
Paso 3: Vincular la directiva al rol
Vincule la directiva personalizada que creó en el Paso 1 al rol de ejecución. Para obtener instrucciones detalladas, consulte Grant permissions to a RAM role.
Paso 4: Obtener el ARN del rol
En la página Roles, haga clic en el rol de ejecución que creó.
En la sección Basic Information, copie el Alibaba Cloud Resource Name (ARN).
Utilice este ARN cuando cree o actualice un flujo en CloudFlow.