
# SCP配置示例
本章节为您介绍SCP的常用示例，包含如下内容：
- [阻止成员账号退出组织]
- [阻止根用户的服务访问]
- [禁止创建带有指定标签的资源]
- [禁止访问指定区域的资源]
- [禁止共享到组织外]
- [禁止共享指定类型的资源]
- [禁止组织内账号给组织外的账号进行聚合授权]
- [阻止IAM用户和委托进行某些修改]
- [阻止IAM用户和委托进行某些修改，但指定的账号除外]
- [阻止IAM用户和委托进行某些修改，但指定的委托除外]
- [使用NotResource，除指定的ecs实例外，阻止对其他ecs实例的启动]
 #### 阻止成员账号退出组织
使用以下SCP阻止成员账号主动退出组织。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "organizations:organizations:leave"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```
 #### 阻止根用户的服务访问
使用以下SCP禁止成员账号使用根用户执行指定的操作。您可以根据需要修改SCP语句中的操作（Action）和资源类型（Resource）。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:*:*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "BoolIfExists": {
          "g:PrincipalIsRootUser": "true"
        }
      }
    }
  ]
}
```
 #### 禁止创建带有指定标签的资源
如下SCP表示禁止用户创建带有 {"team": "engineering"} 标签的资源共享实例。您可以根据需要修改SCP语句中的操作（Action）、资源类型（Resource）和条件（Condition）。
```
{
     "Version":"5.0",
     "Statement":[
         {
             "Effect":"Deny",
             "Action":["ram:resourceShares:create"],
             "Resource":["*"],
             "Condition":{
                 "StringEquals":{
                     "g:RequestTag/team":"engineering"
                 }
             }
         }
     ]
 }
```
 #### 禁止访问指定区域的资源
如下SCP表示禁止用户访问"regionid1"区域的ECS服务的全部资源。您可以根据需要修改SCP语句中的操作（Action）、资源类型（Resource）和条件（Condition）。
此SCP仅适用于区域级服务，SCP中的"regionid1"仅为区域示例，使用时请填入具体区域ID。
```
{
     "Version":"5.0",
     "Statement":[
         {
             "Effect":"Deny",
             "Action":["ecs:*:*"],
             "Resource":["*"],
             "Condition":{
                 "StringEquals":{
                     "g:RequestedRegion":"ap-southeast-1"
                 }
             }
         }
     ]
 }
```
 #### 禁止共享到组织外
使用以下SCP禁止本组织内的账号给组织外账号共享资源。此SCP建议绑定至组织的根OU，使其对整个组织生效。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ram:resourceShares:create",
        "ram:resourceShares:associate"
 
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ForAnyValue:StringNotLike": {
          "ram:TargetOrgPaths": [
            "organization_id/root_id/ou_id"【备注：此处需填写组织的路径ID】
          ]
        }
      }
    }
  ]
}
```
 #### 禁止共享指定类型的资源
使用以下SCP禁止用户共享VPC子网资源。您可以根据需要修改SCP语句条件键（Condition）元素中的资源类型。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ram:resourceShares:create"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ForAnyValue:StringEquals": {
          "ram:RequestedResourceType": [
            "vpc:subnet"【备注：可根据需要修改此处的资源类型】
          ]
        }
      }
    }
  ]
}
```
 #### 禁止组织内账号给组织外的账号进行聚合授权
使用以下SCP禁止本组织内账号给组织外的账号进行聚合授权。此SCP建议绑定至组织的根OU，使组织外账号无法获取组织内账号下的资源清单信息。您也可以将此SCP绑定给接受授权的账号（源账号），禁止该账号接受来自聚合器账号的授权请求。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "rms:aggregationAuthorizations:create"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotMatch": {
          "rms:AuthorizedAccountOrgPath": [
            "organization_id/root_id/ou_id"【备注：此处需填写组织的路径ID】
          ]
        }
      }
    }
  ]
}
```
 #### 阻止IAM用户和委托进行某些修改
使用此SCP阻止IAM用户和委托对组织内所有账号创建的资源共享进行修改。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ram:resourceShares:update",
        "ram:resourceShares:delete",
        "ram:resourceShares:associate",
        "ram:resourceShares:disassociate",
        "ram:resourceShares:associatePermission",
        "ram:resourceShares:disassociatePermission"
      ],
      "Resource": [
        "ram::*:resourceShare:resource-id"
      ]
    }
  ]
}
```
 #### 阻止IAM用户和委托进行某些修改，但指定的账号除外
使用此SCP阻止IAM用户和委托对组织内所有账号创建的资源共享进行修改，但指定的账号除外。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ram:resourceShares:update",
        "ram:resourceShares:delete",
        "ram:resourceShares:associate",
        "ram:resourceShares:disassociate",
        "ram:resourceShares:associatePermission",
        "ram:resourceShares:disassociatePermission"
      ],
      "Resource": [
        "ram::*:resourceShare:resource-id"
      ],
      "Condition": {
        "StringNotEquals": {
          "g:DomainId": [
            "account-id"【备注：此处需填写排除账号的ID】
          ]
        }
      }
    }
  ]
}
```
 #### 阻止IAM用户和委托进行某些修改，但指定的委托除外
使用此SCP阻止IAM用户和委托对组织内所有账号创建的资源共享进行修改，但指定的委托除外。
```
{
   "Version": "5.0",
   "Statement": [
     {
       "Effect": "Deny",
       "Action": [
         "ram:resourceShares:create"
       ],
       "Resource": [
         "*"
       ],
       "Condition": {
         "StringNotMatch": {
           "g:PrincipalUrn": "sts::*:assumed-agency:AgencyName/*"
         }
       }
     }
   ]
 }
```
 #### 使用NotResource，除指定的ecs实例外，阻止对其他ecs实例的启动
如下SCP表示禁止启动除ecs:\*:8c1eef3a241xxxxxxxxx3a6b0252e783:instance:test-ecs外的其他ecs实例，通过NotResource将ecs:\*:8c1eef3a241xxxxxxxxx3a6b0252e783:instance:test-ecs排除在外。
```
{
  "Version": "5.0",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ecs:cloudServers:start"
      ],
      "NotResource": [
        "ecs:*:8c1eef3a241xxxxxxxxx3a6b0252e783:instance:test-ecs"
      ]
    }
  ]
}
```
