首页 > 解决方案 > 创建只能访问自己资源的团队/组

问题描述

来自谷歌云平台,我正在努力让外部团队访问他们自己的环境中执行一些操作(在 GCP 中有项目的概念,我在 AWS 中找不到这个概念)。

我的目标是授予外部团队访问权限,以便他们可以创建 EC2 实例和 S3 存储桶,但只能查看、交互和管理他们自己的资源(他们创建的 EC2 实例和 S3 存储桶)。

到目前为止,我所做的是创建了一个组和属于该组的 2 个用户。在这个组中,我添加了对 EC2 和 S3 的完全访问权限。

我现在正试图将这些权限限制在他们自己的资源中。如何做到这一点?

标签: amazon-web-servicesamazon-iam

解决方案


将用户限制为组拥有的特定资源。您将需要在 IAM 中创建策略,该策略将根据资源标签限制访问,或者在 S3 的情况下,在策略文档中添加资源 ARN。我会建议做以下尝试。

注意: “*”表示通配符,我在权限中添加了示例操作,您可以根据需要添加其他操作。您还可以参考 AWS 策略生成器工具来获取准确的 JSON 策略文档。

AWS 策略生成器

EC2 为 EC2 实例创建一个策略,限制用户访问 EC2 仅具有标签 Name=ExternalUser 您可以根据您的要求更改标签,以下仅供参考。

{
      "Sid": "EC2RestrictedAccess",
      "Action": [
        "ec2:Describe*"      ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:ResourceTag/Name": "ExternalUser"
        }
      }
    }

S3 存储桶 用于 S3 存储桶,您可以根据 S3 存储桶的 ARN 限制访问。您还可以进一步将其限制为子文件夹。

{
      "Sid": "S3BucketRestrictedAccess",
      "Action": [
        "s3:ListBucket",
        "s3:Put*",
        "s3:CreateBucket"
      ],
      "Resource": [
        "arn:aws:s3:::*your_restricted_external_bucket*",
        "arn:aws:s3:::*your_restricted_external_bucket*/*yourfolder*"
        
      ],
      "Effect": "Allow"
    }

推荐阅读