Надеясь, что кто-то может помочь мне правильно настроить мой SCP в рамках AWS Организации. Я пригласил две организации в Организацию, создал две OU - ProdOU и DevOU.
Я назначил одну учетную запись для каждой OU. Я попытался прикрепить политику DENY, чтобы предотвратить запуск экземпляров EC2, отличных от t2.micro.
Пожалуйста, смотрите вывод CLI ниже. Я подключил SCP к DevOU, но все еще могу запускать экземпляры t2.nano. Политика, похоже, не срабатывает по какой-то причине.
Любая помощь будет принята с благодарностью. Возможно, я где-то пропустил этап настройки.
Спасибо
$ aws organizations list-roots
{
"Roots": [
{
"Id": "r-nmg6",
"Arn": "arn:aws:organizations::xxxxxxxxx:root/o-xxxxxxxx/r-nmg6",
"Name": "Root",
"PolicyTypes": [
{
"Type": "TAG_POLICY",
"Status": "ENABLED"
},
{
"Type": "SERVICE_CONTROL_POLICY",
"Status": "ENABLED"
}
]
}
]
}
$ aws organizations list-organizational-units-for-parent --parent-id r-nmg6
{
"OrganizationalUnits": [
{
"Id": "ou-nmg6-xxxx",
"Arn": "arn:aws:organizations::xxxxxx:ou/o-xxxxx/ou-nmg6-xxxxxx4",
"Name": "ProdOU"
},
{
"Id": "ou-nmg6-yyyy",
"Arn": "arn:aws:organizations::xxxxxx:ou/o-xxxxx/ou-nmg6-xxxxxx7",
"Name": "DevOU"
}
]
}
$ aws organizations list-accounts-for-parent --parent-id ou-nmg6-xxxxxx7
{
"Accounts": [
{
"Id": "ou-nmg6-xxxxxx7",
"Arn": "arn:aws:organizations::xxxxxxxxx:account/o-xxxxxxx/xxxxxxx",
"Email": "xxxxxx@gmail.com",
"Name": "xx.aws",
"Status": "ACTIVE",
"JoinedMethod": "INVITED",
"JoinedTimestamp": "2020-04-09T14:20:27.088000+01:00"
}
]
}
$ aws organizations list-policies-for-target --filter SERVICE_CONTROL_POLICY --target-id ou-nmg6-xxxxxx7
{
"Policies": [
{
"Id": "p-xxxxxxxxxxx",
"Arn": "arn:aws:organizations::xxxxxxxxxxxxx:policy/o-xxxxxxxxxxxx/service_control_policy/p-xxxxxxxxxx",
"Name": "DenyNonT2Micro",
"Description": "Only t2.micro",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
{
"Id": "p-FullAWSAccess",
"Arn": "arn:aws:organizations::aws:policy/service_control_policy/p-FullAWSAccess",
"Name": "FullAWSAccess",
"Description": "Allows access to every operation",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": true
}
]
}
$ aws organizations describe-policy --policy-id p-xxxxxxxxxx
{
"Policy": {
"PolicySummary": {
"Id": "p-xxxxxxx",
"Arn": "arn:aws:organizations::xxxxxxxxx:policy/o-xxxx/service_control_policy/xxxxxxxxx",
"Name": "DenyNonT2Micro",
"Description": "Only t2.micro",
"Type": "SERVICE_CONTROL_POLICY",
"AwsManaged": false
},
"Content": "{\n \"Version\": \"2012-10-17\",
\n \"Statement\": [\n {\n \"Sid\": \"RequireMicroInstanceType\",
\n \"Effect\": \"Deny\",
\n \"Action\": \"ec2:RunInstances\",
\n \"Resource\": \"arn:aws:ec2:*:*:instance/*\",
\n \"Condition\":
{\n \"StringNotEquals\":{
\t\n \"ec2:InstanceType\":\"t2.micro\"\n
}\n }\n }\n ]\n} "
}
}