AWS 组织(AWS Organization)是一项用于管理多个 AWS 账号的功能。而 SCP(服务控制策略)是 AWS 组织中用于限制账号权限的策略。下面是一个示例,展示如何创建 SCP 策略和成员根帐号。
import boto3
import json
# 创建 SCP 策略
def create_scp_policy(policy_name, policy_content):
client = boto3.client('organizations')
response = client.create_policy(
Content=policy_content,
Description='SCP policy',
Name=policy_name,
Type='SERVICE_CONTROL_POLICY'
)
return response['Policy']['PolicySummary']['Id']
# 示例策略内容
policy_content = {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStatementSid",
"Effect": "Deny",
"Action": "*",
"Resource": "*"
}
]
}
policy_content_json = json.dumps(policy_content)
# 创建 SCP 策略并获取其 ID
policy_id = create_scp_policy('ExamplePolicy', policy_content_json)
print(f'SCP Policy ID: {policy_id}')
import boto3
# 将 SCP 策略应用到成员根帐号
def attach_scp_policy(policy_id, target_id):
client = boto3.client('organizations')
response = client.attach_policy(
PolicyId=policy_id,
TargetId=target_id
)
return response
# 成员根帐号 ID
target_id = 'YOUR_ROOT_ACCOUNT_ID'
# 将 SCP 策略应用到成员根帐号
response = attach_scp_policy('YOUR_POLICY_ID', target_id)
print(response)
以上示例代码使用了 AWS SDK for Python(Boto3)。在运行代码之前,请确保已正确配置 AWS 凭证,并且已安装了 Boto3 库。在示例代码中,需要替换相应的参数,如 YOUR_ROOT_ACCOUNT_ID
和 YOUR_POLICY_ID
,以适应实际情况。