ECS应用角色(EMR 3.32之后、EMR 4.5之后版本以及EMR 5.x系列版本)

EMR 3.32之后版本、EMR 4.5之后版本,以及EMR 5.x系列版本,将Metaservice服务替换为ECS应用角色,在EMR集群创建和扩容时自动分配给EMR集群中的每个ECS实例。在EMR集群之上运行的应用程序通过该角色来获得与其他云服务交互的权限,实现以免AccessKey的方式访问阿里云资源,避免了在配置文件中暴露AccessKey的风险。

前提条件

已授权该角色,详情请参见阿里云账号角色授权

权限内容

默认角色AliyunECSInstanceForEMRRole包含系统权限策略为AliyunECSInstanceForEMRRolePolicy,OSS以及DLF相关权限内容如下。

名称(Action)

说明

oss:GetObject

上传文件或文件夹对象。

oss:ListObjects

获取文件或文件夹对象。

oss:PutObject

查询文件列表信息。

oss:DeleteObject

删除某个文件。

oss:ListBuckets

列举所有存储空间(Bucket)。

oss:AbortMultipartUpload

终止MultipartUpload事件。

oss:ListMultipartUploads

列举所有执行中的Multipart Upload事件。

oss:RestoreObject

解冻归档类型(Archive)或冷归档(Cold Archive)的文件(Object)。

oss:GetBucketInfo

查看存储空间(Bucket)的相关信息。

oss:ListObjectVersions

用于列出Bucket中包括删除标记(Delete Marker)在内的所有Object的版本信息。

oss:DeleteObjectVersion

删除指定版本Object。

oss:PostDataLakeStorageFileOperation

OSS-HDFS访问权限。

ots:CreateTable

根据给定的表结构信息创建相应的数据表。

ots:DeleteTable

删除本实例下指定的表。

ots:GetRow

根据指定的主键读取单行数据。

ots:PutRow

插入数据到指定的行。

ots:UpdateRow

更新指定行的数据。

ots:DeleteRow

删除一行数据。

ots:GetRange

读取指定主键范围内的数据。

ots:BatchWriteRow

批量插入、修改或删除一个或多个表中的若干行数据。

ots:BatchGetRow

批量读取一个表或多个表中的若干行数据。

ots:ComputeSplitPointsBySize

将全表的数据在逻辑上划分成接近指定大小的若干分片,返回这些分片之间的分割点以及分片所在机器的提示。

ots:StartLocalTransaction

为分区键值创建一个局部事务,并获取局部事务ID。

ots:CommitTransaction

提交局部事务。

ots:AbortTransaction

丢弃局部事务。

dlf:BatchCreatePartitions

批量创建分区。

dlf:BatchCreateTables

批量创建数据表。

dlf:BatchDeletePartitions

批量删除分区。

dlf:BatchDeleteTables

批量删除表。

dlf:BatchGetPartitions

批量获取分区列表。

dlf:BatchGetTables

批量获取数据表列表。

dlf:BatchUpdatePartitions

批量更新分区信息。

dlf:BatchUpdateTables

批量更新数据表。

dlf:CreateDatabase

创建数据库。

dlf:CreateFunction

创建函数。

dlf:CreatePartition

创建分区。

dlf:CreateTable

创建数据表。

dlf:DeleteDatabase

删除数据库。

dlf:DeleteFunction

删除函数。

dlf:DeletePartition

删除分区。

dlf:DeleteTable

删除数据表。

dlf:GetDatabase

获取数据库。

dlf:GetFunction

获取函数。

dlf:GetPartition

获取分区。

dlf:GetTable

获取数据表。

dlf:ListCatalogs

获取数据目录列表。

dlf:ListDatabases

获取数据库列表。

dlf:ListFunctionNames

获取函数名称列表。

dlf:ListFunctions

获取函数列表。

dlf:ListPartitionNames

获取分区名称列表。

dlf:ListPartitions

获取分区列表。

dlf:ListPartitionsByExpr

按条件获取元数据表分区列表。

dlf:ListPartitionsByFilter

按条件获取元数据表分区列表。

dlf:ListTableNames

获取数据表名称列表。

dlf:ListTables

获取数据表列表。

dlf:RenamePartition

修改分区名称。

dlf:RenameTable

修改数据表名称。

dlf:UpdateDatabase

更新数据库信息。

dlf:UpdateFunction

更新函数信息。

dlf:UpdateTable

更新数据表信息。

dlf:UpdateTableColumnStatistics

更新元数据表统计信息。

dlf:GetTableColumnStatistics

获取元数据表统计信息。

dlf:DeleteTableColumnStatistics

删除元数据表统计信息。

dlf:UpdatePartitionColumnStatistics

更新分区统计信息。

dlf:GetPartitionColumnStatistics

获取分区统计信息。

dlf:DeletePartitionColumnStatistics

删除分区统计信息。

dlf:BatchGetPartitionColumnStatistics

批量获取表分区统计信息。

dlf:CreateLock

创建元数据锁。

dlf:UnLock

解锁指定的元数据锁。

dlf:AbortLock

终止元数据锁。

dlf:RefreshLock

刷新元数据锁。

dlf:GetLock

获取元数据锁。

dlf:GetAsyncTaskStatus

获取异步任务状态。

dlf:DeltaGetPermissions

获取权限列表。

dlf:GetPermissions

获取数据权限信息。

dlf:GetServiceInfo

获取服务信息。

dlf:GetRoles

获取数据权限中角色信息。

dlf:CheckPermissions

数据权限校验。

重要

请谨慎编辑和删除默认角色AliyunECSInstanceForEMRRole,否则会造成集群创建失败或作业运行失败。

使用ECS应用角色获取临时凭证

基于STS临时凭证可以获取本账号下其他云资源的访问权限,详情请参见使用实例RAM角色访问其他云资源