更新时间:2024-06-21 GMT+08:00
分享

SCP示例

本章节为您介绍SCP的常用示例,包含如下内容:

阻止成员账号退出组织

使用以下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":"regionid1"
                 }
             }
         }
     ]
 }

禁止共享到组织外

使用以下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",
      "NotAction": [
        "iam:*:*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "Bool": {
          "g:PrincipalIsRootUser": [
            "true"
          ]
        }
      }
    }
  ]
}

阻止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】
          ]
        }
      }
    }
  ]
}

相关文档