更新时间:2025-11-06 GMT+08:00

验证策略结果参考

如用户已使用IAM访问分析进行策略验证,可以根据结果参考列表进行查询,参考“解决错误”的内容进行策略调整和优化。

错误 - JSON语法错误(JSON_SYNTAX_ERROR)

检查的结果包括以下消息:

Fix the JSON syntax error at character {column} in line {line} with index {offset}.

解决错误

您的策略包含语法错误。请检查您的JSON语法。

错误 - 策略元素无效(INVALID_POLICY_ELEMENT)

检查的结果包括以下消息:

The element {element} in the policy is invalid.

解决错误

修改策略,使其仅包含支持的策略元素。

错误 - 不支持主体元素(UNSUPPORTED_PRINCIPAL)

检查的结果包括以下消息:

The "Principal" element is not supported for identity policy. Delete the "Principal" element. 

解决错误

身份策略不支持Principal元素,请删除Principal元素。

错误 - 数据类型不匹配(DATA_TYPE_MISMATCH)

检查的结果包括以下消息:

The text does not match the expected JSON data type {data_type}.

解决错误

您的策略文本的数据类型与预期的数据类型不匹配,请使用符合规范的数据类型。

例如,Effect元素需要String数据类型。如果您输入整数,则数据类型将不匹配。

错误 - 无效的版本号(INVALID_VERSION)

检查的结果包括以下消息:

The version {version} is not valid. Use the following version: "5.0".

解决错误

要使用所有可用策略功能,将Version元素改为5.0

错误 - 缺少版本号(MISSING_VERSION)

检查的结果包括以下消息:

Add the "Version" element to the policy.

解决错误

请您在策略中添加Version元素。

错误 - 缺少策略的授权语句(MISSING_STATEMENT)

检查的结果包括以下消息:

Add the "Statement" element to the policy.

解决错误

请您在策略中添加策略的授权语句(Statement元素)。

错误 - 缺少作用语句(MISSING_EFFECT)

检查的结果包括以下消息:

Add the "Effect" element to the policy statement with a value of "Allow" or "Deny".

解决错误

策略必须包含Effect元素,其值为Allow和Deny。

错误 - 无效的作用语句(INVALID_EFFECT)

检查的结果包括以下消息:

The effect {effect} is not valid. Use "Allow" or "Deny".

解决错误

请使用有效的效果值更新Effect元素。Effect的有效值为Allow和Deny。

错误 - 缺少授权项语句(MISSING_ACTION)

检查的结果包括以下消息:

Add the "Action" (or "NotAction") element to the policy statement.

解决错误

JSON策略的授权语句必须包含Action或者NotAction元素。

信任策略的授权语句必须包含Action元素。

错误 - 信任策略不支持的元素(INVALID_ELEMENT_FOR_TRUST_POLICY)

检查的结果包括以下消息:

Trust policy does not support the {element} element. Remove the {element} element. 

解决错误

信任策略语法不支持您输入的元素,请使用受支持的元素。

错误 - 不支持的元素组合(UNSUPPORTED_ELEMENT_COMBINATION)

检查的结果包括以下消息:

Policy elements {key_1} and {key_2} cannot be used in the same statement. Remove either of them.

解决错误

某些策略元素的组合不能一起使用。例如,您不能在同一策略的授权语句中同时使用ActionNotAction。相互排斥的其他对包括Resource/NotResource等。

错误 - 无效的条件运算符(INVALID_CONDITION_OPERATOR)

检查的结果包括以下消息:

Invalid condition operator {operator} in policy. Please use a valid condition operator. Did you mean {valid_operator} ?

解决错误

请使用支持的条件运算符修改条件语句。

错误 - 策略变量缺少大括号(MISSING_BRACE_IN_VARIABLE)

检查的结果包括以下消息:

The policy variable is missing a closing curly brace. Add "}" after the variable text.

解决错误

策略变量结构支持使用$前缀,后跟一对大括号{ }。在大括号内,包含想要在策略中使用的请求中的值名称,例如${g:DomainId}。

若要解决此结果,请添加缺少的大括号,以确保存在完整的大括号开闭集。

错误 - 空策略变量(EMPTY_VARIABLE)

检查的结果包括以下消息:

Empty policy variable. Remove the "${}" variable structure or provide a variable within the structure.

解决错误

策略变量结构支持使用$前缀,后跟一对大括号{ }。在大括号内,包含想要在策略中使用的请求中的值名称,例如${g:DomainId}。

错误 - 策略变量不支持的空格(UNSUPPORTED_SPACE_IN_VARIABLE)

检查的结果包括以下消息:

The space is not supported within the policy variable text. Remove the space.

解决错误

策略变量结构支持使用$前缀,后跟一对大括号{ }。在大括号内,包含想要在策略中使用的请求中的值名称,例如${g:DomainId}。虽然在指定默认值时可以包含空格,但不能在变量名称中包含空格。

错误 - 策略变量是特殊字符时不支持默认值(UNSUPPORTED_DEFAULT_VALUE_IN_VARIABLE)

检查的结果包括以下消息:

The default value is not supported within the policy variable text when the key is '*', '?' or '$'. Remove the default value.

解决错误

策略变量是特殊字符“*”、“?”、“$” 时不支持默认值。移除默认值。

错误 - 策略变量缺少引号(MISSING_QUOTE_IN_VARIABLE)

检查的结果包括以下消息:

The default value of a policy variable must start and end with a single quote. Add the missing quote.

解决错误

向策略添加变量时,您可以为变量指定默认值。如果不存在变量,则会使用您提供的原定设置文本。

要向变量添加默认值,请用单引号' '括起默认值,并用英文逗号和空格分隔变量文本和默认值,例如${g:UserName, 'default'}。

错误 - 条件包含多个布尔值(CONDITION_MULTIPLE_BOOLEAN)

检查的结果包括以下消息:

Multiple Boolean values are not supported for condition values. Use a single Boolean value. 

解决错误

条件键值对中的键需要一个布尔值。当您提供多个布尔值时,条件匹配可能不会返回您期望的结果。

错误 - 元素中不支持策略变量(VARIABLE_UNSUPPORTED_IN_ELEMENT)

检查的结果包括以下消息:

Policy variables are supported only in resource elements or the values of condition elements. Please check the policy variable in this element. 

解决错误

您可以在资源元素和条件元素的值中使用策略变量。请检查策略变量的用法是否正确。

策略变量结构支持使用$前缀,后跟一对大括号{ }。在大括号内,包含想要在策略中使用的请求中的值名称,例如${g:DomainId}。

错误 - 无效的URN账号(INVALID_URN_ACCOUNT)

检查的结果包括以下消息:

The resource URN account ID {account_id} is not valid. Provide a correct account ID.

解决错误

请更新资源URN中的账号ID。账号ID是“system”或1-64位只包含大小写字母、数字和“-”的字符串。

错误 - 无效的URN资源类型(INVALID_URN_RESOURCE_TYPE_NAME)

检查的结果包括以下消息:

Resource URN type name {resource_type} is not valid. Update the resource type name portion of the URN.

解决错误

请在资源 URN 中使用合法的资源类型。

错误 - 条件键格式错误(INVALID_CONDITION_KEY_FORMAT)

检查的结果包括以下消息:

The condition key format is not valid. Use the format "<service-name>:<condition-name>". 

解决错误

条件键值对中的键必须满足指定的格式。

错误 - 条件键数据类型不匹配(TYPE_MISMATCH)

检查的结果包括以下消息:

The condition key {key} uses the {type_1} operator type instead of the {type_2} operator type. 

解决错误

请更新文本以使用支持的条件运算符数据类型。例如,g:PrincipalIsRootUser全局条件键需要带有Boolean数据类型的条件运算符。如果您提供日期或整数运算符,则数据类型将不匹配。

错误 - 类型不匹配布尔值(TYPE_MISMATCH_BOOLEAN)

检查的结果包括以下消息:

Add a valid Boolean value (true or false) for the condition operator {operator}.

解决错误

请使用布尔数据类型更新文本,例如true或false。

错误 - 类型与IP范围不匹配(TYPE_MISMATCH_IP_RANGE)

检查的结果包括以下消息:

Add a valid IP range value for the condition operator {operator}.

解决错误

对于IP地址条件运算符,请使用合法的IP地址数据类型更新文本。

错误 - 类型不匹配数值(TYPE_MISMATCH_NUMBER)

检查的结果包括以下消息:

Add a valid numeric value for the condition operator {operator}.

解决错误

请使用数值数据类型更新文本。

错误 - 类型不匹配日期(TYPE_MISMATCH_DATE)

检查的结果包括以下消息:

The date condition operator is used with an invalid value. Specify a valid date using RFC 3339 date/time format.

解决错误

请使用日期数据类型更新文本,采用RFC 3339日期时间格式。

错误 - 使用不同的大小写重复条件键(DUPLICATE_KEYS_WITH_DIFFERENT_CASE)

检查的结果包括以下消息:

The condition key {keys} appears multiple times in the same condition block, differing only in case. Delete duplicate condition keys.

解决错误

查看同一条件数据块中的类似条件键,并对所有实例使用相同的大小写字母。

条件数据块是策略语句Condition元素中的文本。条件键名称不区分大小写。条件键值是否区分大小写取决于您使用的条件运算符。

错误 - 无效的服务(INVALID_SERVICE)

检查的结果包括以下消息:

The service {service} in {key} does not exist. Use a valid service name. Did you mean {valid_service} ?

解决错误

条件键和资源中的服务名必须和某一云服务匹配,请输入合法的服务名。

错误 - 授权项中的无效服务(INVALID_SERVICE_IN_ACTION)

检查的结果包括以下消息:

The service {service} specified in the action {action} does not exist. Use a valid service name. Did you mean {valid_service} ?

解决错误

授权项中的服务名必须和某一云服务匹配,请输入合法的服务名。

错误 - 无效的服务条件键(INVALID_SERVICE_CONDITION_KEY)

检查的结果包括以下消息:

The service condition key {key} does not exist. Please use a valid service condition key. Did you mean {valid_key} ?

解决错误

请使用支持的服务条件键更新条件键值对中的条件键。

错误 - 缺少限定符(MISSING_QUALIFIER)

检查的结果包括以下消息:

The condition key {key} in the request context has multiple values. Use the "ForAllValues" or "ForAnyValue" condition qualifier in the policy.

解决错误

对于除Null运算符之外的所有运算符,可以在其前面添加ForAllValues:或ForAnyValue:前缀,来表示集合运算。对于策略中的多值条件属性,请在运算符前加入上述前缀进行比较。

错误 - 不支持指定URN账号(URN_ACCOUNT_NOT_ALLOWED)

检查的结果包括以下消息:

The service {service} does not support specifying an account ID in the resource URN. Remove the account ID from the resource URN.

解决错误

某些服务的URN不支持指定账号ID。请删除URN中的账号ID。

错误 - 不支持指定URN区域(URN_REGION_NOT_ALLOWED)

检查的结果包括以下消息:

The service {service} does not support specifying a region in the resource URN. Remove the region from the resource URN. 

解决错误

某些服务的URN不支持指定区域。请删除URN中的区域。

错误 - URN缺少区域(MISSING_URN_REGION)

检查的结果包括以下消息:

Add a region to service {service} URN.

解决错误

某些服务的URN需要指定区域,请在URN中指定区域。

错误 - 运算符Null包含多个布尔值(NULL_OPERATOR_MULTIPLE_BOOLEAN)

检查的结果包括以下消息:

The condition value of the "Null" operator with multiple Boolean values will never match the request context. Use a single Boolean value. 

解决错误

条件键值对中的键需要一个布尔值。当您为Null运算符的条件值提供多个布尔值时,请求值按照条件运算符不能匹配到所有的条件值,策略将永远不会与请求上下文匹配。请使用单个布尔值。

错误 - VPC ID格式无效(INVALID_VPC_FORMAT)

检查的结果包括以下消息:

The VPC ID format in the condition value is invalid. Specify a valid VPC ID. 

解决错误

VPC ID使用32位UUID格式。请指定合法的VPC ID。

错误 - VPCEP ID格式无效(INVALID_VPCEP_FORMAT)

检查的结果包括以下消息:

The VPCEP ID format in the condition value is invalid. Specify a valid VPCEP ID. 

解决错误

VPCEP ID使用32位UUID格式。请指定合法的VPCEP ID。

错误 - 条件值中无效的账号ID(INVALID_ACCOUNT_ID_IN_CONDITION_VALUE)

检查的结果包括以下消息:

Account ID {account_id} in the condition value is not valid. Enter a valid account ID. 

解决错误

请更新条件值中的账号ID。账号ID是1-64位只包含大小写字母、数字和-的字符串。

错误 - 条件值中的无效的服务主体(INVALID_SERVICE_PRINCIPAL_IN_CONDITION_VALUE)

检查的结果包括以下消息:

The service principal {service_principal} does not exist. Use a valid service principal. Did you mean {valid_service_principal} ? 

解决错误

服务主体必须和某一云服务的服务主体匹配,请输入合法的服务主体。

错误 - 策略大小超出身份策略配额(POLICY_SIZE_EXCEEDS_IDENTITY_POLICY_QUOTA)

检查的结果包括以下消息:

The identity policy size of {policy_size} bytes (excluding spaces) exceeds the identity policy's maximum {POLICY_SIZE_QUOTA_IDENTITY_POLICY} bytes. We recommend that you use multiple granular policies.

解决错误

每个身份策略的大小不能超过默认配额的6144个字节。在计算策略大小时,空格不会被计入该配额。

如果您的策略大小超过配额,您可以拆分成多个策略。

错误 - 策略大小超出服务控制策略配额(POLICY_SIZE_EXCEEDS_SERVICE_CONTROL_POLICY_QUOTA)

检查的结果包括以下消息:

The service control policy size of {policy_size} bytes (excluding spaces) exceeds the service control policy's maximum {POLICY_SIZE_QUOTA_SERVICE_CONTROL_POLICY} bytes. We recommend that you use multiple granular policies.

解决错误

每个服务控制策略的大小不能超过默认配额的5120个字节。在计算策略大小时,空格不会被计入该配额。

如果您的策略大小超过配额,您可以拆分成多个策略。

错误 - 策略大小超出信任策略配额(POLICY_SIZE_EXCEEDS_TRUST_POLICY_QUOTA)

检查的结果包括以下消息:

The trust policy size of {policy_size} bytes (excluding spaces) exceeds the trust policy's maximum {POLICY_SIZE_QUOTA_TRUST_POLICY} bytes. 

解决错误

每个信任策略的大小不能超过默认配额的6144个字节。在计算策略大小时,空格不会被计入该配额。

错误 - 服务控制策略不支持Allow和NotAction组合(SCP_SYNTAX_ERROR_ALLOW_NOT_ACTION)

检查的结果包括以下消息:

Service control policy syntax does not support "NotAction" when "Effect" is "Allow". Modify the "Effect" or "NotAction" element.

解决错误

Organizations服务控制策略(SCP)不支持使用带有元素Effect: Allow的NotAction。

错误 - 服务控制策略不支持Allow和除“*”以外的资源类型组合(SCP_SYNTAX_ERROR_ALLOW_RESOURCE)

检查的结果包括以下消息:

Service control policy syntax does not support "Resource" using resources other than "*" when "Effect" is "Allow". Modify the "Effect" or "Resource" element.

解决错误

Organizations服务控制策略(SCP)仅支持当您在使用Effect: Deny时指定Resource元素。当使用Effect: Allow时,仅支持Resource: ["*"] 。

错误 - 服务控制策略不支持Allow和Condition组合(SCP_SYNTAX_ERROR_ALLOW_CONDITION)

检查的结果包括以下消息:

Service control policy syntax does not support "Condition" when "Effect" is "Allow", please modify "Effect" or "Condition" element. 

解决错误

Organizations服务控制策略(SCP)仅支持当您在使用Effect: Deny时指定Condition元素。

错误 - 服务控制策略不支持NotResource元素(SCP_SYNTAX_ERROR_NOT_RESOURCE)

检查的结果包括以下消息:

The "NotResource" element is not supported in the service control policy syntax. Delete the "NotResource" element.

解决错误

Organizations服务控制策略(SCP)不支持NotResource元素。

错误 - 服务控制策略不支持指定主体(SCP_SYNTAX_ERROR_PRINCIPAL)

检查的结果包括以下消息:

The service control policy does not support specifying a principal. Delete the "Principal" element. 

解决错误

服务控制策略不支持Principal元素,请删除Principal元素。

错误 - 服务控制策略不支持 Allow 作用(SCP_SYNTAX_ERROR_ALLOW_EFFECT)

检查的结果包括以下消息:

Service control policy syntax does not support the effect "Allow". Modify the "Effect" to "Deny".

解决错误

Organizations 服务控制策略(SCP)不支持 Effect 为 Allow,仅支持 Deny。

错误 - 服务控制策略不支持 NotAction 元素(SCP_SYNTAX_ERROR_NOT_ACTION)

检查的结果包括以下消息:

The "NotAction" element is not supported in the service control policy syntax. Delete the "NotAction" element.

解决错误

Organizations 服务控制策略(SCP)不支持 NotAction 元素。

错误 - 服务控制策略缺少授权项字段(SCP_SYNTAX_ERROR_MISSING_ACTION_FIELD)

检查的结果包括以下消息:

The action in service control policy must contain 3 fields and the following structure: "<service-name>:<type-name>:<action-name>".

解决错误

Organizations 服务控制策略(SCP)的授权项中格式必须与规范相匹配。

错误 - 服务控制策略授权项服务名称中的通配符(SCP_SYNTAX_ERROR_WILDCARD_IN_SERVICE_NAME_OF_ACTION)

检查的结果包括以下消息:

It is not allowed to use wildcards "*", "?" in service names of actions in service control policy, because it may deny unintended other cloud services with similar names.

解决错误

当您在 Organizations 服务控制策略(SCP)的授权项中包含云服务的名称时,请不要包括通配符 *、?。这可能会拒绝未来新增的服务。例如,有数个云服务在其名称中包含 gaussdb*。

错误 - 信任策略空授权项数组(EMPTY_ARRAY_ACTION_FOR_TRUST_POLICY)

检查的结果包括以下消息:

This statement includes no actions and does not affect the policy. Specify actions. 

解决错误

当授权项数组为空时,策略的授权语句不提供任何权限。在Action元素中指定授权项。

错误 - 信任策略的授权语句为空数组(EMPTY_ARRAY_STATEMENT_FOR_TRUST_POLICY)

检查的结果包括以下消息:

This statement includes no policies. Specify policies. 

解决错误

当Statement元素为空时,策略的授权语句不提供任何权限。在Statement元素中指定策略的授权语句。

错误 - 主体键无效(INVALID_PRINCIPAL_KEY)

检查的结果包括以下消息:

The principal key {key} is not valid. 

解决错误

您输入了无效的主体键,主体键仅支持IAM和Service。

错误 - 无效的账号引用(INVALID_ACCOUNT_REFERENCE)

检查的结果包括以下消息:

The account ID {account_id} in the principal is not valid. Provide a correct account ID. 

解决错误

请更新主体中的账号ID。账号ID是1-64位只包含大小写字母、数字和-的字符串。

错误 - 服务主体格式错误(INVALID_SERVICE_PRINCIPAL_FORMAT)

检查的结果包括以下消息:

The service principal format is not valid. Use the format "service.<service-name>". 

解决错误

服务主体必须满足指定的格式。

错误 - 无效的服务主体(INVALID_SERVICE_PRINCIPAL)

检查的结果包括以下消息:

The service principal {service_principal} does not exist. Use a valid service principal. Did you mean {valid_service_principal} ? 

解决错误

服务主体必须和某一云服务的服务主体匹配,请输入合法的服务主体。

错误 - 信任策略不支持的授权项(MISMATCHED_ACTION_FOR_TRUST_POLICY)

检查的结果包括以下消息:

The {action} in "Action" is invalid with the trust policy. 

解决错误

信任策略只支持以下三种授权项 ["sts:agencies:assume","sts::tagSession","sts::setSourceIdentity"]。

错误 - 主体中不支持通配符(UNSUPPORTED_WILDCARD_IN_PRINCIPAL)

检查的结果包括以下消息:

Wildcards "*", "?" are not supported in the principal. Please specify a valid principal. 

解决错误

您不能在主体中使用通配符。请指定明确的主体。

错误 - 不支持NotResource元素(UNSUPPORTED_NOT_RESOURCE)

检查的结果包括以下消息:

The "NotResource" element is not supported for identity policy. Delete the "NotResource" element.

解决错误

身份策略不支持NotResource元素,请删除NotResource元素。

建议 - 空Sid值(EMPTY_SID_VALUE)

检查的结果包括以下消息:

Add a value to the empty string in the "Sid" element.

解决错误

Sid(策略的授权语句ID)元素允许您针对策略语句输入标识符。您可以为语句数组中的每个语句指定Sid值。如果您选择使用Sid元素,则您必须提供字符串值。

建议 - 空授权项数组(EMPTY_ARRAY_ACTION)

检查的结果包括以下消息:

This statement includes no actions and does not affect the policy. Specify actions.

解决错误

语句必须包含Action或者NotAction元素,其中包含一组授权项。当元素为空时,策略的授权语句不提供任何权限。在Action元素中指定授权项。

建议 - 空资源数组(EMPTY_ARRAY_RESOURCE)

检查的结果包括以下消息:

This statement includes no resources and does not affect the policy. Specify resources.

解决错误

当您在策略的授权语句的资源类型中提供空数组时,该语句对策略没有影响。在ResourceNotResource元素中指定资源。

建议 - 空策略的授权语句数组(EMPTY_ARRAY_STATEMENT)

检查的结果包括以下消息:

This statement includes no policies. Specify policies. 

解决错误

当Statement元素为空时,策略的授权语句不提供任何权限。在Statement元素中指定策略的授权语句。

建议 - 空条件对象(EMPTY_OBJECT_CONDITION)

检查的结果包括以下消息:

This condition block is empty and it does not affect the policy. Specify conditions.

解决错误

Condition元素结构要求您使用条件运算符和键值对。

当您在语句的条件元素中提供空对象时,该语句对策略没有影响。请删除可选元素或指定条件。

建议 - 空主体数组(EMPTY_ARRAY_PRINCIPAL)

检查的结果包括以下消息:

This statement's principal element is empty array, it includes no principals and does not affect the policy. Specify principals. 

解决错误

当您在策略的授权语句的主体元素中提供空对象时,该语句对策略没有影响。请指定主体。

建议 - 重复的Sid(UNIQUE_SIDS_REQUIRED)

检查的结果包括以下消息:

Duplicate statement IDs are not recommended for statement. Update the "Sid" value.

解决错误

建议您使用唯一的策略的授权语句ID。

Sid(策略的授权语句ID)元素允许您针对策略语句输入可选标识符。您可以在使用Sid元素的语句数组中为每个语句指定策略的授权语句ID 的值。

建议 - 缺少URN字段(MISSING_URN_FIELD)

检查的结果包括以下消息:

It is recommended that the resource URN contain 5 fields and the following structure: "<service-name>:<region>:<account-id>:<type-name>:<resource-path>".

解决错误

资源URN中的所有字段建议与已知资源类型的规范相匹配。

建议 - URN中使用策略变量(VARIABLE_IN_URN)

检查的结果包括以下消息:

Resource URN contains variable. It might grant unintended access to other resources with similar URNs.

解决错误

资源URN含有策略变量。该策略可能会对相似的资源授予预期以外的访问权限,建议检查是否误用。

建议 - 服务名称中的通配符(WILDCARD_IN_SERVICE_NAME)

检查的结果包括以下消息:

Avoid using wildcards "*", "?" in service names, because it may grant unintended access to other cloud services with similar names. 

解决错误

当您在策略中包含云服务的名称时,建议您不要包括通配符 *、?。这可能会为未来新增的服务添加意料之外的权限。例如,有数个云服务在其名称中包含 gaussdb*。

建议 - 冗余的条件值空数组(REDUNDANT_EMPTY_ARRAY_CONDITION)

检查的结果包括以下消息:

When the value of the condition key {key} is an empty array, this condition will always match the request context. Specify conditions.

解决错误

Condition元素结构要求您使用条件运算符和键值对。

条件键的值为空数组时,您的策略中的条件永远会与请求上下文匹配。这表示语句对策略没有影响。建议您重写条件。

建议 - 与Null等价的冗余的条件值空数组(REDUNDANT_EMPTY_ARRAY_CONDITION_WITH_NULL)

检查的结果包括以下消息:

To determine if the request context is none, we recommend that you use the "Null" condition operator with the value of "true" instead.

解决错误

Condition元素结构要求您使用条件运算符和键值对。只有在请求中没有对应的键时,条件才匹配。建议如果要测试请求上下文是否为空,请使用Null条件运算符。

建议 - 条件值中使用策略变量(VARIABLE_IN_CONDITION_VALUE)

检查的结果包括以下消息:

Condition value contains variable. The variable replacement result may be different from the expected type. Check the data type of the escaped text. 

解决错误

当您使用非字符串类型运算符时,如果在条件值中使用策略变量则无法确定您的条件值的类型与预期的类型匹配,请检查您的策略变量转义后的类型。

建议 - 冗余策略的授权语句(REDUNDANT_STATEMENT)

检查的结果包括以下消息:

Your policy contains redundant statements which provide same permissions. Delete those redundant statements.

解决错误

您的策略中包含重复语句,您可以删除重复的语句。

建议 - 冗余授权项(REDUNDANT_ACTION)

检查的结果包括以下消息:

The {count} action(s) are redundant because they grant similar permissions. Please remove the redundant action(s) such as: {actions}. 

解决错误

基于通配符的不同的授权项之间可能存在支配关系,我们将给出删除冗余授权项以精简策略的建议。例如,所有能匹配iam:policies:*的授权项均能被iam:*:*匹配,此时iam:policies:*可以被删除。

建议 - 冗余资源(REDUNDANT_RESOURCE)

检查的结果包括以下消息:

The {count} resource URN(s) are redundant because they reference similar resources. Please remove the redundant resource URN(s) such as: {resources}. 

解决错误

基于通配符的不同的资源URN之间可能存在支配关系,我们将给出删除冗余资源URN以精简策略的建议。例如,所有能匹配 iam::*:policy:*的资源URN均能被 iam::*:*:*匹配,此时iam::*:policy:*可以被删除。

建议 - 改善IP范围(IMPROVE_IP_RANGE)

检查的结果包括以下消息:

The non-zero bits in host identifier in the IP address are ignored. Replace the address with {ip_addr}. 

解决错误

一个IP地址包含两部分:标识网络的前缀和紧接着的在这个网络内的主机地址。当您使用标准的CIDR格式的IP地址时,IP地址中标识网络的前缀之后的非零位会被忽略。例如192.168.24.150/24,其中150会失效,建议您修改为192.168.24.0/24。

建议 - 服务主体的推荐条件键(RECOMMENDED_CONDITION_KEY_FOR_SERVICE_PRINCIPAL)

检查的结果包括以下消息:

The attribute "g:SourceUrn" may not be included in the request. To restrict access of the service principal, we recommend you to use the condition key "g:SourceAccount". 

解决错误

您可以在资源策略的Principal元素的Service主体键中指定服务主体,授予对应云服务代表您执行操作的权限。您可以通过条件键g:SourceAccount或g:SourceUrn限制访问来避免过于宽松的策略,防止混淆代理人问题。在某些请求中,g:SourceUrn可能不会携带,因此我们推荐您额外使用g:SourceAccount来配合限制访问。

建议 - 单条件运算符中的冗余条件值(REDUNDANT_CONDITION_VALUE_WITHIN_SINGLE_OPERATOR)

检查的结果包括以下消息:

There are redundant condition values in the condition because they grant similar permissions. Reduce the condition value to {condition_values}. 

解决错误

同一运算符下的不同条件键值之间,采用OR运算逻辑。

当运算符表示否定含义的时候(例如:StringNotEquals),则请求值按照条件运算符不能匹配到所有的条件值。

在仅考虑指定运算符的前提下,我们将给出推荐保留的条件值以精简策略的建议。

建议 - 冗余ForAnyValue(REDUNDANT_FOR_ANY_VALUE)

检查的结果包括以下消息:

The condition key {key} is a single-valued condition key, "ForAnyValue" is ignored when "ForAnyValue" and a single-valued condition key are used together. We recommend that you remove "ForAnyValue:". 

解决错误

对于除Null运算符之外的所有运算符,可以在其前面添加ForAllValues:或 ForAnyValue:前缀,来表示集合运算。对于策略中的多值条件属性,请在运算符前加入上述前缀进行比较。ForAnyValue和单值条件键共同使用时,ForAnyValue会被忽略,请删除ForAnyValue:前缀。

建议 - 单条件运算符中的冗余IfExists后缀(REDUNDANT_IF_EXISTS_WITH_NEGATED_OPERATOR)

检查的结果包括以下消息:

"IfExists" is ignored when being used with an operator containing "Not". We recommend that you remove "IfExists". 

解决错误

当运算符包含Not时,如果您使用IfExists后缀,IfExists后缀会被忽略。我们推荐您删除IfExists后缀。

建议 - 冗余IfExists后缀(REDUNDANT_IF_EXISTS)

检查的结果包括以下消息:

"IfExists" is redundant when being used together with other condition operators that do not contain "IfExists" and "Not". We recommend that you remove "IfExists". 

解决错误

其他不带IfExists后缀且不包含Not的运算符期望对应条件键存在,使得IfExists后缀显得冗余。我们推荐您删除IfExists后缀。

建议 - 冗余Null条件运算符(REDUNDANT_NULL)

检查的结果包括以下消息:

The "Null" condition operator with the value of "false" is redundant when being used together with other condition operators that do not contain "IfExists" and "Not". We recommend that you remove "Null".

解决错误

值为false的Null条件运算符期望对应条件键存在,其他不带IfExists后缀且不包含Not的运算符同样期望对应条件键存在,因此Null条件运算符显得冗余。我们推荐您删除Null条件运算符。

建议 - 与Null冗余的IfExists后缀(REDUNDANT_IF_EXISTS_WITH_NULL)

检查的结果包括以下消息:

The "Null" condition operator with the value of "false" makes "IfExists" in other condition operators redundant. We recommend that you remove "IfExists". 

解决错误

值为false的Null条件运算符期望对应条件键存在,使得其他条件运算符中的IfExists后缀显得冗余。我们推荐您删除IfExists后缀。

建议 - 冗余条件运算符(REDUNDANT_OPERATOR)

检查的结果包括以下消息:

Without modifying anywhere else in the policy, just removing the condition key from the condition operator does not affect the policy. We recommend that you streamline the policy.

解决错误

综合考虑涉及该条件键的所有条件运算符及其条件值,在不修改其他内容的前提下,仅删除该条件运算符中的该条件键后,鉴权结果不会发生改变,因此不会影响策略。我们推荐您精简策略。

建议 - 可被Null替换的条件运算符(REDUNDANT_OPERATOR_REPLACED_BY_NULL)

检查的结果包括以下消息:

Without modifying anywhere else in the policy, just removing the condition key from the condition operator, and adding a "Null" condition operator with the value of "false" does not affect the policy. We recommend that you streamline the policy.

解决错误

综合考虑涉及该条件键的所有条件运算符及其条件值,在不修改其他内容的前提下,仅删除该条件运算符中的该条件键并补充值为false的Null条件运算符后,鉴权结果不会发生改变,因此不会影响策略。我们推荐您精简策略。在这里,需要额外补充值为false的Null条件运算符是为了确保指定条件键存在于请求上下文中。

建议 - 数组中的冗余条件值(REDUNDANT_CONDITION_VALUE_IN_ARRAY)

检查的结果包括以下消息:

Without modifying anywhere else in the policy, just removing the condition value indexed at {index} from the condition value array does not affect the policy. We recommend that you streamline the policy.

解决错误

综合考虑涉及该条件键的所有条件运算符及其条件值,在不修改其他内容的前提下,仅删除该条件值数组中的某一个条件值后,鉴权结果不会发生改变,因此不会影响策略。我们推荐您精简策略。

建议 - 冗余的私网IP地址(REDUNDANT_PRIVATE_IP_ADDRESS)

检查的结果包括以下消息:

The value of "g:SourceIp" contains private IP addresses. Update the value to include only public IP addresses. 

解决错误

您在条件键g:SourceIp的值中指定了私网地址。g:SourceIp指发起请求的源IP地址,专指来自公网的请求源IP。

如果您希望限制私网IP,请使用g:VpcSourceIp。

仅当请求是从VPC内部通过VPC Endpoint发起时,条件键g:VpcSourceIp有效。

建议 - 使用不推荐的运算符限制随机值(NOT_RECOMMENDED_OPERATOR_FOR_RANDOM_VALUE)

检查的结果包括以下消息:

You are not advised to use the condition key {operator} to restrict the randomly generated value. Use the operator "StringEquals" or "StringNotEquals" to specify the condition value. 

解决错误

不推荐您使用模糊匹配限制随机生成的值(例如:账号ID,组织ID,VPC ID和VPCEP ID),请使用运算符StringEquals、StringNotEquals精确限制条件值。

警告 - 空主体对象(EMPTY_OBJECT_PRINCIPAL)

检查的结果包括以下消息:

This statement includes no principals and does not affect the policy. Specify principals. 

解决错误

当您在策略的授权语句的主体元素中提供空对象时,该策略的授权语句对策略没有影响。

警告 - 无效的全局条件键(INVALID_GLOBAL_CONDITION_KEY)

检查的结果包括以下消息:

The global condition key {key} does not exist. Please use a valid global condition key. Did you mean {valid_key} ? 

解决错误

请更新条件键值对中的条件键以使用受支持的全局条件键。全局条件键是带有g:前缀的条件键。

警告 - 不具有通配语义的条件运算符(WILDCARD_WITHOUT_MATCH_OPERATOR)

检查的结果包括以下消息:

Your condition value includes a "*" or "?" character. If you meant to use a wildcard, update the condition operator to include "Match". If you are going to use "*" or "?", which are not wildcard. You are advised to use the standard format "${*}" or "${?}".

解决错误

Condition元素结构要求您使用条件运算符和键值对。

当您指定包含通配符的条件值时,必须使用包含Match的条件运算符。例如,请使用StringMatch,而不是StringEquals字符串条件运算符。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Allow",
		"Action": [
			"vpc:*"
		],
		"Condition": {
			"StringMatch": {
				"g:PrincipalOrgPath": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*"
			}
		}
	}]
}

如果您打算使用不具有通配意义的“*”或“?”,建议您使用标准格式:${*}或${?}。

警告 - 授权项不存在(INVALID_ACTION)

检查的结果包括以下消息:

The action {action} does not exist. Did you mean {valid_action} ? 

解决错误

您指定的授权项无效。格式为“服务名:资源类型:操作”。授权项支持通配符*和?,通配符*表示匹配任意个(包括零个)字符,通配符?表示匹配单个字符。

警告 - 使用NotResource创建服务关联委托(CREATE_SLA_WITH_NOT_RESOURCE)

检查的结果包括以下消息:

Using the "iam:agencies:createServiceLinkedAgencyV5" action with "NotResource" can allow creation of unintended service-linked agencies for multiple resources. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。在带有NotResource元素的策略中使用iam:agencies:createServiceLinkedAgencyV5可以允许为多个资源创建意外的服务关联委托。建议您在Resource元素中指定允许的URN。

警告 - 使用带有星号的授权项和NotResource创建服务关联委托(CREATE_SLA_WITH_STAR_IN_ACTION_AND_NOT_RESOURCE)

检查的结果包括以下消息:

Using an action with a wildcard "*" and "NotResource" can allow creation of unintended service-linked agencies because it can allow "iam:agencies:createServiceLinkedAgencyV5" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。使用包含通配符 (*) 的Action且包含NotResource元素的策略可以允许为多个资源创建意外的服务关联委托。建议您在Resource元素中指定允许的URN。

警告 - 使用NotAction和NotResource创建服务关联委托(CREATE_SLA_WITH_NOT_ACTION_AND_NOT_RESOURCE)

检查的结果包括以下消息:

Using "NotAction" with "NotResource" can allow creation of unintended service-linked agencies because it allows "iam:agencies:createServiceLinkedAgencyV5" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。将NotAction元素与NotResource元素搭配使用可以允许为多个资源创建意外的服务关联委托。建议您在Resource元素中指定允许的URN。您还可以将iam:agencies:createServiceLinkedAgencyV5添加到NotAction元素。

警告 - 允许所有资源创建服务关联委托(CREATE_SLA_WITH_STAR_IN_RESOURCE)

检查的结果包括以下消息:

Using the "iam:agencies:createServiceLinkedAgencyV5" action to allow all resources to be able to create unintended service-linked agencies. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。在仅包含通配符*的Resource元素的策略中使用iam:agencies:createServiceLinkedAgencyV5可以允许为多个资源创建意外的服务关联委托。策略中未指定Resource或NotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。

警告 - 使用带星号的授权项允许所有资源创建服务关联委托(CREATE_SLA_WITH_STAR_IN_ACTION_AND_RESOURCE)

检查的结果包括以下消息:

Using wildcards "*" in the action to allow all resources to be able to create unintended service-linked agencies because it allows "iam:agencies:createServiceLinkedAgencyV5" permissions on all resources. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。在Action和 Resource元素中带有通配符(*)的策略可以允许为多个资源创建意外的服务关联委托。例如,当您的授权项为*iam:*iam:agencies:*时会允许创建服务关联委托。策略中未指定ResourceNotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。

警告 - 使用NotAction允许所有资源创建服务关联委托(CREATE_SLA_WITH_STAR_IN_RESOURCE_AND_NOT_ACTION)

检查的结果包括以下消息:

Using "NotAction" to allow all resources to be able to create unintended service-linked agencies because it allows "iam:agencies:createServiceLinkedAgencyV5" permissions on all resources. We recommend that you specify resource URNs instead.

解决错误

使用iam:agencies:createServiceLinkedAgencyV5授予创建服务关联委托的权限,它允许云服务代表您执行操作。在带有包含通配符(*)的Resource元素的策略中使用NotAction元素可以允许为多个资源创建意外的服务关联委托。策略中未指定ResourceNotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。您还可以将iam:agencies:createServiceLinkedAgencyV5添加到NotAction元素。

警告 - 缺少授权项的条件键(MISSING_ACTION_FOR_CONDITION_KEY)

检查的结果包括以下消息:

There is a missing action to use with this condition key. Please enter an action to use with this condition key (For example {action}). 

解决错误

要确保策略中您指定的条件键有效,请将与该条件键搭配使用的授权项添加到Action元素。

警告 - 使用不支持的标签条件键允许授权项(ALLOW_ACTION_WITH_UNSUPPORTED_TAG_CONDITION_KEY)

检查的结果包括以下消息:

Using the effect Allow with the unsupported "g:ResourceTag" tag condition key does not affect the policy. It is recommended that you move this unsupported action to other statements which do not contain this tag condition key. 

解决错误

在带有"Effect": "Allow"的策略的授权语句中使用不支持的标签条件键可能不会影响策略,因为该标签条件键会被忽略。建议您删除不支持该标签条件键的授权项,并在另一条策略的授权语句中对资源允许这些授权项。

如果您使用g:ResourceTag条件键,并且授权项不支持该条件键,则该授权项会被忽略,不会影响策略。即使该资源被正确标记,也会被忽略。

当授权项支持g:ResourceTag条件键时,您可以使用标签来控制对该资源的访问。这称为基于属性的访问控制(ABAC)。不支持这些条件键的授权项需要您使用基于资源的访问控制(RBAC)来控制对资源的访问。

例如:假设您想给带有{"team": "engineering"}标签的VPC允许授予查询虚拟私有云详情权限和授予查询虚拟私有云列表权限。授予查询虚拟私有云列表权限的授权项不支持g:ResourceTag标签条件键,请将该授权项移至新的一条授权语句中,并指定需要授权的资源。

{
	"Version": "5.0",
	"Statement": [{
			"Effect": "Allow",
			"Action": [
				"vpc:vpcs:get"
			],
			"Resource": [
				"*"
			],
			"Condition": {
				"StringEquals": {
					"g:ResourceTag/team": "engineering"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"vpc:vpcs:list"
			],
			"Resource": [
				"vpc:*:123456789:vpc:11111111-d755-4538-0000-111111111111"
			]
		}
	]
}

警告 - 无效的条件键(INVALID_CONDITION_KEY)

检查的结果包括以下消息:

The condition key will never match the request context. Please delete this condition key. 

解决错误

与该条件键组合使用的所有授权项都包含在NotAction中,因此该条件键中的内容永远无法与上下文匹配,请删除该条件键。

警告 - 语义不清的条件值空数组(CONFUSING_PERMISSIVE_IN_EMPTY_ARRAY_CONDITION)

检查的结果包括以下消息:

When the value of the multi-valued condition key {key} is an empty array, the semantics may be unclear when it is used together with the "ForAnyValue" operator and the operator containing "Not". We recommend that you remove the condition key. 

解决错误

当运算符包含Not时,对于ForAnyValue:前缀,如果请求中的任意一个键值与策略中的至少一个值不匹配,则条件返回true;当请求中的条件键不存在时,条件返回 true。我们不建议您在条件键的值为空数组时,将其与ForAnyValue前缀以及包含Not的运算符结合使用,因为当键值解析为空数组时,条件返回false。请删除该条件键。

警告 - 无效的条件值空数组(INVALID_EMPTY_ARRAY_CONDITION)

检查的结果包括以下消息:

When the value of the condition key {key} is an empty array, this condition will never match the request context. Specify conditions. 

解决错误

Condition元素结构要求您使用条件运算符和键值对。条件键的值为空数组时,您的策略中的条件永远不会与请求上下文匹配。这表示语句永远不会生效。建议您重写条件。

警告 - 策略变量中键格式错误(INVALID_VARIABLE_KEY_FORMAT)

检查的结果包括以下消息:

The format of the key in the variable is invalid. Use valid conditional keys or special characters. 

解决错误

您可以在资源元素和条件元素的值中使用策略变量。策略变量将替换为来自请求中包含上下文信息的条件键的值。如果无法解析变量,可能会导致整个语句无效。您输入的策略变量中的条件键格式有误,请输入合法的条件键或特殊字符。

警告 - 策略变量中无效的全局条件键(INVALID_GLOBAL_CONDITION_KEY_IN_VARIABLE)

检查的结果包括以下消息:

The global condition key {key} in the policy variable does not exist. Use a valid global condition key. Did you mean {valid_key} ? 

解决错误

您可以在资源元素和条件元素的值中使用策略变量。策略变量将替换为来自请求中包含上下文信息的条件键的值。如果无法解析变量,可能会导致整个语句无效。请更新策略变量中的条件键以使用受支持的全局条件键。

警告 - 策略变量中无效的服务条件键(INVALID_SERVICE_CONDITION_KEY_IN_VARIABLE)

检查的结果包括以下消息:

The service condition key {key} in the policy variable does not exist. Use a valid service condition key. Did you mean {valid_key} ? 

解决错误

您可以在资源元素和条件元素的值中使用策略变量。策略变量将替换为来自请求中包含上下文信息的条件键的值。如果无法解析变量,可能会导致整个语句无效。请更新策略变量中的条件键以使用受支持的服务条件键。

警告 - 策略变量中无效的多值条件键(INVALID_MULTIVALUED_CONDITION_KEY_IN_VARIABLE)

检查的结果包括以下消息:

The condition key {key} in the variable is a multi-value condition key. Multi-value condition keys are not supported in the variable. Modify the variable. 

解决错误

您可以在资源元素和条件元素的值中使用策略变量。策略变量将替换为来自请求中包含上下文信息的条件键的值。如果无法解析变量,可能会导致整个语句无效。策略变量中只能使用单值条件键。请更新策略变量中的条件键以使用受支持的单值条件键。

警告 - 冗余的策略变量键(REDUNDANT_VARIABLE_KEY_WITH_DEFAULT)

检查的结果包括以下消息:

The key in the variable {key} will never match the request context. Remove the variable and use the default value you specify.

解决错误

您可以在资源元素和条件元素的值中使用策略变量。策略变量将替换为来自请求中包含上下文信息的条件键的值。如果无法解析变量,可能会导致整个语句无效。您的策略变量永远不会匹配,该策略变量永远解析为默认值,请将此策略变量修改为您指定的默认值。

警告 - 与Null冲突的条件运算符(CONFLICTING_OPERATOR_WITH_NULL)

检查的结果包括以下消息:

The "Null" condition operator with the value of "true" conflicts with other condition operators. Remove the conflicting condition operators.

解决错误

值为true的Null条件运算符期望对应条件键不存在,而其他条件运算符期望对应条件键存在,因此它们表达的语义存在冲突。请删除冲突的条件运算符。

警告 - 无效的条件组合(INVALID_CONDITION_COMBINATION)

检查的结果包括以下消息:

When the condition key {key} exists, the combination of conditions about it will never match the request context. Use a valid combination of conditions. 

解决错误

当指定的条件键存在于请求上下文中时,如果使得您指定的多个条件同时满足的情况不存在,那么这些条件组合在一起将永远不会与请求上下文匹配。例如:您要求当前的日期g:CurrentTime在2024-01-01T08:00:00Z之前,但是同时又要求它在2024-01-01T09:00:00Z之后,这样的条件组合就是无效的。请使用有效的条件组合。

警告 - 服务主体不建议使用的条件键(NOT_RECOMMENDED_CONDITION_KEY_FOR_SERVICE_PRINCIPAL)

检查的结果包括以下消息:

The condition key {condition_key} is not recommended when the principal is a service principal. Remove the condition key. 

解决错误

由于各云服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务信任委托,将操作权限委托给该服务,让该服务以您的身份使用其他云服务,代替您进行一些资源运维工作。您可以在信任策略中指定某个云服务为主体,您不能使用某些条件键限制服务主体,请在信任策略中删除这些条件键。

警告 - 在拒绝语句的Action中使用别名(USING_ALIAS_IN_ACTION_OF_DENY_STATEMENT)

检查的结果包括以下消息:

When the alias {alias} of the action {action} is included in "Action" of a deny statement, please note that action {action} will also be denied. 

解决错误

出于规范命名或者对原权限进行拆分细化等原因,一部分授权项进行了重命名。为了在策略中兼容使用重命名之前的授权项,这些原来的授权项在系统中被注册为重命名后的授权项的别名。

对于Effect: Deny的策略语句,如果某条授权项本体或它的任意一条别名能够匹配Action元素中的任意一个模式串,那么该授权项将被视作拒绝。

例如,vpc:vpcs:create是eip:vpcIgws:create的别名,下面展示的策略也将拒绝授权项eip:vpcIgws:create。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Deny",
		"Action": [
			"vpc:vpcs:create"
		]
	}]
}

警告 - 在允许语句中使用NotAction排除别名(EXCLUDING_ALIAS_WITH_NOT_ACTION_IN_ALLOW_STATEMENT)

检查的结果包括以下消息:

When the alias {alias} of the action {action} is excluded with "NotAction" of an allow statement, action {action} will also be excluded. If it is not your intended authorization, please specify the action {action} in "Action" of other allow statements to grant permission. 

解决错误

出于规范命名或者对原权限进行拆分细化等原因,一部分授权项进行了重命名。为了在策略中兼容使用重命名之前的授权项,这些原来的授权项在系统中被注册为重命名后的授权项的别名。

对于Effect: Allow的策略语句,如果某条授权项本体或它的任意一条别名能够匹配NotAction元素中的任意一个模式串,那么该授权项将不会被视作允许。

例如,vpc:vpcs:create是eip:vpcIgws:create的别名,下面展示的策略也将排除授权项eip:vpcIgws:create。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Allow",
		"NotAction": [
			"vpc:vpcs:create"
		]
	}]
}

如果排除授权项eip:vpcIgws:create不是您的预期授权,请在其他允许语句的Action中指定该授权项。

{
	"Version": "5.0",
	"Statement": [{
			"Effect": "Allow",
			"NotAction": [
				"vpc:vpcs:create"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"eip:vpcIgws:create"
			]
		}
	]
}

警告 - 不支持的服务(UNSUPPORTED_SERVICE)

检查的结果包括以下消息:

The service {service} in {key} does not exist. Use a valid service name. Did you mean {valid_service} ?

解决错误

条件键和资源中的服务名必须和某一云服务匹配,请输入合法的服务名。

警告 - 授权项中不支持的服务(UNSUPPORTED_SERVICE_IN_ACTION)

检查的结果包括以下消息:

The service {service} specified in the action {action} does not exist. Use a valid service name. Did you mean {valid_service} ?

解决错误

授权项中的服务名必须和某一云服务匹配,请输入合法的服务名。

警告 - 已废弃的运算符(DEPRECATED_OPERATOR)

检查的结果包括以下消息:

StringLike and StringNotLike are deprecated operators, if you want to use wildcard, please use StringMatch or StringNotMatch instead.

解决错误

StringLike 运算符的含义是包含某个连续子串,不区分大小写,建议您使用 StringMatch 和通配符的组合替代 StringLike。

使用 StringLike 的策略:
"StringLike": {
    "g:DomainName": "zhuzhu"
}
可修改成使用 StringMatch 的策略:
"StringMatch": {
    "g:DomainName": "*zhuzhu*"
}

警告 - 不支持“g:RequestedRegion” 的授权项(ACTION_WITH_UNSUPPORTED_REQUESTED_REGION)

检查的结果包括以下消息:

This action does not support use with "g:RequestedRegion". It is recommended that you move this unsupported action to other statements which do not contain this condition key.

解决错误

该授权项不支持和 g:RequestedRegion 搭配使用。建议您将这条不支持的授权项移至不包含此条件键的其他语句中。

安全警告 - 使用NotResource传递委托或信任委托(PASS_AGENCY_WITH_NOT_RESOURCE)

检查的结果包括以下消息:

Using the "iam:agencies:pass" action with "NotResource" can be overly permissive because it can allow "iam:agencies:pass" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。在带有NotResource元素的策略中使用iam:agencies:pass可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。建议您在Resource元素中指定允许的URN。

安全警告 - 使用带有星号的授权项和NotResource传递委托或信任委托(PASS_AGENCY_WITH_STAR_IN_ACTION_AND_NOT_RESOURCE)

检查的结果包括以下消息:

Using an action with a wildcard "*" and "NotResource" can be overly permissive because it can allow "iam:agencies:pass" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。在Action中使用通配符*且包含NotResource元素的策略可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。建议您在Resource元素中指定允许的URN。

安全警告 - 使用NotAction和NotResource传递委托或信任委托(PASS_AGENCY_WITH_NOT_ACTION_AND_NOT_RESOURCE)

检查的结果包括以下消息:

Using "NotAction" with "NotResource" can be overly permissive because it can allow "iam:agencies:pass" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。使用NotAction元素并列出NotResource元素中的一些资源可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。建议您在Resource元素中指定允许的URN。

安全警告 - 允许所有资源传递委托或信任委托(PASS_AGENCY_WITH_STAR_IN_RESOURCE)

检查的结果包括以下消息:

Using the "iam:agencies:pass" action for all resources can be overly permissive because it allows "iam:agencies:pass" permissions on multiple resources. We recommend that you specify resource URNs instead.

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。允许iam:agencies:pass且在Resource元素中仅包含通配符 * 的策略可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。策略中未指定Resource或NotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。

安全警告 - 使用带星号的授权项允许所有资源传递委托或信任委托(PASS_AGENCY_WITH_STAR_IN_ACTION_AND_RESOURCE)

检查的结果包括以下消息:

Using wildcards "*" in the action for all resources can be overly permissive because it allows "iam:agencies:pass" permissions on all resources. We recommend that you specify resource URNs .

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。在Action中带有通配符 * 且在Resource元素中仅包含通配符 * 的策略可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。策略中未指定Resource或NotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。

安全警告 - 使用NotAction允许所有资源传递委托或信任委托(PASS_AGENCY_WITH_STAR_IN_RESOURCE_AND_NOT_ACTION)

检查的结果包括以下消息:

Allow all resources with "NotAction" can be overly permissive because it allows "iam:agencies:pass" permissions on all resources. We recommend that you specify resource URNs instead.

解决错误

要配置多项云服务,您必须将IAM委托或信任委托传递给相应服务。要执行此操作,您必须将iam:agencies:pass授权项附加至IAM身份(IAM用户、用户组、委托或信任委托)。在策略中使用NotAction元素且在Resource元素中仅包含通配符 * 可以允许对应的主体(IAM用户、委托或信任委托)访问比您预期更多的服务或功能。策略中未指定Resource或NotResource元素时,默认包含所有资源。建议您在Resource元素中指定允许的URN。

安全警告 - 使用ForAllValues的单值条件键(FORALLVALUES_WITH_SINGLE_VALUED_KEY)

检查的结果包括以下消息:

The condition key {key} is a single-valued condition key. It can be overly permissive with condition qualifier "ForAllValues". We recommend that you remove "ForAllValues:".

解决错误

对于除Null运算符之外的所有运算符,可以在其前面添加ForAllValues:或ForAnyValue:前缀,来表示集合运算。对于策略中的多值条件属性,请在运算符前加入上述前缀进行比较。

对于ForAllValues:前缀,如果请求中的每个键值都与策略中的至少一个值匹配,则条件返回true。当键值解析为空数组时,条件返回true。不建议在单值条件属性使用此前缀,因为当请求中的条件键不存在时,返回值与运算符是否包含IfExists和Not有关。

安全警告 - 使用不支持的标签条件键拒绝授权项(DENY_ACTION_WITH_UNSUPPORTED_TAG_CONDITION_KEY)

检查的结果包括以下消息:

Deny action with unsupported "g:ResourceTag" tag condition key does not affect the policy. It is recommended that you move this unsupported action to other statements which does not contain this tag condition key. 

解决错误

在带有"Effect": "Deny"的策略的授权语句中使用不支持的标签条件键可能会过于宽松,因为该标签条件键会被忽略。建议您删除不支持该标签条件键的授权项,并在另一条策略的授权语句中对资源拒绝这些授权项。

如果您使用g:ResourceTag条件键,并且授权项不支持该条件键,则该授权项会被忽略,不会影响策略。即使该资源被正确标记,也会被忽略。

当授权项支持g:ResourceTag条件键时,您可以使用标签来控制对该资源的访问。这称为基于属性的访问控制(ABAC)。不支持这些条件键的授权项需要您使用基于资源的访问控制(RBAC)来控制对资源的访问。

例如:假设您想给带有{"team": "engineering"}标签的VPC拒绝授予查询虚拟私有云详情权限和授予查询虚拟私有云列表权限。授予查询虚拟私有云列表权限的授权项不支持g:ResourceTag标签条件键,请将该授权项移至新的一条授权语句中,并指定需要授权的资源。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Deny",
		"Action": ["vpc:vpcs:get"],
		"Resource": ["*"],
		"Condition": {
			"StringEquals": {
				"g:ResourceTag/team": "engineering"
			}
		}
	}, {
		"Effect": "Deny",
		"Action": ["vpc:vpcs:list"],
		"Resource": ["vpc:*:123456789:vpc:11111111-d755-4538-0000-111111111111"]
	}]
}

安全警告 - 限制对服务主体的访问(RESTRICT_ACCESS_TO_SERVICE_PRINCIPAL)

检查的结果包括以下消息:

Granting access to a service principal of unknown source is overly permissive. Restrict the source by using condition keys like "g:SourceAccount" or "g:SourceUrn" to grant fine-grained access. 

解决错误

您可以在资源策略的Principal元素的Service主体键中指定服务主体,授予对应云服务代表您执行操作的权限。您可以通过条件键g:SourceAccount或g:SourceUrn限制访问来避免过于宽松的策略,防止混淆代理人问题。

安全警告 - 过于宽松的条件值空数组(OVERLY_PERMISSIVE_IN_EMPTY_ARRAY_CONDITION)

检查的结果包括以下消息:

When the value of the multi-valued condition key {key} is an empty array, the combination of "ForAllValues" and operators that do not contain "Not" may be overly permissive. We recommend that you delete the condition key. 

解决错误

当运算符不包含Not时,对于ForAllValues:前缀,如果请求中的每个键值都与策略中的至少一个值匹配,则条件返回true;当请求中的条件键不存在时,返回值与操作符是否包含IfExists有关。我们不建议您在条件键的值为空数组时,将其与ForAllValues前缀以及不包含Not的运算符结合使用,因为当键值解析为空数组时,条件返回true。建议删除该条件键;如果要测试请求上下文是否为空,请使用Null条件运算符。

安全警告 - 缺少配对的条件键(MISSING_PAIRED_CONDITION_KEYS)

检查的结果包括以下消息:

When the condition key {paired_condition_key} is not used, it can be overly permissive to use {condition_key} alone. When used with a related condition key, such condition key is safer. It is recommended that you add related condition keys. 

解决错误

一些条件键和其他条件键搭配使用时可能会更加安全。建议您将相关条件键写在与现有条件键相同的条件块中。这使得通过该策略授予的权限更加安全。例如:如果您使用g:VpcSourceIp限制来自VPC的请求,推荐您添加g:SourceVpc或g:SourceVpce来进一步限制,这会使得通过该策略授予的权限更加安全。

仅当请求是从VPC内部通过VPC Endpoint发起时,条件键g:VpcSourceIp、g:SourceVpc和g:SourceVpce有效。

安全警告 - 在允许语句的Action中使用别名(USING_ALIAS_IN_ACTION_OF_ALLOW_STATEMENT)

检查的结果包括以下消息:

When the alias {alias} of the action {action} is included in "Action" of an allow statement, action {action} will also be allowed. If it is not your intended authorization, please specify the action {action} in "Action" of other deny statements to deny unintended authorization. 

解决错误

出于规范命名或者对原权限进行拆分细化等原因,一部分授权项进行了重命名。为了在策略中兼容使用重命名之前的授权项,这些原来的授权项在系统中被注册为重命名后的授权项的别名。

对于Effect: Allow的策略语句,如果某条授权项本体或它的任意一条别名能够匹配Action元素中的任意一个模式串,那么该授权项将被视作允许。

例如,vpc:vpcs:create是eip:vpcIgws:create的别名,下面展示的策略也将允许授权项eip:vpcIgws:create。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Allow",
		"Action": [
			"vpc:vpcs:create"
		]
	}]
}

如果允许授权项eip:vpcIgws:create不是您的预期授权,请在其他拒绝语句的Action中指定该授权项。

{
	"Version": "5.0",
	"Statement": [{
			"Effect": "Allow",
			"Action": [
				"vpc:vpcs:create"
			]
		},
		{
			"Effect": "Deny",
			"Action": [
				"eip:vpcIgws:create"
			]
		}
	]
}

Effect: Deny的策略语句显式授予拒绝指令,为显式拒绝;没有被Effect: Allow的策略语句允许的场景为隐式拒绝。因为别名的原因,原来的隐式拒绝失效,需要使用显式拒绝来拒绝非预期的授权项。

安全警告 - 在拒绝语句中使用NotAction排除别名(EXCLUDING_ALIAS_WITH_NOT_ACTION_IN_DENY_STATEMENT)

检查的结果包括以下消息:

When the alias {alias} of the action {action} is excluded with "NotAction" of a deny statement, action {action} will also be excluded. If it is not your intended authorization, please specify the action {action} in "Action" of other deny statements to deny unintended authorization. 

解决错误

出于规范命名或者对原权限进行拆分细化等原因,一部分授权项进行了重命名。为了在策略中兼容使用重命名之前的授权项,这些原来的授权项在系统中被注册为重命名后的授权项的别名。

对于Effect: Deny的策略语句,如果某条授权项本体或它的任意一条别名能够匹配NotAction元素中的任意一个模式串,那么该授权项将不会被视作拒绝。

例如,vpc:vpcs:create是eip:vpcIgws:create的别名,下面展示的策略也将排除授权项eip:vpcIgws:create。

{
	"Version": "5.0",
	"Statement": [{
		"Effect": "Deny",
		"NotAction": [
			"vpc:vpcs:create"
		]
	}]
}

如果排除授权项eip:vpcIgws:create不是您的预期授权,请在其他拒绝语句的Action中指定该授权项。

{
	"Version": "5.0",
	"Statement": [{
			"Effect": "Deny",
			"NotAction": [
				"vpc:vpcs:create"
			]
		},
		{
			"Effect": "Deny",
			"Action": [
				"eip:vpcIgws:create"
			]
		}
	]
}