Я хочу создать политику, позволяющую пользователю или роли IAM создавать набор ресурсов (например, экземпляры EC2), а затем управлять (удалять, обновлять и т. Д.) ТОЛЬКО этими ресурсами. Надеюсь, я смогу выполнить это с использованием переменных IAM, подстановочных знаков и/или условий, но я не уверен, как это сделать.Администратор AWS Policy Limited
Моя политика будет выглядеть как этот идеально
{
"Effect": "Allow",
"Action": [
"ec2:*"
],
"Condition": [
{ "Created_By_The_Instance_Profile_In_The_CFN_Stack_That_Created_The_EC2Instance}" }
]
}
Кроме того, что если я хочу, чтобы предоставить профиль экземпляра EC2, чтобы сделать SSM: CreateAssociation для ССМ документа, который был создан в том же стеке, как EC2 сам экземпляр? Другими словами, у меня есть стек с экземпляром EC2 и профиль экземпляра IAM, роль IAM и документ SSM, и я хочу, чтобы экземпляр EC2 был создан при запуске через UserData. Пользователь, который запускает стек, должен иметь доступ для создания этих ресурсов, но НЕ создавать новые политики (фактически делая их администратором). Я хочу заранее создать роль + политика и предоставить создателю стека возможность присоединить эту роль к роли профиля экземпляра IAM, которую он создает.
Так, раньше времени, я (администратор), создать политику, и роль такой
"DeployerRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com",
"lambda.amazonaws.com"
],
"AWS": "*"
},
"Action": [
"sts:AssumeRole"
]
}
]
}
}
},
"PolicyManagerPolicy": {
"Type": "AWS::IAM::ManagedPolicy",
"Properties": {
"Description": "Allows CFN deployer to attach and detach required policies.",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:DetachRolePolicy"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"iam:PolicyArn": [
"The_Policy_Arn_I_Want_To_Create"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateRole"
],
"Resource": "*"
}
]
},
"Roles": [ { "Ref": "DeployerRole" } ]
}
}
The «ограниченный администратор» Deployer (СИА пользователя в DeployerRole) должны быть в состоянии начать стек, содержащий:
- EC2 Instance
- IAM Instance Профиль
- IAM Роль
- SSM Документ
мне нужно The_Policy_Arn_I_Want_To_Create к:
- Разрешить ТОЛЬКО EC2 экземпляр, созданный в стеке, чтобы иметь возможность CreateAssociation ТОЛЬКО с Документом SSM, созданного в стеке. Использование тегов в порядке, но поскольку ресурс для документа SSM не сможет использовать теги, как я могу это сделать?
См. обновленный вопрос пожалуйста – Jeff