You need to enable JavaScript to run this app.
导航
服务条件关键字与自定义策略
最近更新时间:2025.01.24 15:38:09首次发布时间:2025.01.24 15:38:09

本文主要介绍日常业务场景中容器服务(VKE)相关的服务级别条件关键字(Service Level Condition Key)与自定义策略语法示例。

背景信息

访问控制(IAM)是火山引擎为用户提供的一套权限管理系统,用于控制不同 IAM 身份(IAM 用户、用户组、角色)对云资源的访问权限。通过访问控制创建的身份,默认不具备云资源的访问权限。访问控制为每个云产品提供了预定义的权限,您可以根据实际需要,为身份分配权限。您也可以在策略管理中自定义权限,满足精细化权限控制的需求。自定义策略语法中策略元素配置的详细介绍,请参见 IAM 策略语法

如果火山引擎提供的系统预设策略不满足您的需求,您可通过创建自定义策略,遵循最小授权原则,进行更精细化的权限管控,以提升 IAM 身份对火山引擎账号(主账号)下资源的安全访问。

服务条件关键字

条件关键字(Condition Key)描述数据格式

vke:ApiServerPublicAccessEnabled

是否开启 VKE 集群 API Server 的公网访问。取值如下:

  • true:开启
  • false:关闭

Boolean

vke:ResourcePublicAccessDefaultEnabled

是否开启 VKE 节点、Pod 等的 NAT 公网访问。取值如下:

  • true:开启
  • false:关闭

Boolean

vke:NodePoolPublicAccessEnabled

是否在 VKE 节点池中创建节点时,同时创建并绑定 EIP。取值如下:

  • true:是,节点同时绑定 EIP
  • false: 否,不绑定 EIP

Boolean

自定义策略示例

下文主要展示 API Server 公网访问、NAT 公网访问、节点池公网 IP 相关的自定义策略示例。更多示例,请参见 自定义策略示例

示例一:拒绝为 API Server 开启公网访问

  1. 火山引擎账号或拥有相应权限的 IAM 用户/角色,按如下示例配置自定义策略,拒绝("Effect": "Deny")为集群的 API Server 开启公网访问(创建公网 IP)。详细操作,请参见 新建自定义策略
    {
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "vke:CreateCluster",
            "vke:UpdateClusterConfig"
          ],
          "Condition": {
            "BoolIfExists": {
              "vke:ApiServerPublicAccessEnabled": [
                "true"
              ]
            }
          },
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  2. 创建策略后,将该策略授权给指定的 IAM 身份。
    alt
    若被授权的 IAM 身份在创建集群或更新集群配置时,传入相应限定参数值(例如开启 API Server 公网访问),将因没有权限而调用接口失败。

示例二:拒绝在创建集群时开启 NAT 公网访问

  1. 火山引擎账号或拥有相应权限的 IAM 用户/角色,按如下示例配置自定义策略,拒绝("Effect": "Deny")在创建集群时开启 NAT 公网访问。详细操作,请参见 新建自定义策略
    {
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "vke:CreateCluster"
          ],
          "Condition": {
            "BoolIfExists": {
              "vke:ResourcePublicAccessDefaultEnabled": [
                "true"
              ]
            }
          },
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  2. 创建策略后,将该策略授权给指定的 IAM 身份。
    alt
    若被授权的 IAM 身份在创建集群时,传入相应限定参数值(例如开启 NAT 公网访问),将因没有权限而调用接口失败。

示例三:拒绝配置节点池扩容节点时自动创建并绑定公网 IP

  1. 火山引擎账号或拥有相应权限的 IAM 用户/角色,按如下示例配置自定义策略,拒绝("Effect": "Deny")配置节点池扩容节点时自动创建并绑定公网 IP(EIP)。详细操作步骤,请参见 新建自定义策略
    {
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "vke:CreateNodePool",
            "vke:UpdateNodePoolConfig",
          ],
          "Condition": {
            "BoolIfExists": {
              "vke:NodePoolPublicAccessEnabled": [
                "true"
              ]
            }
          },
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  2. 创建策略后,将该策略授权给指定的 IAM 身份。
    alt
    若被授权的 IAM 身份在创建节点池或更新节点池配置时,传入相应限定参数值(例如开启节点自动绑定公网 IP),将因没有权限而调用接口失败。