通过RAM用户或者RAM角色等方式访问实时计算控制台,并进行购买、查看或者删除工作空间等操作时,需要RAM用户或者RAM角色拥有相应的权限。本文为您介绍Flink支持的权限策略类型、以及如何进行RAM授权。
权限策略类型
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。RAM支持的权限策略基本元素和语言规范,请参见权限策略基本元素和权限策略语法和结构。
RAM支持以下两种权限策略:
RAM授权操作
通过为RAM用户或RAM角色绑定权限策略,可以获得权限策略中指定的访问权限。本文为您介绍如何为RAM用户授权。RAM角色授权操作类似,详情请参见为RAM角色授权。
使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击目标RAM用户操作列的添加权限。
在添加权限面板,为RAM用户添加权限。
参数
说明
授权范围
选择所需的应用范围:
整个云账号:权限在当前阿里云账号内生效。
指定资源组:权限在指定的资源组内生效。
授权主体
被授权主体,即需要授权的RAM用户,系统会自动填入当前的RAM用户,您也可以添加其他RAM用户。
选择权限
单击确定。
单击完成。
系统权限策略
策略 | 名称 | 说明 |
流计算(Stream)服务所有权限 | AliyunStreamFullAccess | 包括自定义权限策略中所有的权限。 |
只读访问流计算(Stream)服务 | AliyunStreamReadOnlyAccess | 包含自定义权限策略中所有以Describe和Query开头的权限。 |
费用中心(BSS)的权限 | AliyunBSSOrderAccess | 配置该权限后,您可以在控制台进行查看、资源变配以及续费。 |
自定义权限策略
Flink全托管权限策略
权限策略中Action表示要执行的操作,Resource表示要操作的对象,Effect表示授权效果是允许还是禁止。权限策略语法和结构的详情请参见权限策略语法和结构。您需要将策略内容中的以下参数替换为您的实际值。需要替换的参数如下:
{#regionId}:目标Flink全托管工作空间所在的地域。
{#accountId}:阿里云账号的uid。
{#instanceId}:目标Flink全托管订单实例ID。
{#namespace}:目标项目空间的名称。
Flink全托管工作空间
权限
策略内容
新购Flink全托管
{ "Version": "1", "Statement": [ { "Action": "stream:CreateVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*", "Effect": "Allow" } ] }
查看工作空间
{ "Version": "1", "Statement": [ { "Action": "stream:DescribeVvpInstances", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*", "Effect": "Allow" } ] }
释放按量付费工作空间
{ "Version": "1", "Statement": [ { "Action": "stream:DeleteVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}", "Effect": "Allow" } ] }
工作空间续费
{ "Version": "1", "Statement": [ { "Action": "stream:RenewVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}", "Effect": "Allow" } ] }
工作空间扩缩容
{ "Version": "1", "Statement": [ { "Action": "stream:ModifyVvpPrepayInstanceSpec", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}", "Effect": "Allow" } ] }
变更工作空间付费模式
{ "Version": "1", "Statement": [ { "Action": "stream:ConvertVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}", "Effect": "Allow" } ] }
查询工作空间创建价格
{ "Version": "1", "Statement": [ { "Action": "stream:QueryCreateVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*", "Effect": "Allow" } ] }
查询工作空间续费价格
{ "Version": "1", "Statement": [ { "Action": "stream:QueryRenewVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}", "Effect": "Allow" } ] }
查询工作空间扩缩容价格
{ "Version": "1", "Statement": [ { "Action": "stream:QueryModifyVvpPrepayInstanceSpec", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}", "Effect": "Allow" } ] }
查询按量付费转包年包月价格
{ "Version": "1", "Statement": [ { "Action": "stream:QueryConvertVvpInstance", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}", "Effect": "Allow" } ] }
Flink全托管项目空间
重要在配置项目空间权限信息前,您需要先配置查看已创建的工作空间(DescribeVvpInstances)的权限,否则会报缺少权限的错误。
权限
策略内容
创建项目空间
{ "Version": "1", "Statement": [ { "Action": "stream:CreateVvpNamespace", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*", "Effect": "Allow" } ] }
删除项目空间
{ "Version": "1", "Statement": [ { "Action": "stream:DeleteVvpNamespace", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}", "Effect": "Allow" } ] }
变更项目空间资源
{ "Version": "1", "Statement": [ { "Action": "stream:ModifyVvpPrepayNamespaceSpec", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}", "Effect": "Allow" } ] }
说明变更资源的项目空间对应的工作空间需要为包年包月付费模式。
查看项目空间列表
{ "Version": "1", "Statement": [ { "Action": "stream:DescribeVvpNamespaces", "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*", "Effect": "Allow" } ] }
说明配置该策略后,单击目标工作空间ID左侧的
图标,您就能查看该工作空间下创建的项目空间列表信息。如果您还需要进入到目标项目空间开发控制台,还需要被授权对应项目空间的作业开发权限,详情请参见作业操作授权。
相关产品的权限操作
ECS相关操作
为了能从公网访问开发控制台,需要在您账号下开通弹性公网IP(EIP)。此外,为了连通VPC内的资源,需要在VPC下创建弹性网卡(ENI)。这些ENI会被添加到Flink Serverless专属安全组中,此时Flink服务需要有对EIP、安全组和ENI的操作权限。
操作(Action) | 说明 |
ecs:AssociateEipAddress | 申请EIP地址,您可以通过公网访问Flink服务。 |
ecs:AttachNetworkInterface | 允许Flink服务将您的弹性网卡绑定到Flink资源池。 |
ecs:AuthorizeSecurityGroup | Flink产品会创建一个新的安全组,该权限用于增加该安全组内一条入方向安全组规则。 |
ecs:AuthorizeSecurityGroupEgress | Flink产品会创建一个新的安全组,该权限用于增加该安全组内一条出方向安全组规则。 |
ecs:CreateNetworkInterface | 允许Flink服务创建您VPC内的弹性网卡,支持Flink服务连接您的VPC。 |
ecs:CreateNetworkInterfacePermission | 允许Flink服务授权弹性网卡权限。 |
ecs:CreateSecurityGroup | Flink产品会创建一个新的安全组,该权限用于创建安全组。 |
ecs:DeleteNetworkInterface | Flink任务结束后删除对应资源的弹性网卡。 |
ecs:DeleteNetworkInterfacePermission | 允许Flink服务拥有您的弹性网卡解绑权限。 |
ecs:DeleteSecurityGroup | Flink产品会创建一个新的安全组,该权限用于删除该安全组。 |
ecs:DescribeNetworkInterfacePermissions | 允许您的弹性网卡从Flink Serverless资源池解绑。 |
ecs:DescribeNetworkInterfaces | 允许Flink服务查询弹性网卡。 |
ecs:DescribeSecurityGroupAttribute | 允许Flink服务查询一个安全组的安全组规则。 |
ecs:DescribeSecurityGroupReferences | 允许Flink服务查询安全组及安全组级别的授权行为。 |
ecs:DescribeSecurityGroups | 允许Flink服务查询创建的安全组的基本信息。 |
ecs:DetachNetworkInterface | 允许Flink服务将您的弹性网卡从Flink资源池解绑。 |
ecs:JoinSecurityGroup | 允许Flink服务将弹性网卡加入指定安全组。 |
ecs:LeaveSecurityGroup | 允许Flink服务将弹性网卡移除指定安全组。 |
ecs:ModifyNetworkInterfaceAttribute | 允许Flink服务修改一个弹性网卡的名称、描述以及所属安全组等。 |
ecs:ModifySecurityGroupAttribute | 允许Flink服务修改一个安全组的名称或者描述。 |
ecs:ModifySecurityGroupPolicy | 允许Flink服务修改安全组内的连通策略。 |
ecs:ModifySecurityGroupRule | 允许Flink服务修改安全组入方向规则的描述信息。 |
ecs:RevokeSecurityGroup | 允许Flink删除一条安全组入方向的权限。 |
ecs:RevokeSecurityGroupEgress | 允许Flink删除一条安全组出方向的权限。 |
ecs:UnassociateEipAddress | 允许Flink服务释放EIP。 |
负载均衡SLB相关操作
为了您能从公网访问开发控制台,需要在您账号下开通按量付费SLB服务,因此需要管理SLB的相关权限。
操作(Action) | 说明 |
slb:AddBackendServers | 允许Flink服务修改负载均衡的Backend。 |
slb:AddListenerWhiteListItem | 允许Flink服务添加监听访问控制白名单。 |
slb:AddTags | 允许Flink服务为指定的负载均衡实例添加标签。 |
slb:AddVServerGroupBackendServers | 允许Flink服务向指定的后端服务器组中添加后端服务器。 |
slb:CreateLoadBalancer | 允许Flink服务创建负载均衡实例。 |
slb:CreateLoadBalancerHTTPListener | 允许Flink服务创建HTTP监听。 |
slb:CreateLoadBalancerHTTPSListener | 允许Flink服务创建HTTPS监听。 |
slb:CreateLoadBalancerTCPListener | 允许Flink服务创建TCP监听。 |
slb:CreateLoadBalancerUDPListener | 允许Flink服务创建UDP监听。 |
slb:CreateRules | 允许Flink服务为指定HTTP或HTTPS监听创建转发规则。 |
slb:CreateVServerGroup | 允许Flink服务添加后端服务器组并向指定的后端服务器组中添加后端服务器。 |
slb:DeleteLoadBalancer | 允许Flink服务删除负载均衡实例。 |
slb:DeleteLoadBalancerListener | 允许Flink服务删除后端监听。 |
slb:DeleteRules | 允许Flink服务删除指定HTTP或HTTPS监听的转发规则。 |
slb:DeleteVServerGroup | 允许Flink服务删除服务器组。 |
slb:DescribeHealthStatus | 允许Flink服务查询后端服务器的健康状态。 |
slb:DescribeListenerAccessControlAttribute | 允许Flink服务查询指定负载均衡监听的白名单配置。 |
slb:DescribeLoadBalancerAttribute | 允许Flink服务查询指定负载均衡实例的详细信息。 |
slb:DescribeLoadBalancerHTTPListenerAttribute | 允许Flink服务查询HTTP监听配置。 |
slb:DescribeLoadBalancerHTTPSListenerAttribute | 允许Flink服务查询HTTPS监听配置。 |
slb:DescribeLoadBalancerTCPListenerAttribute | 允许Flink服务查询TCP监听配置。 |
slb:DescribeLoadBalancerUDPListenerAttribute | 允许Flink服务查询UDP监听配置。 |
slb:DescribeLoadBalancers | 允许Flink服务查询已创建的负载均衡实例。 |
slb:DescribeRegions | 允许Flink服务查询可用负载均衡实例的地域。 |
slb:DescribeRules | 允许Flink服务查询指定监听已配置的转发规则。 |
slb:DescribeTags | 允许Flink服务查询Tags列表。 |
slb:DescribeVServerGroupAttribute | 允许Flink服务查询服务器组的详细信息。 |
slb:DescribeVServerGroups | 允许Flink服务查询服务器组列表。 |
slb:ModifyLoadBalancerInstanceSpec | 允许Flink服务修改负载均衡的示例规格。 |
slb:ModifyLoadBalancerInternetSpec | 允许Flink服务修改公网负载均衡实例的计费方式(按流量计费或按带宽计费)。 |
slb:ModifyLoadBalancerPayType | 允许Flink服务修改公网负载均衡实例的购买方式(按量付费或包年包月)。 |
slb:RemoveBackendServers | 允许Flink服务移除后端服务器。 |
slb:RemoveListenerWhiteListItem | 允许Flink服务删除监听白名单中的IP。 |
slb:RemoveVServerGroupBackendServers | 允许Flink服务从指定的后端服务器组中移除后端服务器。 |
slb:SetBackendServers | 允许Flink服务设置后端服务器权重。 |
slb:SetListenerAccessControlStatus | 允许Flink服务设置是否开启指定监听的白名单访问控制。 |
slb:SetLoadBalancerHTTPListenerAttribute | 允许Flink服务修改HTTP监听的配置。 |
slb:SetLoadBalancerHTTPSListenerAttribute | 允许Flink服务修改HTTPS监听的配置。 |
slb:SetLoadBalancerName | 允许Flink服务设置负载均衡实例的名称。 |
slb:SetLoadBalancerStatus | 允许Flink服务设置负载均衡实例的状态。 |
slb:SetLoadBalancerTCPListenerAttribute | 允许Flink服务修改TCP监听的配置。 |
slb:SetLoadBalancerUDPListenerAttribute | 允许Flink服务修改UDP监听的配置。 |
slb:SetRule | 允许Flink服务修改虚拟服务器的转发规则。 |
slb:SetServerCertificateName | 允许Flink服务设置服务器证书名称。 |
slb:SetVServerGroupAttribute | 允许Flink服务修改虚拟服务器组配置。 |
slb:StartLoadBalancerListener | 允许Flink服务启动指定监听。 |
slb:StopLoadBalancerListener | 允许Flink服务停止指定监听。 |
OSS相关操作
为了使您能够查看OSS Bucket列表,需要您开通OSS相关权限。
操作(Action) | 说明 |
oss:ListBuckets | 允许Flink服务查看OSS Bucket列表。 |
oss:GetBucketInfo | 获取存储空间(Bucket)的相关信息。 |
oss:GetObjectMetadata | 获取某个文件的元信息。 |
oss:GetObject | 获取某个文件。 |
oss:ListObjects | 列举存储空间(Bucket)中所有文件(Object)的信息。 |
oss:PutObject | 上传文件。 |
oss:CopyObject | 拷贝同一地域下相同或不同存储空间(Bucket)之间的文件(Object)。 |
oss:CompleteMultipartUpload | 在将所有数据Part都上传完成后来完成整个文件的分片上传。 |
oss:AbortMultipartUpload | 取消MultipartUpload事件并删除对应的Part数据。 |
oss:InitiateMultipartUpload | 使用Multipart Upload模式传输数据前,通知OSS初始化一个Multipart Upload事件。 |
oss:UploadPartCopy | 从一个已存在的Object中拷贝数据来上传一个Part。 |
oss:UploadPart | 根据指定的Object名和uploadId来分块(Part)上传数据。 |
oss:DeleteObject | 删除某个文件(Object)。 |
oss:PutBucketcors | 为指定的存储空间(Bucket)设置跨域资源共享CORS(Cross-Origin Resource Sharing)规则。 |
oss:GetBucketCors | 获取指定存储空间(Bucket)当前的跨域资源共享CORS(Cross-Origin Resource Sharing)规则。 |
oss:PutBucket | 创建存储空间(Bucket)。 |
如果您使用OSS的KMS加密能力,则需要对AliyunStreamAsiDefaultRole角色增加KMS的相关权限策略,才能正常使用。策略详情请参见上传文件至设置了默认加密方式的Bucket。
ARMS相关操作
Flink的指标会存入ARMS,因此会为您开通ARMS服务。
操作(Action) | 说明 |
arms:ListDashboards | 查看ARMS大盘信息。 |
arms:CreateContact | 创建联系人。 |
arms:DeleteContact | 删除联系人。 |
arms:SearchContact | 查找联系人。 |
arms:UpdateContact | 更新联系人。 |
arms:CreateContactGroup | 创建联系人组。 |
arms:DeleteContactGroup | 删除联系人组。 |
arms:SearchContactGroup | 查找联系人组。 |
arms:UpdateContactGroup | 更新联系人组。 |
arms:SearchAlertRules | 查找报警规则。 |
arms:CreateAlertRules | 创建报警规则。 |
arms:UpdateAlertRules | 更新报警规则。 |
arms:DeleteAlertRules | 删除报警规则。 |
arms:StartAlertRule | 启动报警规则。 |
arms:StopAlertRule | 暂停报警规则。 |
arms:SearchAlarmHistories | 查看历史报警信息。 |
arms:OpenArmsService | 开通ARMS服务。 |
arms:CreateWebhook | 创建Webhook。 |
arms:UpdateWebhook | 更新Webhook。 |
arms:CreateDispatchRule | 创建分派规则。 |
arms:ListDispatchRule | 查看分派规则列表。 |
arms:DeleteDispatchRule | 删除分派规则。 |
arms:UpdateDispatchRule | 更新分派规则。 |
arms:DescribeDispatchRule | 查看分派规则详情。 |
VPC相关操作
开通Flink全托管的过程中,需要VPC内资源的Describe权限。
操作(Action) | 说明 |
vpc:DescribeVpcAttribute | 允许Flink服务查询指定VPC的配置信息。 |
vpc:DescribeVpcs | 允许Flink服务查询已经创建的VPC。 |
vpc:DescribeVSwitchAttributes | 允许Flink服务查询指定交换机的信息。 |
vpc:DescribeVSwitches | 允许Flink服务查询已创建的交换机。 |
vpc:DescribeRouteTableList | 允许Flink服务查询路由表列表。 |
vpc:DescribeRouteTables | 允许Flink服务查询指定路由表。 |
vpc:DescribeRouteEntryList | 允许Flink服务查询路由表条目列表。 |
vpc:DescribeRouterInterfaceAttribute | 允许Flink服务查询路由器接口配置。 |
vpc:DescribeRouterInterfaces | 允许Flink服务查询路由器接口。 |
vpc:DescribeVRouters | 允许Flink服务查询指定地域的路由器列表。 |
vpc:CreateVpc | 创建专有网络。 |
vpc:CreateVSwitch | 创建交换机。 |
RAM相关操作
开通Flink全托管的过程中,需要RAM相关权限进行资源配置。
操作(Action) | 说明 |
ram:* | 可以增删改查domain和application这两个RAM资源。 |