Tous les produits
Search
Centre de documentation

Serverless App Engine:Rôles liés au service

Dernière mise à jour :Aug 11, 2026

Serverless App Engine (SAE) utilise un rôle lié au service (SLR) pour accéder à d'autres ressources Alibaba Cloud. Cette rubrique décrit les cas d'utilisation des SLR ainsi que la procédure de création et de suppression.

Qu'est-ce qu'un SLR ?

Dans certains scénarios, SAE doit accéder à d'autres services cloud pour offrir l'ensemble de ses fonctionnalités. Par exemple, lors de la création d'une application, SAE peut avoir besoin de récupérer des informations sur vos ressources, telles que votre Virtual Private Cloud (VPC). Un SLR accorde à SAE les autorisations nécessaires pour accéder à des services comme VPC. Cette méthode délègue de manière sécurisée uniquement les autorisations requises, ce qui réduit le risque d'erreurs opérationnelles. La stratégie d'autorisation d'un SLR est prédéfinie et gérée par le service lié. Vous ne pouvez ni modifier ni supprimer la stratégie, ni attacher ou détacher des stratégies supplémentaires au rôle. Pour plus d'informations, consultez la rubrique Rôles liés au service.

Autorisations du SLR

Nom du rôle : AliyunServiceRoleForSAE

Stratégie d'autorisation : AliyunServiceRolePolicyForSAE

Document de stratégie :

json{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "alb:TagResources",
                "alb:UnTagResources",
                "alb:ListServerGroups",
                "alb:ListServerGroupServers",
                "alb:AddServersToServerGroup",
                "alb:RemoveServersFromServerGroup",
                "alb:ReplaceServersInServerGroup",
                "alb:CreateLoadBalancer",
                "alb:DeleteLoadBalancer",
                "alb:UpdateLoadBalancerAttribute",
                "alb:UpdateLoadBalancerEdition",
                "alb:EnableLoadBalancerAccessLog",
                "alb:DisableLoadBalancerAccessLog",
                "alb:EnableDeletionProtection",
                "alb:DisableDeletionProtection",
                "alb:ListLoadBalancers",
                "alb:GetLoadBalancerAttribute",
                "alb:ListListeners",
                "alb:CreateListener",
                "alb:GetListenerAttribute",
                "alb:UpdateListenerAttribute",
                "alb:ListListenerCertificates",
                "alb:AssociateAdditionalCertificatesWithListener",
                "alb:DissociateAdditionalCertificatesFromListener",
                "alb:DeleteListener",
                "alb:CreateRule",
                "alb:DeleteRule",
                "alb:UpdateRuleAttribute",
                "alb:CreateRules",
                "alb:UpdateRulesAttribute",
                "alb:DeleteRules",
                "alb:ListRules",
                "alb:CreateServerGroup",
                "alb:DeleteServerGroup",
                "alb:UpdateServerGroupAttribute",
                "alb:DescribeZones"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ecs:ListTagResources",
                "ecs:TagResources",
                "ecs:UnTagResources",
                "ecs:CreateNetworkInterface",
                "ecs:DeleteNetworkInterface",
                "ecs:DescribeNetworkInterfaces",
                "ecs:AttachNetworkInterface",
                "ecs:DetachNetworkInterface",
                "ecs:CreateNetworkInterfacePermission",
                "ecs:DescribeNetworkInterfacePermissions",
                "ecs:DeleteNetworkInterfacePermission",
                "ecs:ModifyNetworkInterfaceAttribute",
                "ecs:JoinSecurityGroup",
                "ecs:LeaveSecurityGroup",
                "ecs:CreateSecurityGroup",
                "ecs:AuthorizeSecurityGroup",
                "ecs:DescribeSecurityGroupAttribute",
                "ecs:DescribeSecurityGroups",
                "ecs:RevokeSecurityGroup",
                "ecs:DeleteSecurityGroup",
                "ecs:ModifySecurityGroupAttribute",
                "ecs:AuthorizeSecurityGroupEgress",
                "ecs:RevokeSecurityGroupEgress",
                "ecs:ModifySecurityGroupRule",
                "ecs:DescribeSecurityGroupReferences",
                "ecs:ModifySecurityGroupPolicy"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "slb:AddTags",
                "slb:RemoveTags",
                "slb:CreateLoadBalancer",
                "slb:ModifyLoadBalancerInternetSpec",
                "slb:DeleteLoadBalancer",
                "slb:SetLoadBalancerStatus",
                "slb:SetLoadBalancerName",
                "slb:DescribeLoadBalancers",
                "slb:DescribeLoadBalancerAttribute",
                "slb:ModifyLoadBalancerPayType",
                "slb:ModifyLoadBalancerInstanceSpec",
                "slb:CreateLoadBalancerHTTPListener",
                "slb:CreateLoadBalancerHTTPSListener",
                "slb:CreateLoadBalancerTCPListener",
                "slb:CreateLoadBalancerUDPListener",
                "slb:DeleteLoadBalancerListener",
                "slb:StartLoadBalancerListener",
                "slb:StopLoadBalancerListener",
                "slb:DescribeLoadBalancerListeners",
                "slb:SetLoadBalancerHTTPListenerAttribute",
                "slb:SetLoadBalancerHTTPSListenerAttribute",
                "slb:SetLoadBalancerTCPListenerAttribute",
                "slb:SetLoadBalancerUDPListenerAttribute",
                "slb:SetListenerAccessControlStatus",
                "slb:DescribeLoadBalancerHTTPListenerAttribute",
                "slb:DescribeLoadBalancerHTTPListenerAttributes",
                "slb:DescribeLoadBalancerHTTPSListenerAttribute",
                "slb:DescribeLoadBalancerTCPListenerAttribute",
                "slb:DescribeLoadBalancerUDPListenerAttribute",
                "slb:DescribeListenerAccessControlAttribute",
                "slb:AddListenerWhiteListItem",
                "slb:RemoveListenerWhiteListItem",
                "slb:AddBackendServers",
                "slb:RemoveBackendServers",
                "slb:SetBackendServers",
                "slb:DescribeHealthStatus",
                "slb:UploadServerCertificate",
                "slb:DeleteServerCertificate",
                "slb:DescribeServerCertificates",
                "slb:SetServerCertificateName",
                "slb:DescribeRegions",
                "slb:CreateVServerGroup",
                "slb:DescribeVServerGroupAttribute",
                "slb:DescribeVServerGroups",
                "slb:AddVServerGroupBackendServers",
                "slb:SetVServerGroupAttribute",
                "slb:ModifyVServerGroupBackendServers",
                "slb:RemoveVServerGroupBackendServers",
                "slb:DescribeRules",
                "slb:SetRule",
                "slb:CreateRules",
                "slb:DeleteRules",
                "slb:DescribeTags",
                "slb:DeleteVServerGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "nas:DescribeRegions",
                "nas:CreateFileSystem",
                "nas:DeleteFileSystem",
                "nas:DescribeFileSystems",
                "nas:ModifyFileSystem",
                "nas:CreateMountTarget",
                "nas:DeleteMountTarget",
                "nas:DescribeMountTargets",
                "nas:ModifyMountTarget",
                "nas:CreateAccessGroup",
                "nas:DeleteAccessGroup",
                "nas:DescribeAccessGroups",
                "nas:ModifyAccessGroup",
                "nas:CreateAccessRule",
                "nas:DeleteAccessRule",
                "nas:DescribeAccessRules",
                "nas:ModifyAccessRule",
                "nas:SetUserVolumeCountLimit"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "vpc:DescribeVSwitches",
                "vpc:DescribeVpcs",
                "vpc:CreateVpc",
                "vpc:DescribeZones",
                "vpc:CreateVSwitch",
                "vpc:DescribeVSwitchAttributes",
                "vpc:DescribeEipAddresses",
                "vpc:AssociateEipAddress",
                "vpc:UnassociateEipAddress",
                "vpc:AllocateEipAddress",
                "vpc:ReleaseEipAddress"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "cr:GetUserInfo",
                "cr:GetRegionList",
                "cr:GetNamespaceList",
                "cr:GetRepoListByNamespace",
                "cr:GetRepoTags",
                "cr:GetRepoList",
                "cr:GetRepo",
                "cr:GetInstanceVpcEndpoint",
                "cr:ListNamespace",
                "cr:ListInstanceEndpoint",
                "cr:CreateNamespace",
                "cr:DeleteNamespace",
                "cr:UpdateNamespace",
                "cr:GetNamespace",
                "cr:CreateRepository",
                "cr:DeleteRepository",
                "cr:UpdateRepository",
                "cr:GetRepository",
                "cr:ListRepository",
                "cr:ListRepositoryTag",
                "cr:DeleteRepositoryTag",
                "cr:GetRepositoryManifest",
                "cr:GetRepositoryLayers",
                "cr:PullRepository",
                "cr:PushRepository",
                "cr:GetAuthorizationToken"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ram:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "ram:PassRole",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "acs:Service": "oos.aliyuncs.com"
                }
            }
        },
        {
            "Action": [
                "log:GetLogStore",
                "log:ListLogStores",
                "log:CreateLogStore",
                "log:DeleteLogStore",
                "log:UpdateLogStore",
                "log:GetCursorOrData",
                "log:ListShards",
                "log:PostLogStoreLogs",
                "log:CreateConfig",
                "log:UpdateConfig",
                "log:DeleteConfig",
                "log:GetConfig",
                "log:ListConfig",
                "log:CreateMachineGroup",
                "log:UpdateMachineGroup",
                "log:DeleteMachineGroup",
                "log:GetMachineGroup",
                "log:ListMachineGroup",
                "log:ListMachines",
                "log:ApplyConfigToGroup",
                "log:RemoveConfigFromGroup",
                "log:GetAppliedMachineGroups",
                "log:GetAppliedConfigs",
                "log:GetLogStoreLogs",
                "log:GetLogStoreHistogram",
                "log:CreateProject",
                "log:GetProject",
                "log:GetIndex",
                "log:CreateIndex",
                "log:DeleteIndex",
                "log:UpdateIndex",
                "log:GetMachineGroups",
                "log:RemoveConfigFromMachineGroup",
                "log:DeleteProject"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "yundun-cert:DescribeUserCertificateList",
                "yundun-cert:DescribeUserCertificateDetail"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "bss:DescribePrice",
                "bss:DescribeInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "arms:QueryMetric",
                "arms:ListDashboards",
                "arms:OpenArmsService",
                "arms:ListServerlessTopNApps",
                "arms:CreateAlertContact",
                "arms:SearchAlertContact",
                "arms:UpdateAlertContact",
                "arms:DeleteAlertContact",
                "arms:CreateAlertContactGroup",
                "arms:SearchAlertContactGroup",
                "arms:UpdateAlertContactGroup",
                "arms:DeleteAlertContactGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:ListExecutions",
                "oos:StartExecution",
                "oos:DeleteExecutions",
                "oos:CancelExecution",
                "oos:GetTemplate",
                "oos:CreateTemplate",
                "oos:UpdateTemplate"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "mse:CreateApplication",
                "mse:RemoveApplication",
                "mse:FetchRoutePolicyList",
                "mse:AddRoutePolicy",
                "mse:UpdateRoutePolicy",
                "mse:RemoveRoutePolicy",
                "mse:GetServiceDetail",
                "mse:GetServiceListPage",
                "mse:GetServiceList"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "eventbridge:CreateEventBus",
                "eventbridge:GetEventBus",
                "eventbridge:DeleteEventBus",
                "eventbridge:ListEventBuses",
                "eventbridge:CreateRule",
                "eventbridge:GetRule",
                "eventbridge:UpdateRule",
                "eventbridge:EnableRule",
                "eventbridge:DisableRule",
                "eventbridge:DeleteRule",
                "eventbridge:ListRules",
                "eventbridge:UpdateTargets",
                "eventbridge:DeleteTargets",
                "eventbridge:ListTargets",
                "eventbridge:PutEvents",
                "eventbridge:CreateEventSource",
                "eventbridge:UpdateEventSource",
                "eventbridge:DeleteEventSource",
                "eventbridge:ListAliyunOfficialEventSources",
                "eventbridge:ListUserDefinedEventSources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "alikafka:ListInstance",
                "alikafka:ListTopic"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "ram:DeleteServiceLinkedRole",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": "sae.aliyuncs.com"
                }
            }
        },
        {
            "Action": "ram:CreateServiceLinkedRole",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": "eipaccess.slb.aliyuncs.com"
                }
            }
        }
    ]
}

Créer un SLR

SAE crée automatiquement son SLR. Si le SLR n'a pas encore été créé, la boîte de dialogue Welcome to Serverless App Engine (SAE) s'affiche lorsque vous vous connectez à la console SAE. Cliquez sur Confirm pour créer le SLR.

La boîte de dialogue indique que le nouveau rôle se nomme AliyunServiceRoleForSAE et utilise la stratégie AliyunServiceRolePolicyForSAE. Ce rôle permet à SAE d'accéder à des ressources cloud telles que VPC, RDS, ECS, SLB, Container Registry (ACR), Log Service (SLS), Apsara File Storage (NAS) et Application Real-Time Monitoring Service (ARMS). Cet accès est nécessaire pour des opérations telles que l'extraction d'images, la collecte de données de surveillance, l'exportation des journaux et la persistance des données.

Remarque

La boîte de dialogue Welcome to Serverless App Engine (SAE) continuera de s'afficher à chaque connexion à la console SAE tant que vous n'aurez pas créé le SLR.

Supprimer un SLR

Pour supprimer le SLR, vous devez d'abord supprimer toutes les applications déployées par le compte Alibaba Cloud sur SAE.

Important
  • Après la suppression du SLR, vous ne pourrez plus utiliser SAE. Procédez avec prudence.

  • Pour utiliser à nouveau SAE après avoir supprimé le SLR, connectez-vous à la console SAE pour le recréer. Pour plus d'informations, consultez la rubrique Créer un SLR.