seahaven-org-baseline/lib/hcptf-bootstrap/scoped-apply-iam.json.tmpl

142 lines
4 KiB
Cheetah
Raw Normal View History

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyCreatePolicy",
"Effect": "Deny",
"Action": [
"iam:CreatePolicy",
"iam:CreatePolicyVersion"
],
"Resource": "*"
},
{
"Sid": "CreateExecRoleWithBoundary",
"Effect": "Allow",
"Action": "iam:CreateRole",
"Resource": "arn:aws:iam::__ACCOUNT_ID__:role/tf-managed/__STACK_PREFIX__*",
"Condition": {
"StringLike": {
"iam:PermissionsBoundary": [
"arn:aws:iam::__ACCOUNT_ID__:policy/tf-managed/__STACK_PREFIX__*",
"arn:aws:iam::__ACCOUNT_ID__:policy/seahaven-lambda-execution-boundary",
"arn:aws:iam::__ACCOUNT_ID__:policy/seahaven-lambda-execution-boundary-__STACK_NAME__"
]
}
}
},
{
"Sid": "MutateExecRoleWithBoundary",
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"iam:PutRolePermissionsBoundary"
],
"Resource": "arn:aws:iam::__ACCOUNT_ID__:role/tf-managed/__STACK_PREFIX__*",
"Condition": {
"StringLike": {
"iam:PermissionsBoundary": [
"arn:aws:iam::__ACCOUNT_ID__:policy/tf-managed/__STACK_PREFIX__*",
"arn:aws:iam::__ACCOUNT_ID__:policy/seahaven-lambda-execution-boundary",
"arn:aws:iam::__ACCOUNT_ID__:policy/seahaven-lambda-execution-boundary-__STACK_NAME__"
]
}
}
},
{
"Sid": "WriteExecRoles",
"Effect": "Allow",
"Action": [
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DetachRolePolicy",
"iam:TagRole",
"iam:UntagRole",
"iam:UpdateAssumeRolePolicy",
"iam:UpdateRole",
"iam:UpdateRoleDescription"
],
"Resource": "arn:aws:iam::__ACCOUNT_ID__:role/tf-managed/__STACK_PREFIX__*"
},
{
"Sid": "PassExecRolesToLambda",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::__ACCOUNT_ID__:role/tf-managed/__STACK_PREFIX__*",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"lambda.amazonaws.com",
"ecs-tasks.amazonaws.com",
"scheduler.amazonaws.com"
]
}
}
},
{
"Sid": "IamReadOnly",
"Effect": "Allow",
"Action": [
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListPolicies",
"iam:ListPolicyVersions",
"iam:ListRolePolicies",
"iam:ListRoles"
],
"Resource": "*"
},
{
"Sid": "DenySelfMutation",
"Effect": "Deny",
"Action": [
"iam:AttachRolePolicy",
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DeleteRolePermissionsBoundary",
"iam:DetachRolePolicy",
"iam:PutRolePolicy",
"iam:PutRolePermissionsBoundary",
"iam:UpdateAssumeRolePolicy",
"iam:UpdateRole",
"iam:UpdateRoleDescription"
],
"Resource": [
"arn:aws:iam::__ACCOUNT_ID__:role/hcptf-*",
"arn:aws:iam::__ACCOUNT_ID__:role/github-cfn-execution-role",
"arn:aws:iam::__ACCOUNT_ID__:role/githubdeploy-*",
"arn:aws:iam::__ACCOUNT_ID__:role/cdk-hnb659fds-*",
"arn:aws:iam::__ACCOUNT_ID__:role/OrganizationAccountAccessRole",
"arn:aws:iam::__ACCOUNT_ID__:role/seahaven-*"
]
},
{
"Sid": "DenyBoundaryTampering",
"Effect": "Deny",
"Action": [
"iam:DeleteRolePermissionsBoundary",
"iam:DeleteUserPermissionsBoundary"
],
"Resource": [
"arn:aws:iam::__ACCOUNT_ID__:role/*",
"arn:aws:iam::__ACCOUNT_ID__:user/*"
]
},
{
"Sid": "DenyBoundaryPolicyEdit",
"Effect": "Deny",
"Action": [
"iam:CreatePolicyVersion",
"iam:DeletePolicy",
"iam:DeletePolicyVersion",
"iam:SetDefaultPolicyVersion"
],
"Resource": "arn:aws:iam::__ACCOUNT_ID__:policy/seahaven-*"
}
]
}