文件存储CPFS服务关联角色

更新时间:
复制为 MD 格式

CPFS 使用服务关联角色访问专有网络 VPC对象存储等阿里云服务。本文介绍各角色的适用场景、权限内容及删除方法。

背景信息

服务关联角色是一种可信实体为阿里云服务的RAM角色。文件存储 CPFS使用服务关联角色获取其他云服务或云资源的访问权限。

执行相关操作时,系统通常会自动创建服务关联角色。如果自动创建失败,或文件存储 CPFS不支持自动创建,需手动创建服务关联角色。

RAM 为每个服务关联角色提供一个系统权限策略,该策略不可修改。如需查看策略内容,可前往RAM控制台对应角色的详情页面。

说明

关于服务关联角色的更多信息,请参见服务关联角色

应用场景

CPFS 服务关联角色的应用场景如下:

  • AliyunServiceRoleForNasCpfsNetwork

    创建或删除弹性网卡、安全组时,CPFS 通过该角色访问专有网络VPC和云服务器 ECS。

  • AliyunServiceRoleForNasCpfsClient

    创建或删除ECS实例、云助手、授权信息及安全组时,CPFS 通过该角色访问专有网络VPC和云服务器 ECS。

  • AliyunServiceRoleForNasOssDataFlow

    使用数据流动功能时,CPFS 通过该角色查询和读写对象存储OSS中指定 Bucket 的数据。

  • AliyunServiceRoleForNasEventNotification

    使用数据流动功能时,CPFS 通过该角色创建和修改 EventBridge 相关参数。

更多服务关联角色的信息,请参见服务关联角色

权限说明

各 CPFS 服务关联角色的权限内容如下:

AliyunServiceRoleForNasCpfsNetwork

该角色授予 CPFS 管理挂载点所需网络资源的权限:

  • vpc:读取VPC和交换机属性,验证网络配置。

  • ecs(不限资源):创建安全组和弹性网卡,管理弹性网卡权限。

  • ecs(仅标签资源):管理标签为 nas:cpfs=true 的资源的安全组规则。

  • ram:删除本服务关联角色(范围限定为 cpfs-network.nas.aliyuncs.com)。

    {
        "Version": "1",
        "Statement": [{
                "Action": [
                    "vpc:DescribeVSwitchAttributes",
                    "vpc:DescribeVpcs",
                    "vpc:DescribeVSwitches"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "ecs:CreateSecurityGroup",
                    "ecs:DescribeSecurityGroups",
                    "ecs:CreateNetworkInterface",
                    "ecs:DeleteNetworkInterface",
                    "ecs:DescribeNetworkInterfaces",
                    "ecs:CreateNetworkInterfacePermission",
                    "ecs:DescribeNetworkInterfacePermissions",
                    "ecs:DeleteNetworkInterfacePermission"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeSecurityGroupAttribute",
                    "ecs:DeleteSecurityGroup",
                    "ecs:AuthorizeSecurityGroup",
                    "ecs:AuthorizeSecurityGroupEgress",
                    "ecs:RevokeSecurityGroup",
                    "ecs:RevokeSecurityGroupEgress"
                ],
                "Resource": "acs:ecs:*:*:*/*",
                "Condition": {
                    "StringEqualsIgnoreCase": {
                        "ecs:tag/nas:cpfs": "true"
                    }
                }
            },
            {
                "Action": "ram:DeleteServiceLinkedRole",
                "Resource": "*",
                "Effect": "Allow",
                "Condition": {
                    "StringEquals": {
                        "ram:ServiceName": "cpfs-network.nas.aliyuncs.com"
                    }
                }
            }
        ]
    }
          

AliyunServiceRoleForNasCpfsClient

该角色授予 CPFS 管理挂载客户端实例所需的权限:

  • vpc:读取VPC和交换机属性。

  • ecs(不限资源):创建和查询实例、安全组,安装云助手。

  • ecs(仅标签资源):启动和删除实例,运行命令,管理标签为 nas:cpfs=true 的资源的安全组规则。

  • ram:删除本服务关联角色(范围限定为 cpfs-client.nas.aliyuncs.com)。

    {
     "Version": "1",
     "Statement": [
     {
     "Action": [
     "vpc:DescribeVSwitchAttributes",
     "vpc:DescribeVpcs",
     "vpc:DescribeVSwitches"
     ],
     "Resource": "*",
     "Effect": "Allow"
     },
     {
     "Action": [
     "ecs:RunInstances",
     "ecs:CreateInstance",
     "ecs:DescribeInstances",
     "ecs:CreateSecurityGroup",
     "ecs:DescribeSecurityGroups",
     "ecs:InstallCloudAssistant",
     "ecs:DescribeInvocations"
     ],
     "Resource": "*",
     "Effect": "Allow"
     },
     {
     "Effect": "Allow",
     "Action": [
     "ecs:StartInstances",
     "ecs:DeleteInstances",
     "ecs:RunCommand",
     "ecs:DescribeSecurityGroupAttribute",
     "ecs:DeleteSecurityGroup",
     "ecs:AuthorizeSecurityGroup",
     "ecs:AuthorizeSecurityGroupEgress",
     "ecs:RevokeSecurityGroup",
     "ecs:RevokeSecurityGroupEgress"
     ],
     "Resource": "acs:ecs:*:*:*/*",
     "Condition": {
     "StringEqualsIgnoreCase": {
     "ecs:tag/nas:cpfs": "true"
     }
     }
     },
     {
     "Action": "ram:DeleteServiceLinkedRole",
     "Resource": "*",
     "Effect": "Allow",
     "Condition": {
     "StringEquals": {
     "ram:ServiceName": "cpfs-client.nas.aliyuncs.com"
     }
     }
     } 
     ]
     }
     

AliyunServiceRoleForNasOssDataFlow

该角色授予 CPFS 数据流动功能读写OSS数据所需的权限:

  • oss(不限资源):列举所有 Bucket,读取 Bucket 标签,定位目标 Bucket。

  • oss(仅标签 Bucket):对标签为 cpfs-dataflow=true 的 Bucket 及其对象进行完整读写操作,包括分片上传。

  • ram:删除本服务关联角色(范围限定为 oss-dataflow.nas.aliyuncs.com)。

    {
     "Statement": [
     {
     "Effect": "Allow",
     "Action": [
     "oss:ListBuckets",
     "oss:GetBucketTagging"
     ],
     "Resource": [
     "acs:oss:*:*:*"
     ]
     },
     {
     "Effect": "Allow",
     "Action": [
     "oss:HeadBucket",
     "oss:GetBucketLocation",
     "oss:GetBucketInventory",
     "oss:GetBucketInfo",
     "oss:GetBucketVersion",
     "oss:GetBucketAcl",
     "oss:GetBucketStat",
     "oss:GetBucket",
     "oss:ListObjects",
     "oss:GetObject",
     "oss:PutObject",
     "oss:CopyObject",
     "oss:AppendObject",
     "oss:DeleteObject",
     "oss:GetObjectMeta",
     "oss:PutObjectACL",
     "oss:GetObjectACL",
     "oss:PutObjectTagging",
     "oss:GetObjectTagging",
     "oss:InitiateMultipartUpload",
     "oss:CompleteMultipartUpload",
     "oss:AbortMultipartUpload",
     "oss:ListMultipartUploads",
     "oss:UploadPart",
     "oss:UploadPartCopy",
     "oss:ListParts"
     ],
     "Resource": [
     "acs:oss:*:*:*",
     "acs:oss:*:*:*/*"
     ],
     "Condition": {
     "StringEqualsIgnoreCase": {
     "oss:tag/cpfs-dataflow": "true"
     }
     }
     },
     {
     "Action": "ram:DeleteServiceLinkedRole",
     "Resource": "*",
     "Effect": "Allow",
     "Condition": {
     "StringEquals": {
     "ram:ServiceName": "oss-dataflow.nas.aliyuncs.com"
     }
     }
     }
     ],
     "Version": "1"
    }
     

AliyunServiceRoleForNasEventNotification

该角色授予 CPFS 管理数据流动事件通知所需的 EventBridge 权限:

  • eventbridge(不限资源):读取事件总线详情,创建规则。

  • eventbridge(所有资源):查询、列举、更新、启用、禁用、删除规则,管理规则目标。

  • ram:删除本服务关联角色(范围限定为 event-notification.nas.aliyuncs.com)。

    {
     "Statement": [
     {
     "Effect": "Allow",
     "Action": [
     "eventbridge:GetEventBus",
     "eventbridge:CreateRule"
     ],
     "Resource": [
     "acs:eventbridge:*:*:*"
     ]
     },
     {
     "Effect": "Allow",
     "Action": [
     "eventbridge:GetRule",
     "eventbridge:ListRules",
     "eventbridge:UpdateRule",
     "eventbridge:EnableRule",
     "eventbridge:DisableRule",
     "eventbridge:DeleteRule",
     "eventbridge:CreateTargets",
     "eventbridge:UpdateTargets",
     "eventbridge:DeleteTargets"
     ],
     "Resource": [
     "acs:eventbridge:*:*:*"
     ]
     },
     {
     "Action": "ram:DeleteServiceLinkedRole",
     "Resource": "*",
     "Effect": "Allow",
     "Condition": {
     "StringEquals": {
     "ram:ServiceName": "event-notification.nas.aliyuncs.com"
     }
     }
     }
     ],
     "Version": "1"
    }
     

RAM 用户使用服务关联角色需要的权限

RAM 用户创建或删除服务关联角色,需联系管理员授予 AliyunNASFullAccess 权限,或在自定义权限策略的Action语句中添加以下权限:

  • 创建服务关联角色:ram:CreateServiceLinkedRole

  • 删除服务关联角色:ram:DeleteServiceLinkedRole

关于授权的详细操作,请参见管理服务关联角色所需的权限

查看服务关联角色

服务关联角色创建成功后,可在RAM 控制台角色页面搜索角色名称(例如 AliyunServiceRoleForNasStandard),进入详情页查看以下信息:

  • 基本信息

    在 AliyunServiceRoleForNasStandard 角色详情页的基本信息区域,查看角色名称、创建时间、角色 ARN 和备注等基本信息。

  • 权限策略

    在 AliyunServiceRoleForNasStandard 角色详情页的权限管理页签,单击权限策略名称,查看策略内容及该角色可访问的云资源。

  • 信任策略

    在 AliyunServiceRoleForNasStandard 角色详情页的信任策略页签,查看信任策略内容。信任策略描述可扮演该RAM角色的可信实体。服务关联角色的可信实体为云服务,可通过信任策略中的Service字段查看。

关于如何查看服务关联角色的详细操作,请参见查看RAM角色

删除CPFS服务关联角色

不再使用 CPFS 数据流动等功能时,可删除对应的服务关联角色。删除前,需先删除该角色关联的 CPFS 文件系统实例。具体操作,请参见删除文件系统删除服务关联角色

如果删除时服务正在使用该角色,删除操作可能失败。等待几分钟后重试即可。

重要

删除服务关联角色后,依赖该角色的功能将无法正常使用,请谨慎操作。

常见问题

为什么RAM用户无法自动创建CPFS服务关联角色?

RAM 用户自动创建服务关联角色需要具备指定权限。为该RAM用户添加以下系统策略和自定义策略后即可解决。具体操作,请参见创建自定义权限策略

  • 系统策略

    • AliyunVPCFullAccess:管理专有网络VPC的权限。

    • AliyunBSSFullAccess:管理费用中心 BSS 的权限。

    • AliyunNASFullAccess:管理文件存储 NAS 的权限。

    • AliyunECSNetworkInterfaceManagementAccess:管理ECS弹性网卡的权限。

  • 自定义策略

    • 管理挂载点,需要cpfs-network.nas.aliyuncs.comcpfs-client.nas.aliyuncs.com权限。

    • 管理数据流动,需要oss-dataflow.nas.aliyuncs.comevent-notification.nas.aliyuncs.com权限。

    示例如下:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ram:CreateServiceLinkedRole"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": { 
             "ram:ServiceName": [
                "cpfs-network.nas.aliyuncs.com",
                "cpfs-client.nas.aliyuncs.com",
                "oss-dataflow.nas.aliyuncs.com",
                "event-notification.nas.aliyuncs.com" 
             ]
            }
          }
        }
      ]
    }