服务关联角色(ServiceLinkedRole,简称SLR)是一种可信实体为阿里云服务的RAM角色,旨在解决跨云服务的授权访问问题。如您需要使用Hologres来访问MaxCompute服务,则需要创建服务关联角色AliyunServiceRoleForHologresIdentityMgmt,本文为您介绍AliyunServiceRoleForHologresIdentityMgmt的创建、授权、查看以及删除方式。
更多关于服务关联角色的信息,请参见服务关联角色。
AliyunServiceRoleForHologresIdentityMgmt介绍
角色说明
服务名称:identity.hologres.aliyuncs.com。
角色名称:AliyunServiceRoleForHologresIdentityMgmt。
服务角色说明:Hologres使用此角色来访问您在MaxCompute服务的资源。
创建AliyunServiceRoleForHologresIdentityMgmt角色并授权
对于新购实例和已有实例,您可通过不同的方式创建AliyunServiceRoleForHologresIdentityMgmt角色并授权。
通过RAM用户创建AliyunServiceRoleForHologresIdentityMgmt角色时,RAM用户必须具备CreateServiceLinkedRole权限,详情请参见创建服务关联角色所需的权限。
新购实例
可在Hologres实例购买页单击创建服务关联角色进行授权。
已有实例
若无需新购或升级实例,可通过访问控制快速授权页面或OpenAPI进行服务关联角色的创建和授权。
登录Hologres管理控制台后,访问授权服务关联角色进行快速授权。
通过OpenAPI创建并授权
进入OpenAPI。
在参数配置中配置ServiceName为identity.hologres.aliyuncs.com。
单击发起调用。
调用成功后,可在RAM控制台中查看该角色。
查看服务关联角色
对于已创建的服务关联角色AliyunServiceRoleForHologresIdentityMgmt,您可通过以下方式查看其权限信息。
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏选择身份管理 > 角色。
在角色页面搜索AliyunServiceRoleForHologresIdentityMgmt,单击目标角色名称。
在权限管理页签,单击目标角色的权限策略。
在策略内容页签,查看权限说明。
说明服务关联角色(AliyunServiceRoleForHologresIdentityMgmt)仅支持查看权限策略,不支持修改。
删除服务关联角色
当您需要禁止Hologres继续访问MaxCompute服务时,您可以在RAM控制台手动删除AliyunServiceRoleForHologresIdentityMgmt角色,即可禁止Hologres跨产品访问。具体操作,请参见删除RAM角色。
服务关联角色(AliyunServiceRoleForHologresIdentityMgmt)删除时,会同时解除授权。
通过RAM用户删除AliyunServiceRoleForHologresIdentityMgmt角色时,RAM用户必须具备DeleteServiceLinkedRole权限,详见删除服务关联角色所需的权限。
常见问题
问题一:在Hologres新购实例页面点击创建服务关联角色时,显示“当前登录用户没有创建服务关联角色的权限,请联系主账号或权限管理员授权当前用户。”
解决方案:您可使用阿里云账号(主账号)为RAM用户授予CreateServiceLinkedRole权限,详情请参见服务关联角色。
问题二:在Hologres中访问MaxCompute外部表时,您可能会遇到以下报错:
报错一:
ERROR: Fail to access foreign data as user 1063806044629636, AliyunServiceRoleForHologresIdentityMgmt does not exist
。报错二:
ErrorMessage=ODPS-0420095: Access Denied - Authorization Failed [4111], You have NO privilege \'odps:ActOnBehalfOfAnotherUser\' on {acs:odps:regions_id:xxxxxx:users/default/aliyun/xxxxxx. Not pass by ram permission check
。
解决方案:您需要重新对服务关联角色(AliyunServiceRoleForHologresIdentityMgmt)进行授权,详情请参见创建AliyunServiceRoleForHologresIdentityMgmt角色并授权中通过Hologres管理控制台为已有实例授权的方法。