RAM(Resource Access Management)是阿里云提供的管理用户身份与资源访问的服务。使用RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),以及控制RAM用户对资源的操作权限,例如限制您的RAM用户只拥有对某一个文件系统的操作权限。

配置RAM用户权限

  1. 创建RAM用户。具体操作,请参见创建RAM用户
  2. 选择需要授予RAM用户的权限策略。
    权限策略分为系统策略自定义策略
    • 系统策略:阿里云提供多种具有不同管理目的的默认权限策略。文件存储HDFS版常用的系统策略包括以下两种:
      • AliyunHDFSFullAccess(不推荐):为RAM用户授予文件存储HDFS版管控系统的完全管理权限。该权限风险很高,不推荐使用。
      • AliyunHDFSReadOnlyAccess:为RAM用户授予文件存储HDFS版管控系统的只读访问权限。
    • 自定义策略:自定义权限策略可以更大程度的满足您的细粒度的要求,从而实现更灵活的权限管理。具体操作,请参见创建自定义权限策略
  3. 为RAM用户授权。
    为RAM用户授予步骤2中选择的权限策略。具体操作,请参见为RAM用户授权
  4. 为RAM用户设置多因素认证。具体操作,请参见为RAM用户启用多因素认证

示例一:授予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控制台或者调用RAM API CreatePolicy创建一个自定义策略,当配置模式为脚本配置时,您需要根据JSON模板文件填写策略内容。其中的Action和Resource参数取值请参见如下鉴权列表。更多信息,请参见权限策略基本元素

资源APIActionResource说明
文件系统CreateFileSystemdfs:CreateFileSystemacs:dfs:<region-id>:<account-id>:filesystem/*创建文件系统。
DeleteFileSystemdfs:DeleteFileSystemacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>删除已有的文件系统实例。
ModifyFileSystemdfs:ModifyFileSystemacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>修改文件系统属性。
GetFileSystemdfs:GetFileSystemacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>获取文件系统详细信息。
ListFileSystemsdfs:ListFileSystemsacs:dfs:<region-id>:<account-id>:filesystem/*批量获取文件系统详细信息。
权限组CreateAccessGroupdfs:CreateAccessGroupacs:dfs:<region-id>:<account-id>:accessgroup/*创建权限组。
DeleteAccessGroupdfs:DeleteAccessGroupacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>删除权限组。
ModifyAccessGroupdfs:ModifyAccessGroupacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>修改权限组属性。
GetAccessGroupdfs:GetAccessGroupacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>获取权限组信息。
ListAccessGroupsdfs:ListAccessGroupsacs:dfs:<region-id>:<account-id>:accessgroup/*批量获取权限组信息。
CreateAccessRuledfs:CreateAccessRuleacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>创建权限规则。
DeleteAccessRuledfs:DeleteAccessRuleacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>删除权限规则。
ModifyAccessRuledfs:ModifyAccessRuleacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>修改规则属性。
GetAccessRuledfs:GetAccessRuleacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>获取规则详细信息。
ListAccessRulesdfs:ListAccessRulesacs:dfs:<region-id>:<account-id>:accessgroup/<access-group-id>批量获取规则。
挂载点CreateMountPointdfs:CreateMountPointacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id> acs:vpc:<region-id>:<account-id>:vswitch/<vswitch-id> 创建挂载点。
DeleteMountPointdfs:DeleteMountPointacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>删除挂载点。
ModifyMountPointdfs:ModifyMountPointacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>修改挂载点属性。
GetMountPointdfs:GetMountPointacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>获取挂载点详细信息。
ListMountPointsdfs:ListMountPointsacs:dfs:<region-id>:<account-id>:filesystem/<file-system-id>批量获取挂载点。