如何创建 IAM 策略以授予特定区域的完全管理员访问权限?



我需要授予特定区域的完全管理员访问权限(所有 AWS 资源,而不仅仅是少数资源(。 以下是配置的 IAM 策略。无论如何,访问其他一些资源都会出错。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"rds:*",
"apigateway:*",
"s3:*",
"lambda:*",
"dynamodb:*",
"ec2:*",
"cognito-idp:*",
"sns:*",
"sqs:*",
"cloudwatch:*",
"cloudfront:*",
"cloudformation:*",
"ses:*",
"codepipeline:*",
"codebuild:*",
"logs:*",
"iam:*"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "ap-northeast-1"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudformation:DescribeStacks",
"logs:DescribeLogGroups",
"logs:CreateLogGroup"
],
"Resource": "*"
}
]
}

您应该在问题中包括您看到的错误,否则很难帮助您。

粗略一瞥,尽管我看到您将 iam:* 包含在具有区域条件的语句中。IAM是一个全球资源,所以从表面上看,我可以看到为什么该策略不起作用(不能自己尝试(。我会将其分解为一个单独的语句,没有区域条件,但是他们对您的整个IAM具有管理员访问权限(安全性可怕!

如果您想提供受限管理员,我会首先将其中一些权限削减到他们实际需要的操作(* vs CreateGroup(。然后使用命名空间进行委派,如此处的示例"arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:policy/TEAM-A/*".您可以将其与属性标签条件结合使用。在这里演示。这将允许他们非常自由地移动,但仅限于某些情况下。话虽如此,对于超级管理员来说,限制这些上下文可能会变得非常复杂。

可能还有其他事项需要考虑:

  1. 他们真的需要 IAM 管理员吗?如何 - 以方式 - 为他们制定政策在实践中?
  2. 这种痛苦可以通过在组织和组织保护伞下单独提供帐户来解决吗?组织可以帮助强制执行其中一些政策,例如区域限制、预算上限,但将这些帐户的管理员提供大量控制权。

相关内容

最新更新