tencentcloud-sdk-nodejs-tke 4.1.268 → 4.1.269
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -28,8 +28,97 @@ export declare class Client extends TencentCloudCommon.AbstractClient {
|
|
|
28
28
|
*/
|
|
29
29
|
StartMachines(req: StartMachinesRequest, cb?: (error: string, rep: StartMachinesResponse) => void): Promise<StartMachinesResponse>;
|
|
30
30
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
* **通过 CAM 策略强制节点池安全配置**
|
|
32
|
+
|
|
33
|
+
创建原生节点池(`CreateNodePool`)接口已接入 CAM 条件鉴权,会根据请求参数计算出一组**条件键(Condition Key)**并传入 CAM 鉴权。您可以在 CAM/SCP 策略中基于这些条件键配置 `deny` 规则,从而强制约束节点池的安全配置(如必须开启磁盘加密、安全加固等)。
|
|
34
|
+
|
|
35
|
+
**支持的条件键**
|
|
36
|
+
|
|
37
|
+
| 条件键 | 含义 | 取值 | 取值判定说明 |
|
|
38
|
+
|--------|------|------|-------------|
|
|
39
|
+
| `tke:NodePoolType` | 节点池类型 | `Native` / `External` | 取请求的节点池类型,未指定时默认为 `Native` |
|
|
40
|
+
| `tke:SystemDiskEncrypted` | 系统盘是否加密 | `true` / `false` | 系统盘加密属性为 `ENCRYPT`(大小写不敏感)时为 `true`,否则为 `false` |
|
|
41
|
+
| `tke:AllDataDisksEncrypted` | 所有数据盘是否都已加密 | `true` / `false` | 全部数据盘加密属性均为 `ENCRYPT` 时为 `true`;未配置数据盘时也为 `true`;只要有任一数据盘未加密即为 `false` |
|
|
42
|
+
| `tke:SecurityAgentEnabled` | 是否开启安全加固(Security Agent) | `true` / `false` | 开启安全加固时为 `true`,否则为 `false` |
|
|
43
|
+
|
|
44
|
+
> 说明:所有条件键的取值均为字符串 `"true"` / `"false"`,请在策略中使用字符串形式匹配。
|
|
45
|
+
|
|
46
|
+
**使用方式**
|
|
47
|
+
|
|
48
|
+
在 CAM 策略中使用 `bool_equal` 匹配条件键值为 `"false"`,配合 `effect: deny`,即可实现"未满足安全配置则拒绝创建节点池"的强制约束。
|
|
49
|
+
|
|
50
|
+
**示例一:强制开启安全加固**
|
|
51
|
+
|
|
52
|
+
创建节点池时若未开启安全加固(`tke:SecurityAgentEnabled = "false"`),则拒绝。
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"version": "2.0",
|
|
57
|
+
"statement": [
|
|
58
|
+
{
|
|
59
|
+
"effect": "deny",
|
|
60
|
+
"action": ["tke:CreateNodePool"],
|
|
61
|
+
"resource": ["*"],
|
|
62
|
+
"condition": {
|
|
63
|
+
"bool_equal": {
|
|
64
|
+
"tke:SecurityAgentEnabled": "false"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**示例二:强制数据盘加密**
|
|
73
|
+
|
|
74
|
+
创建节点池时若存在未加密的数据盘(`tke:AllDataDisksEncrypted = "false"`),则拒绝。
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"version": "2.0",
|
|
79
|
+
"statement": [
|
|
80
|
+
{
|
|
81
|
+
"effect": "deny",
|
|
82
|
+
"action": ["tke:CreateNodePool"],
|
|
83
|
+
"resource": ["*"],
|
|
84
|
+
"condition": {
|
|
85
|
+
"bool_equal": {
|
|
86
|
+
"tke:AllDataDisksEncrypted": "false"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**示例三:强制系统盘加密**
|
|
95
|
+
|
|
96
|
+
创建节点池时若系统盘未加密(`tke:SystemDiskEncrypted = "false"`),则拒绝。
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"version": "2.0",
|
|
101
|
+
"statement": [
|
|
102
|
+
{
|
|
103
|
+
"effect": "deny",
|
|
104
|
+
"action": ["tke:CreateNodePool"],
|
|
105
|
+
"resource": ["*"],
|
|
106
|
+
"condition": {
|
|
107
|
+
"bool_equal": {
|
|
108
|
+
"tke:SystemDiskEncrypted": "false"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**注意事项**
|
|
117
|
+
|
|
118
|
+
- 上述条件键在**未配置任何 CAM 策略**时不会影响节点池创建,仅在您显式配置了对应 `deny` 策略时才生效。
|
|
119
|
+
- 如需同时强制多项安全配置,必须在同一策略的 `statement` 中配置多条 `deny` 规则,不能将多个条件键写入同一条 `condition`。
|
|
120
|
+
- `tke:AllDataDisksEncrypted` 在**无数据盘**场景下取值为 `true`(不存在未加密的数据盘),因此仅约束"已配置的数据盘必须加密",不会强制要求必须挂载数据盘。
|
|
121
|
+
*/
|
|
33
122
|
CreateNodePool(req: CreateNodePoolRequest, cb?: (error: string, rep: CreateNodePoolResponse) => void): Promise<CreateNodePoolResponse>;
|
|
34
123
|
/**
|
|
35
124
|
* 查询健康检测策略绑定关系
|
|
@@ -58,8 +58,97 @@ class Client extends TencentCloudCommon.AbstractClient {
|
|
|
58
58
|
return this.request("StartMachines", req, cb);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
* **通过 CAM 策略强制节点池安全配置**
|
|
62
|
+
|
|
63
|
+
创建原生节点池(`CreateNodePool`)接口已接入 CAM 条件鉴权,会根据请求参数计算出一组**条件键(Condition Key)**并传入 CAM 鉴权。您可以在 CAM/SCP 策略中基于这些条件键配置 `deny` 规则,从而强制约束节点池的安全配置(如必须开启磁盘加密、安全加固等)。
|
|
64
|
+
|
|
65
|
+
**支持的条件键**
|
|
66
|
+
|
|
67
|
+
| 条件键 | 含义 | 取值 | 取值判定说明 |
|
|
68
|
+
|--------|------|------|-------------|
|
|
69
|
+
| `tke:NodePoolType` | 节点池类型 | `Native` / `External` | 取请求的节点池类型,未指定时默认为 `Native` |
|
|
70
|
+
| `tke:SystemDiskEncrypted` | 系统盘是否加密 | `true` / `false` | 系统盘加密属性为 `ENCRYPT`(大小写不敏感)时为 `true`,否则为 `false` |
|
|
71
|
+
| `tke:AllDataDisksEncrypted` | 所有数据盘是否都已加密 | `true` / `false` | 全部数据盘加密属性均为 `ENCRYPT` 时为 `true`;未配置数据盘时也为 `true`;只要有任一数据盘未加密即为 `false` |
|
|
72
|
+
| `tke:SecurityAgentEnabled` | 是否开启安全加固(Security Agent) | `true` / `false` | 开启安全加固时为 `true`,否则为 `false` |
|
|
73
|
+
|
|
74
|
+
> 说明:所有条件键的取值均为字符串 `"true"` / `"false"`,请在策略中使用字符串形式匹配。
|
|
75
|
+
|
|
76
|
+
**使用方式**
|
|
77
|
+
|
|
78
|
+
在 CAM 策略中使用 `bool_equal` 匹配条件键值为 `"false"`,配合 `effect: deny`,即可实现"未满足安全配置则拒绝创建节点池"的强制约束。
|
|
79
|
+
|
|
80
|
+
**示例一:强制开启安全加固**
|
|
81
|
+
|
|
82
|
+
创建节点池时若未开启安全加固(`tke:SecurityAgentEnabled = "false"`),则拒绝。
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"version": "2.0",
|
|
87
|
+
"statement": [
|
|
88
|
+
{
|
|
89
|
+
"effect": "deny",
|
|
90
|
+
"action": ["tke:CreateNodePool"],
|
|
91
|
+
"resource": ["*"],
|
|
92
|
+
"condition": {
|
|
93
|
+
"bool_equal": {
|
|
94
|
+
"tke:SecurityAgentEnabled": "false"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**示例二:强制数据盘加密**
|
|
103
|
+
|
|
104
|
+
创建节点池时若存在未加密的数据盘(`tke:AllDataDisksEncrypted = "false"`),则拒绝。
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"version": "2.0",
|
|
109
|
+
"statement": [
|
|
110
|
+
{
|
|
111
|
+
"effect": "deny",
|
|
112
|
+
"action": ["tke:CreateNodePool"],
|
|
113
|
+
"resource": ["*"],
|
|
114
|
+
"condition": {
|
|
115
|
+
"bool_equal": {
|
|
116
|
+
"tke:AllDataDisksEncrypted": "false"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**示例三:强制系统盘加密**
|
|
125
|
+
|
|
126
|
+
创建节点池时若系统盘未加密(`tke:SystemDiskEncrypted = "false"`),则拒绝。
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"version": "2.0",
|
|
131
|
+
"statement": [
|
|
132
|
+
{
|
|
133
|
+
"effect": "deny",
|
|
134
|
+
"action": ["tke:CreateNodePool"],
|
|
135
|
+
"resource": ["*"],
|
|
136
|
+
"condition": {
|
|
137
|
+
"bool_equal": {
|
|
138
|
+
"tke:SystemDiskEncrypted": "false"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**注意事项**
|
|
147
|
+
|
|
148
|
+
- 上述条件键在**未配置任何 CAM 策略**时不会影响节点池创建,仅在您显式配置了对应 `deny` 策略时才生效。
|
|
149
|
+
- 如需同时强制多项安全配置,必须在同一策略的 `statement` 中配置多条 `deny` 规则,不能将多个条件键写入同一条 `condition`。
|
|
150
|
+
- `tke:AllDataDisksEncrypted` 在**无数据盘**场景下取值为 `true`(不存在未加密的数据盘),因此仅约束"已配置的数据盘必须加密",不会强制要求必须挂载数据盘。
|
|
151
|
+
*/
|
|
63
152
|
async CreateNodePool(req, cb) {
|
|
64
153
|
return this.request("CreateNodePool", req, cb);
|
|
65
154
|
}
|
|
@@ -382,43 +382,43 @@ export interface IntOrString {
|
|
|
382
382
|
*/
|
|
383
383
|
export interface CreateNodePoolRequest {
|
|
384
384
|
/**
|
|
385
|
-
*
|
|
385
|
+
* <p>集群 ID</p>
|
|
386
386
|
*/
|
|
387
387
|
ClusterId: string;
|
|
388
388
|
/**
|
|
389
|
-
*
|
|
389
|
+
* <p>节点池名称</p>
|
|
390
390
|
*/
|
|
391
391
|
Name: string;
|
|
392
392
|
/**
|
|
393
|
-
*
|
|
393
|
+
* <p>节点池类型</p>
|
|
394
394
|
*/
|
|
395
395
|
Type: string;
|
|
396
396
|
/**
|
|
397
|
-
*
|
|
397
|
+
* <p>节点 Labels</p>
|
|
398
398
|
*/
|
|
399
399
|
Labels?: Array<Label>;
|
|
400
400
|
/**
|
|
401
|
-
*
|
|
401
|
+
* <p>节点污点</p>
|
|
402
402
|
*/
|
|
403
403
|
Taints?: Array<Taint>;
|
|
404
404
|
/**
|
|
405
|
-
*
|
|
405
|
+
* <p>节点标签</p>
|
|
406
406
|
*/
|
|
407
407
|
Tags?: Array<TagSpecification>;
|
|
408
408
|
/**
|
|
409
|
-
*
|
|
409
|
+
* <p>是否开启删除保护</p>
|
|
410
410
|
*/
|
|
411
411
|
DeletionProtection?: boolean;
|
|
412
412
|
/**
|
|
413
|
-
*
|
|
413
|
+
* <p>节点是否默认不可调度</p>
|
|
414
414
|
*/
|
|
415
415
|
Unschedulable?: boolean;
|
|
416
416
|
/**
|
|
417
|
-
*
|
|
417
|
+
* <p>原生节点池创建参数(Type字段设置为Native时需填写)</p>
|
|
418
418
|
*/
|
|
419
419
|
Native?: CreateNativeNodePoolParam;
|
|
420
420
|
/**
|
|
421
|
-
*
|
|
421
|
+
* <p>节点 Annotation 列表</p>
|
|
422
422
|
*/
|
|
423
423
|
Annotations?: Array<Annotation>;
|
|
424
424
|
}
|
|
@@ -1045,6 +1045,10 @@ export interface ModifyNodePoolResponse {
|
|
|
1045
1045
|
* kubernetes Taint
|
|
1046
1046
|
*/
|
|
1047
1047
|
export interface Taint {
|
|
1048
|
+
/**
|
|
1049
|
+
* Taint的Effect
|
|
1050
|
+
*/
|
|
1051
|
+
Effect?: string;
|
|
1048
1052
|
/**
|
|
1049
1053
|
* Taint的Key
|
|
1050
1054
|
*/
|
|
@@ -1053,10 +1057,6 @@ export interface Taint {
|
|
|
1053
1057
|
* Taint的Value
|
|
1054
1058
|
*/
|
|
1055
1059
|
Value?: string;
|
|
1056
|
-
/**
|
|
1057
|
-
* Taint的Effect
|
|
1058
|
-
*/
|
|
1059
|
-
Effect?: string;
|
|
1060
1060
|
}
|
|
1061
1061
|
/**
|
|
1062
1062
|
* 普通节点信息
|
|
@@ -1383,7 +1383,7 @@ export interface HealthCheckTemplateRule {
|
|
|
1383
1383
|
*/
|
|
1384
1384
|
export interface CreateNodePoolResponse {
|
|
1385
1385
|
/**
|
|
1386
|
-
*
|
|
1386
|
+
* <p>节点池 ID</p>
|
|
1387
1387
|
*/
|
|
1388
1388
|
NodePoolId?: string;
|
|
1389
1389
|
/**
|