弹性高性能计算自定义权限策略参考

如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍E-HPC使用自定义权限策略的场景和策略示例。

什么是自定义权限策略

在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。

  • 创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。

  • 已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。

  • 自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。

操作文档

授权信息参考

使用自定义权限策略,您需要了解业务的权限管控需求,并了解E-HPC的授权信息。详细内容请参见授权信息

授予RAM用户使用已有云资源创建E-HPC集群

以下策略表示:仅允许RAM用户选择已有的专有网络VPC、文件存储NAS等资源创建集群。

说明
  • 若RAM用户需要创建新的云资源,必须为其授予相应的产品管理权限。关于如何授权,请参见为RAM用户授权

    • VPC资源: 如果RAM用户需要创建和管理专有网络VPC资源,应授予他们AliyunVPCFullAccess系统策略。此策略提供了对VPC服务的全面访问权限,包括创建、配置和管理VPC资源。

    • NAS资源: 如果RAM用户需要创建和管理文件存储NAS资源,应授予他们AliyunNASFullAccess系统策略。此策略允许用户全面操作NAS服务,包括创建文件系统、创建挂载点等。

  • 通过RAM用户使用Workbench登录ECS实例时,请确保已为该RAM用户授予AliyunECSWorkbenchFullAccess系统权限。

  • 如需使用RAM用户创建或删除普通服务角色,必须使用阿里云账号为该RAM用户授权。更多信息,请参见RAM用户使用普通服务角色需要的权限

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ram:GetRole",
                "ram:CheckServiceLinkedRoleExistence",
                "ram:ListUsers",
                "ram:ListResourceGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cms:QueryMetricList",
                "cms:QueryMetricLast",
                "cms:QueryMetricData"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "pvtz:DescribeZones",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "nas:DescribeProtocolMountTarget",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "kms:ListKeys",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListBuckets",
                "oss:ListObjects",
                "oss:PutObject",
                "oss:GetObject"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "tag:ListTagKeys",
                "tag:ListTagValues"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "yundun-aegis:DescribeAccesskeyLeakList",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecs:RunInstances",
                "ecs:StartInstances",
                "ecs:StopInstances",
                "ecs:DeleteInstances",
                "ecs:DescribeInstances",
                "ess:DescribeScalingConfigurations",
                "ess:ModifyScalingConfiguration",
                "ess:ModifyScalingRule",
                "ess:ExecuteScalingRule",
                "ess:RemoveInstances",
                "ecs:DescribeDeploymentSets",
                "ecs:DescribeImages",
                "ecs:DescribeKeyPairs",
                "ecs:DescribeSecurityGroups",
                "ecs:RebootInstances",
                "ecs:CreateCommand",
                "ecs:InvokeCommand",
                "ecs:RunCommand",
                "ecs:DescribeCommands",
                "ecs:DescribeSecurityGroupAttribute",
                "ecs:ListSecurityGroups",
                "ecs:AuthorizeSecurityGroup",
                "ehpc:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ehpc:*",
            "Resource": "*"
        }
    ]
}