使用RAM授权访问文件存储 HDFS 版

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用户绑定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>

批量获取挂载点。