策略分析器,用于分析您创建策略的 JSON 语句,对策略进行验证检查,其中包括策略的错误、警告和建议,可以帮助您编写更符合安全实践教程的策略。
version
1. 错误——缺少 version
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 version,version 是描述策略语法(version)版本,该元素是必填项。
解决错误:Version 是描述策略语法版本。该元素是必填项。目前仅允许值为“2.0”或“3.0”(Version 3.0使用指引)。要使用所有可用策略功能,需将以下 Version 元素包含在所有策略中的 Statement 元素之前。每一个策略仅允许一个 version 元素。
相关文档参考:元素参考概述。
2. 错误——无效的 version
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的 version,version 是描述策略语法(version)版本,该元素是必填项,目前仅允许值为“2.0”或“3.0”。
解决错误:Version 是描述策略语法版本。该元素是必填项。目前仅允许值为“2.0”或“3.0”(Version 3.0使用指引)。要使用所有可用策略功能,需将以下 Version 元素包含在所有策略中的 Statement 元素之前。每一个策略仅允许一个 version 元素。
相关文档参考:元素参考概述。
3. 错误——冗余 version
在腾讯云控制台中,策略分析器的错误提示为:错误——冗余 version,version 是描述策略语法(version)版本,该元素是必填项,每一个策略仅允许一个 version 值。
解决错误:Version 是描述策略语法版本。该元素是必填项。目前仅允许值为“2.0”或“3.0”(Version 3.0使用指引)。要使用所有可用策略功能,需将以下 Version 元素包含在所有策略中的 Statement 元素之前。每一个策略仅允许一个 version 元素。
相关文档参考:元素参考概述。
statement
4. 错误——缺少 statement
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 statement,statement 是描述一条或多条权限的详细信息。
解决错误:statement 是描述一条或多条权限的详细信息。该元素包括 principal、action、resource、condition、effect 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
相关文档参考:元素参考概述。
5. 错误——无效的 statement
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的 statement,statement 是包括 principal、action、resource、condition、effect 等多个其他元素的权限或权限集合。
解决错误:statement 是描述一条或多条权限的详细信息。该元素包括 principal、action、resource、condition、effect 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
相关文档参考:元素参考概述。
6. 错误——冗余 statement
在腾讯云控制台中,策略分析器的错误提示为:错误——冗余 statement,statement 是描述一条或多条权限的详细信息,一条策略有且仅有一个 statement 元素。
解决错误:statement 是描述一条或多条权限的详细信息。该元素包括 principal、action、resource、condition、effect 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
相关文档参考:元素参考概述。
effect
7. 错误——缺少 effect
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 effect,effect 是描述声明产生的结果是“允许”还是“显式拒绝”。
解决错误:effect 是描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow(允许)和 deny (显式拒绝)两种情况。该元素是必填项。
相关文档参考:元素参考概述。
8. 错误——无效的 effect
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的 effect,该元素是必填项,effect 仅包括 allow(允许)和 deny (显式拒绝)两种情况。
解决错误:effect 是描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow(允许)和 deny (显式拒绝)两种情况。该元素是必填项。
相关文档参考:元素参考概述。
principal
9. 错误——缺少 principal
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 principal,principal 是描述策略授权的实体,基于资源的策略必须包含 principal 元素。
解决错误:principal 是描述策略授权的实体。包括用户(主账号、子账号、角色、联合身份用户等实体)。基于资源的策略必须包含 principal 元素。
相关文档参考:元素参考概述。
10. 错误——无效的 principal
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的 principal,principal 是描述策略授权的实体。
解决错误:principal 是描述策略授权的实体。包括用户(主账号、子账号、角色、联合身份用户等实体)。仅支持在基于资源的策略中使用该元素。
示例:
"principal": {"qcs": ["qcs::cam::uin/100000000001:uin/100000000002"]}
相关文档参考:元素参考概述。
11. 错误——SCP 不支持 principal
在腾讯云控制台中,策略分析器的错误提示为:错误——Organizations 服务控制策略 (SCP) 不支持 Principal。
解决错误:Organizations 服务控制策略 (SCP) 不支持 Principal 元素。请删除 Principal 元素。
12. 建议——principal 为空
在腾讯云控制台中,策略分析器的错误提示为:建议——未指定 principal。
解决错误:需要在角色的信任策略和基于资源的策略中使用 Principal 元素。基于资源的策略是直接嵌入资源中的策略。语句的 Principal 元素为空时,语句对策略虽然没有影响,但腾讯建议您指定主体。
resource
13. 错误——缺少 resource
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 resource,resource 是描述授权的具体数据。
解决错误:resource 是描述授权的具体数据。资源是用六段式描述。该元素是必填项。每款产品的资源定义详情会有所区别。
14. 错误——resource 为空
在腾讯云控制台中,策略分析器的错误提示为:错误——resource 为空,resource 是描述授权的具体数据,该元素是必填项。
解决错误:resource 是描述授权的具体数据。资源是用六段式描述。该元素是必填项。每款产品的资源定义详情会有所区别。
15. 错误——资源六段式第一段错误
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第一段错误,资源六段式前缀固定为 qcs。
解决错误:资源六段式前缀固定为 qcs,qcloud service 的简称,表示是腾讯云的云资源。资源六段式:qcs:project_id:service_type:region:account:resource。
16. 错误——资源六段式第二段错误
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第二段错误。
解决错误:资源六段式第二段错误,资源六段式第二段为描述项目信息,仅兼容 CAM 早期逻辑,当前策略语法禁止填写该信息,置空即可。
17. 错误——资源六段式第三段无效的服务
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第三段服务无效的服务。
解决错误:资源六段式第三段为描述产品简称,详细可查看 支持 CAM 的产品 中的 “CAM 中简称”。
相关文档参考:元素参考概述、资源描述方式、支持 CAM 的产品。
18. 错误——资源六段式第四段无效的地域
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第四段无效的地域。
解决错误:资源六段式第四段描述地域信息,地域命名方式请参见 地域列表。值为空的时候表示所有地域。
19. 错误——资源六段式第五段无效的 uin
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第五段无效的 uin。
解决错误:资源六段式第五段为描述资源拥有者的主账号信息,目前支持两种方式描述资源拥有者,uin 和 uid 方式。uin 方式,即主账号的账户 ID,表示为uin/${uin}。uid 方式,即主账号的 APPID,表示为 uid/${appid},仅 COS 和 CAS 服务的资源拥有者使用该方式描述。值为空的时候表示创建策略的 CAM 用户所属的主账号。
20. 错误——资源六段式第五段无效的 uid
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第五段无效的 uid。
解决错误:资源六段式第五段为描述资源拥有者的主账号信息,目前支持两种方式描述资源拥有者,uin 和 uid 方式。uin 方式,即主账号的账户 ID,表示为 uin/${uin}。uid 方式,即主账号的 APPID,表示为 uid/${appid},仅 COS 和 CAS 服务的资源拥有者使用该方式描述。值为空的时候表示创建策略的 CAM 用户所属的主账号。
21. 错误——资源六段式第五段无效的账户格式
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第五段无效的账户格式。
解决错误:资源六段式第五段为描述资源拥有者的主账号信息,目前支持两种方式描述资源拥有者,uin 和 uid 方式。uin 方式,即主账号的账户 ID,表示为 uin/${uin}。uid 方式,即主账号的 APPID,表示为 uid/${appid},仅 COS 和 CAS 服务的资源拥有者使用该方式描述。值为空的时候表示创建策略的 CAM 用户所属的主账号。
22. 错误——资源六段式第六段无效的资源格式
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第六段无效的资源格式。
解决错误:资源六段式第六段为描述各产品的具体资源详情,目前支持两种方式描述资源信息,resource_type/${resourceid} 和 <resource_type>/<resource_path>。
resource_type/${resourceid}:resourcetype 为资源前缀,描述资源类型,详细可查看 支持 CAM 的业务接口中产品的资源六段式;${resourceid} 为具体的资源 ID,可前往各个产品控制台查看,值为 * 时代表该类型资源的所有资源。
<resource_type>/<resource_path>:resourcetype 为资源前缀,描述资源类型;<resource_path> 为资源路径,该方式下,支持目录级的前缀匹配。详细可查看 支持 CAM 的业务接口 中产品的资源六段式。
相关文档参考:元素参考概述、资源描述方式、支持 CAM 的业务接口。
23. 错误——资源六段式第六段通配符错误
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第六段通配符错误。
解决错误:资源六段式第六段为描述各产品的具体资源详情,不支持 qcs::ckafka:bj:check:/ckafka-37zqnevtest 或 qcs::ckafka:bj:check:/* 格式。
24. 错误——资源六段式第六段有前缀时,第三段服务不能为空
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式第六段有前缀时,第三段服务不能为空。
解决错误:资源六段式第六段为描述各产品的具体资源详情,资源六段式第六段有前缀时,第三段必须填写相应服务简称。
25. 错误——资源六段式格式错误
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式格式错误。
解决错误:资源六段式必须包含 6 个字段并包含以下结构: qcs:project_id:service_type:region:account:resource。
26. 错误——资源六段式长度超限
在腾讯云控制台中,策略分析器的错误提示为:错误——资源六段式长度超限。
解决错误:资源六段式长度上限为500字符。
27. 建议——资源冗余
在腾讯云控制台中,策略分析器的错误提示为:建议——资源冗余。
解决错误:描述的指定资源与资源通配符“*”冗余。
示例:
"Resource": ["qcs::cam::uin/111122223333:rolename/admin","qcs::cam::uin/1111122223333:rolename/readonly","qcs::cam::uin/1111122223333:rolename/*"]
在示例中,第三个资源六段式已描述所有 rolename 资源,其他角色 admin、readonly 已包含在通配符“*”。
action
28. 错误——缺少 action
在腾讯云控制台中,策略分析器的错误提示为:错误——缺少 action,action 是描述允许或拒绝的操作。
解决错误:action 是描述允许或拒绝的操作。操作可以是 API(以 name 前缀描述)或者功能集(一组特定的 API,以 actionName 前缀描述)。该元素是必填项。
示例:
{"version": "2.0","statement": [{"effect": "allow","action": ["ES:CreateServerlessSpace","ES:CreateServerlessInstance","ES:DescribeServerlessInstances","ES:CreateServerlessInstanceUser","ES:DescribeServerlessInstanceUsers","ES:CreateServerlessDi","ES:DescribeServerlessDi","ES:DeleteServerlessInstanceUser","ES:DeleteServerlessDi","ES:DeleteServerlessInstance","ES:DescribeServerlessSpaces","ES:SearchServerlessData"],"resource": ["*"]}]}
相关文档参考:元素参考概述。
29. 错误——无效的 action
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的 action。
解决错误:action 是描述允许或拒绝的操作。输入的 action 无效,请检查您输入的 action 前缀和 action 名称。
相关文档参考:支持 CAM 的业务接口。
30. 错误——action 中无效的服务前缀
在腾讯云控制台中,策略分析器的错误提示为:错误——action 中无效的服务前缀。
解决错误:action 是描述允许或拒绝的操作。action 中服务前缀无效,请检查您输入的 action 前缀。
相关文档参考:支持 CAM 的业务接口。
31. 建议——action 冗余
在腾讯云控制台中,策略分析器的错误提示为:建议——action 冗余。
解决错误:action 有冗余,指定的 action 与通配符“*”冗余。
示例:
"Action": ["cam:Get*","cam:List*","cam:Getrole"],
在示例中,通配符"cam:Get*"已经包含了 Getrole 权限。
condition
32. 错误——数据类型不匹配
在腾讯云控制台中,策略分析器的错误提示为:错误——数据类型不匹配。
解决错误:输入的条件值和条件运算符、条件键要求的数据类型不匹配。
相关文档参考:条件键和条件运算符。
33. 错误——无效的全局条件键
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的条件键。
解决错误:全局条件键是带有 qcs: 前缀的条件键,目前支持 qcs:current_time、qcs:ip、qcs:resource_tag、qcs:request_tag 四种全局条件键。
相关文档参考:条件键和条件运算符。
34. 错误——无效的服务条件键
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的服务条件键。
解决错误:服务条件键是带有服务简称的前缀,例如 vpc: 前缀的条件键。
35. 错误——不支持多个布尔值
在腾讯云控制台中,策略分析器的错误提示为:错误——不支持多个布尔值。
解决错误:布尔条件运算符仅支持一个布尔值。
相关文档参考:条件键和条件运算符。
36. 错误——condition 长度超限
在腾讯云控制台中,策略分析器的错误提示为:错误——condition 长度超限。
解决错误:condition 长度最大支持4095字符。
相关文档参考:条件键和条件运算符。
37. 错误——无效的条件运算符
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的条件运算符。
解决错误:条件运算符输入无效,请参见 条件键和条件运算符。
相关文档参考:条件键和条件运算符。
38. 建议——条件键和条件运算符不匹配
在腾讯云控制台中,策略分析器的错误提示为:错误——条件键和条件运算符不匹配。
解决错误:条件键和条件运算符不匹配,请参见 条件键和条件运算符。
相关文档参考:条件键和条件运算符。
其他
39. 错误——无效的策略元素
在腾讯云控制台中,策略分析器的错误提示为:错误——无效的策略元素。
解决错误:策略语句仅支持版本(version)、语句(statement)、委托人(principal)、操作(action)、资源(resource)、生效条件(condition)以及效力(effect)元素。
相关文档参考:元素参考概述。
40. 错误——JSON 语法错误
在腾讯云控制台中,策略分析器的错误提示为:错误——JSON 语法错误。
解决错误:您的策略包含语法错误。请检查您的 JSON 语法。
41. 错误——策略长度超过限制
在腾讯云控制台中,策略分析器的错误提示为:错误——策略长度超过限制。
解决错误:策略长度超过限制,策略长度最大支持6144。
相关文档参考:元素参考概述。
42. 错误——ACL 策略长度超过限制
在腾讯云控制台中,策略分析器的错误提示为:错误——ACL 策略长度超过限制。
解决错误:ACL 策略长度超过限制,策略长度最大支持20480。
相关文档参考:元素参考概述。
43. 错误——自定义策略数量超过上限
在腾讯云控制台中,策略分析器的错误提示为:错误——自定义策略数量超过上限。
解决错误:腾讯云账号自定义策略数量上限为1500条。
相关文档参考:元素参考概述。
44. 警告——无效的日期值
在腾讯云控制台中,策略分析器的错误提示为:警告——无效的日期值。
解决警告:Unix Epoch 时间描述自 1970 年 1 月 1 日以来已经过去的时间点,减去闰秒。Epoch 时间可能无法解析到您期望的精确时间。腾讯云建议您对日期和时间格式使用 W3C 标准。例如,您可以指定一个完整的日期,如 YYYY-MMM-DD (1997-07-16),也可以将时间附加到秒,例如 YYYY-MM-DDThh:mm:ssTZD (1997-07-16T19:20:30+01:00)。