限制在一个区域创建所有资源而在其他区域只读的 AWS 政策

AWS policy to restrict all resources creation in one region and readonly in other regions

我正在尝试在 AWS 中创建一项策略,以将用户限制在一个区域以创建资源,而在其他区域,他们应该具有只读访问权限。我可以使用以下拒绝策略将它们限制在一个区域。但现在问题来了,为用户提供对所有位置的只读访问权限。

我是 AWS 政策的新手,正在为此苦苦挣扎。

我目前使用的将它们限制在一个位置的政策是

{
    "Version": "2012-10-17",  
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:RequestedRegion": [
                        "eu-east-2"
                    ]
                }
            }
        }
    ]
}

谁能解释一下这个问题。

您将无法使用拒绝策略来完成此操作。原因是 AWS 访问管理首先查找任何拒绝策略。

完成此操作的最简单方法如下:

  1. 通过附加 AWS 策略 ReadOnlyAccess 授予用户或角色全局只读访问权限。
  2. 然后修改您的策略以授予对您想要的区域的完全访问权限。
{
    "Version": "2012-10-17",  
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "eu-east-2"
                    ]
                }
            }
        }
    ]
}

一些注意事项

  1. 该政策基本上授予管理员级别的权限。如果您想提供较少的访问权限,请使用 AWS 托管策略之一作为参考,并在所有语句中使用区域条件。
  2. 对于某些全球行动,该地区是 us-east-1。阅读 IAM Reference Policy Conditions 中的 aws:RequestedRegion 部分,您可能需要在策略中添加一些额外的操作才能使一切正常工作。