Function Compute utiliza el rol vinculado al servicio AliyunServiceRoleForFC para acceder a otros servicios de Alibaba Cloud en su nombre. La política del sistema adjunta es AliyunServiceRolePolicyForFC.
Function Compute 3.0 le permite vincular AliyunServiceRoleForFC a funciones individuales. De este modo, cada función obtiene únicamente los permisos que necesita (principio de privilegio mínimo).
Cuándo se requiere este rol
Redes VPC: conecte las funciones a VPC, vSwitch o interfaces de red elásticas (ENI) para establecer una comunicación segura en la red privada.
Despliegue de imágenes de contenedor: descargue imágenes desde Container Registry para crear funciones basadas en imágenes.
Mensajería basada en eventos: supervise y consuma eventos de ApsaraMQ, Simple Message Queue (anteriormente MNS), EventBridge y Function Flow para desencadenar la ejecución de funciones.
Gestión de registros: recopile los registros de ejecución de las funciones en Simple Log Service para buscarlos, analizarlos, visualizarlos y solucionar problemas.
Contenido de la política
AliyunServiceRolePolicyForFC otorga acceso a VPC, ECS, Simple Log Service y Container Registry. Esto habilita la conectividad con VPC, la descarga de imágenes, la recuperación de recursos y la exportación de registros.
{
"Version": "1",
"Statement": [
{
"Action": [
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVpcAttribute"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecs:CreateNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:DescribeNetworkInterfaces",
"ecs:CreateNetworkInterfacePermission",
"ecs:DeleteNetworkInterfacePermission",
"ecs:DescribeNetworkInterfacePermissions"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"cr:PullRepository",
"cr:GetArtifactTag",
"cr:GetAuthorizationToken",
"cr:GetRepository",
"cr:GetRepositoryTag",
"cr:GetRepoTagManifest",
"cr:GetRepositoryManifest",
"cr:GetInstanceVpcEndpoint",
"cr:GetInstance",
"cr:GetNamespace",
"cr:GetArtifactBuildRule",
"cr:CreateArtifactBuildTask"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"fc:InvokeFunction",
"eventbridge:PutEvents",
"mq:PUB",
"mq:OnsInstanceBaseInfo",
"mns:SendMessage",
"mns:PublishMessage",
"fnf:ReportTaskSucceeded",
"fnf:ReportTaskFailed"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"log:CreateProject",
"log:CreateLogStore",
"log:GetProject",
"log:GetLogStore",
"log:DeleteProject",
"log:DeleteLogStore",
"log:GetLogStoreLogs"
],
"Resource": [
"acs:log:*:*:project/aliyun-fc-*",
"acs:log:*:*:project/*/logstore/function-log*"
],
"Effect": "Allow"
},
{
"Action": [
"log:PostLogStoreLogs"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ram:GetRole"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "fc.aliyuncs.com"
}
}
}
]
}
Crear el rol vinculado al servicio
Cuando inicia sesión en la consola de Function Compute 3.0, el sistema le solicita crear AliyunServiceRoleForFC si este no existe. Una vez que confirme la acción, se crea el rol con AliyunServiceRolePolicyForFC adjunta.
Compruebe que el rol se haya creado correctamente:
Revise la página Roles en la consola de RAM.
Llame a la operación de API ListRoles.
Vuelva a iniciar sesión en la consola de Function Compute 3.0. Si logra iniciar sesión, se confirma que el rol existe.
Eliminar el rol vinculado al servicio
Si elimina AliyunServiceRoleForFC, la consola de Function Compute 3.0 dejará de funcionar correctamente. Proceda con precaución.
Para eliminar el rol vinculado al servicio desde la consola de RAM, siga estos pasos:
Inicie sesión en la consola de RAM como administrador de RAM.
En el panel de navegación izquierdo, vaya a .
En la página Roles, busque el rol de RAM que desea eliminar y haga clic en Delete Role dentro de la columna Actions.
-
En el cuadro de diálogo Delete Role, introduzca el nombre del rol y haga clic en Delete Role.
RAM comprueba si algún recurso de la nube todavía utiliza el rol. Si existen dependencias, la eliminación falla. Elimine los recursos dependientes que se muestran en el mensaje de error y vuelva a intentarlo.
Permisos de usuario de RAM
Para permitir que un usuario de RAM cree o elimine este rol, otórguele ram:CreateServiceLinkedRole y ram:DeleteServiceLinkedRole desde su cuenta de Alibaba Cloud, o bien adjunte la política AliyunRAMFullAccess.
Ejemplo de política personalizada:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "fc.aliyuncs.com"
}
}
}
]
}