
# SCP常见问题
Organizations的服务控制策略（SCP）与IAM策略的语法类似，并使用相同的JSON格式语法，详细信息请参见[SCP语法介绍](https://support.huaweicloud.com/usermanual-organizations/org_03_0033.html)。
创建SCP时的常见策略语法问题如下：
- [多个策略对象]
- [多个Statement元素]
- [策略长度超出限制]
 #### 多个策略对象
一个SCP必须包含一个并且只能包含一个JSON对象。通过在两旁放置的大括号"{ }"来表示对象。虽然您可以插入额外的大括号"{ }"在JSON对象中嵌套其他对象，但是一个策略只能包含一个最外层的"{ }"括号对。以下为错误示例，因为它包含了两个JSON对象（两个最外层"{ }"括号对）：
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:*:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
{
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "vpc:*:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```
但是，您可以通过使用正确的策略语法来实现上面示例的意图，将两个数据块合并到单个Statement元素中，而不是包含两个完整的策略对象（每个都有自己的Statement元素）。Statement元素将两个对象组成的数组作为其值，示例如下：
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:*:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "vpc:*:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```
如上示例无法进一步压缩到带一个元素的Statement中，因为两个元素具有不同的作用（Effect）。通常情况下，您只能在每个语句中的Effect和Resource元素相同时组合语句。
 #### 多个Statement元素
如下示例中的错误看起来可能是上一节中错误的变体，但是从语法上来看，它是一种不同类型的错误。如下示例中只有一个策略对象，如最外层的"{ }"括号对所表示，但是该策略对象中包含两个Statement元素。
一个SCP只能只包含一个Statement元素，Statement元素的值必须是对象，以"{ }"括号表示，其中包含一个Effect元素、一个Action元素、一个Resource元素和一个可选的Condition元素。如下示例中的策略对象包含了两个Statement元素，因此是错误的。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:*:*"
      ],
      "Resource": [
        "*"
      ]
    },
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "vpc:*:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```
Statement元素的值必须是对象，但值对象可以是多个值对象组成的数组，因此可以通过将两个Statement元素合并为一个具有对象数组的元素来解决此问题，例如下方示例中，Statement元素的值是对象数组，数组中包含两个对象，每个对象都是Statement元素的正确值，数组中的每个对象之间用逗号隔开。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:*:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "vpc:*:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```
 #### 策略长度超出限制
SCP内容的最大长度为5120个字符，包括所有字符和空格。如需缩减SCP的大小，您可以删除引号之外的所有空白字符（如空格和换行符）。
