PAI平台权限初始化最佳实践

更新时间:
复制为 MD 格式

说明

本文档提供一种企业级配置PAI平台相关用户权限的最佳实践。涉及云产品:VPC、VSW、OSS、NAS、ACR。假定涉及用户角色:云账号管理员、PAI工作空间管理员、PAI工作空间用户。

说明

本文档暂对DSW、DLC部分进行覆盖。

用户侧常见角色及其操作

云账号管理员

以权限配置、资源配置和基础网络配置为主,包括:

  1. 开通PAI服务。

  2. 开通PAI所需网络资源:VPC、VSW。

  3. 创建PAI资源组、资源配额。

  4. 创建OSS桶。

  5. 创建NAS实例、挂载点,包含NAS各版本、CPFS各版本。

  6. 创建PAI工作空间并设置工作空间管理员。

  7. 创建ACR实例并配置VPC访问。

PAI工作空间管理员

以管理PAI工作空间内成员、权限为主,同时在企业权限管控合理范围内可管理PAI依赖的资源,例如特定ACR实例、特定OSS桶、特定NAS实例,包括:

  1. 创建PAI数据集。

  2. 添加成员及权限设置。

  3. 管理工作空间配置。

  4. 管理DSW、DLC实例。

  5. 管理特定ACR实例:创建管理命名空间、创建管理镜像仓库。

  6. 管理特定OSS桶。

  7. 管理特定NAS实例。

  8. PAI挂载方式挂载NAS后,管理NAS内数据目录结构。

  9. 管理特定PAI quota组 - 按需设置。

PAI工作空间成员

  1. 使用DSW;并保存镜像。

  2. 使用DLC。

  3. 查看特定PAI quota组 - 按需设置。

权限配置

创建pai_workspace_admin权限策略(策略名按需设置)

注意按需修改<xxxx>内的内容和region信息。

权限点包括:

  1. 对所有OSS桶的List权限。

  2. 对特定桶的List权限。

  3. 对特定桶下的子目录的Get权限。

  4. 对所有NAS文件系统(含NAS\CPFS\智算CPFS)的Describe权限。

  5. 对特定NAS文件系统的全部控制权限。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oss:ListBuckets",
      "Resource": "acs:oss:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:ListObjects",
        "oss:GetBucketAcl"
      ],
      "Resource": "acs:oss:oss-<region>:*:<bucket_name>"
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:GetObject",
        "oss:GetObjectAcl"
      ],
      "Resource": "acs:oss:oss-<region>:*:<bucket_name>/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "nas:DescribeFileSystems",
        "nas:DescribeProtocolMountTarget",
        "nas:DescribeProtocolService"
      ],
      "Resource": "acs:nas:*:*:filesystem/*"
    },
    {
      "Effect": "Allow",
      "Action": "nas:*",
      "Resource": "acs:nas:*:*:filesystem/<filesystem_id>"
    },
    {
      "Effect": "Allow",
      "Action": "cr:*",
      "Resource": [
        "acs:cr:*:*:instance/<acr_instance_id>",
        "acs:cr:*:*:repository/<acr_instance_id>/*",
        "acs:cr:*:*:repository/<acr_instance_id>"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "pai:CreateQuota",
        "pai:UpdateQuota",
        "pai:ScaleQuota",
        "pai:DeleteQuota",
        "pai:GetQuota",
        "pai:ListQuotas"
      ],
      "Resource": "acs:pai:*:*:quota/<quotaid>/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "pai:UpdateQuota",
        "pai:GetQuota",
        "pai:ListQuotas"
      ],
      "Resource": "acs:pai:*:*:quota/<quotaid>"
    }
  ]
}

创建pai_workspace_user权限策略(策略名按需设置)

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cr:List*",
                "cr:Get*",
            ],
            "Resource": "*"
        },
         {
            "Effect": "Allow",
            "Action": [
                "pai:GetQuota",
                "pai:ListQuotas"
            ],
            "Resource": "acs:pai:*:*:quota/<quotaid>/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "pai:GetQuota",
                "pai:ListQuotas"
            ],
            "Resource": "acs:pai:*:*:quota/<quotaid>"
        }
    ]
}

对网络的访问控制设置

创建PAI_IP_ControlRAM Policy。该策略将设置仅SourceIp指定的网段可以访问PAI控制台。详情请参见通过指定的IP地址访问阿里云

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "paiplugin:*",
        "eas:*",
        "pai:*",
        "datasetacc:*",
        "featurestore:*",
        "paidlc:*",
        "paiitag:*",
        "paidesigner:*",
        "paitraining:*",
        "paiworkspace:*"
      ],
      "Resource":"*",
      "Condition":{
        "NotIpAddress": {
          "acs:SourceIp":[
            "127.0.0.1"
          ]
        }
      }
    }
  ]
}