使用RAM授权访问文件存储 HDFS 版
RAM(Resource Access Management)是阿里云提供的管理用户身份与资源访问的服务。使用RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),以及控制RAM用户对资源的操作权限,例如限制您的RAM用户只拥有对某一个文件系统的操作权限。
配置RAM用户权限
创建RAM用户。具体操作,请参见创建RAM用户。
选择需要授予RAM用户的权限策略。
权限策略分为系统策略和自定义策略。
系统策略:阿里云提供多种具有不同管理目的的默认权限策略。文件存储 HDFS 版常用的系统策略包括以下两种:
AliyunHDFSFullAccess(不推荐):为RAM用户授予文件存储 HDFS 版管控系统的完全管理权限。该权限风险很高,不推荐使用。
AliyunHDFSReadOnlyAccess:为RAM用户授予文件存储 HDFS 版管控系统的只读访问权限。
自定义策略:自定义权限策略可以更大程度的满足您的细粒度的要求,从而实现更灵活的权限管理。具体操作,请参见创建自定义权限策略。
为RAM用户授权。
为RAM用户设置多因素认证。具体操作,请参见为RAM用户绑定MFA设备。
示例一:授予RAM用户对文件存储 HDFS 版管控系统只读权限
{
"Version": "1",
"Statement": [
{
"Action": [
"dfs:Get*",
"dfs:List*"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
示例二:授予RAM用户对文件系统的权限
<file-system-id>为文件存储 HDFS 版文件系统实例ID,请根据实际值替换。
授予RAM用户查看文件系统详细信息的权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dfs:GetFileSystem", "Resource": "acs:dfs:*:*:filesystem/<file-system-id>" } ] }
授予RAM用户修改文件系统属性的权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "dfs:GetFileSystem", "dfs:ModifyFileSystem" ], "Resource": "acs:dfs:*:*:filesystem/<file-system-id>" } ] }
示例三:授予RAM用户对挂载点的权限
授予RAM用户对文件系统的挂载点拥有完全控制权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dfs:CreateMountPoint",
"dfs:DeleteMountPoint",
"dfs:ModifyMountPoint",
"dfs:GetMountPoint",
"dfs:ListMountPoints"
],
"Resource": [
"acs:dfs:*:*:filesystem/<file-system-id>",
"acs:vpc:*:*:vswitch/*"
]
}
]
}
示例四:授予RAM用户对权限组的权限
授予RAM用户对所有权限组拥有完全控制权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dfs:CreateAccessGroup",
"dfs:DeleteAccessGroup",
"dfs:ModifyAccessGroup",
"dfs:GetAccessGroup",
"dfs:ListAccessGroups",
"dfs:CreateAccessRule",
"dfs:DeleteAccessRule",
"dfs:ModifyAccessRule",
"dfs:GetAccessRule",
"dfs:ListAccessRules"
],
"Resource":"acs:dfs:*:*:accessgroup/*"
}
]
}
附录:自定义权限策略鉴权列表
您可以通过RAM控制台创建一个自定义策略,当配置模式为脚本配置时,您需要根据JSON模板文件填写策略内容。其中的Action和Resource参数取值请参见如下鉴权列表。更多信息,请参见权限策略基本元素。
资源 | API | Action | Resource | 说明 |
文件系统 | CreateFileSystem | dfs:CreateFileSystem | acs:dfs:<region-id>:<account-id>:filesystem/* | 创建文件系统。 |
DeleteFileSystem | dfs:DeleteFileSystem | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 删除已有的文件系统实例。 | |
ModifyFileSystem | dfs:ModifyFileSystem | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 修改文件系统属性。 | |
GetFileSystem | dfs:GetFileSystem | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 获取文件系统详细信息。 | |
ListFileSystems | dfs:ListFileSystems | acs:dfs:<region-id>:<account-id>:filesystem/* | 批量获取文件系统详细信息。 | |
权限组 | CreateAccessGroup | dfs:CreateAccessGroup | acs:dfs:<region-id>:<account-id>:accessgroup/* | 创建权限组。 |
DeleteAccessGroup | dfs:DeleteAccessGroup | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 删除权限组。 | |
ModifyAccessGroup | dfs:ModifyAccessGroup | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 修改权限组属性。 | |
GetAccessGroup | dfs:GetAccessGroup | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 获取权限组信息。 | |
ListAccessGroups | dfs:ListAccessGroups | acs:dfs:<region-id>:<account-id>:accessgroup/* | 批量获取权限组信息。 | |
CreateAccessRule | dfs:CreateAccessRule | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 创建权限规则。 | |
DeleteAccessRule | dfs:DeleteAccessRule | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 删除权限规则。 | |
ModifyAccessRule | dfs:ModifyAccessRule | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 修改规则属性。 | |
GetAccessRule | dfs:GetAccessRule | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 获取规则详细信息。 | |
ListAccessRules | dfs:ListAccessRules | acs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id> | 批量获取规则。 | |
挂载点 | CreateMountPoint | dfs:CreateMountPoint | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> acs:vpc:<region-id>:<account-id>:vswitch/<vswitch-id> | 创建挂载点。 |
DeleteMountPoint | dfs:DeleteMountPoint | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 删除挂载点。 | |
ModifyMountPoint | dfs:ModifyMountPoint | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 修改挂载点属性。 | |
GetMountPoint | dfs:GetMountPoint | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 获取挂载点详细信息。 | |
ListMountPoints | dfs:ListMountPoints | acs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> | 批量获取挂载点。 |