amazon-web-services - 创建只能访问自己资源的团队/组
问题描述
来自谷歌云平台,我正在努力让外部团队访问他们自己的环境中执行一些操作(在 GCP 中有项目的概念,我在 AWS 中找不到这个概念)。
我的目标是授予外部团队访问权限,以便他们可以创建 EC2 实例和 S3 存储桶,但只能查看、交互和管理他们自己的资源(他们创建的 EC2 实例和 S3 存储桶)。
到目前为止,我所做的是创建了一个组和属于该组的 2 个用户。在这个组中,我添加了对 EC2 和 S3 的完全访问权限。
我现在正试图将这些权限限制在他们自己的资源中。如何做到这一点?
解决方案
将用户限制为组拥有的特定资源。您将需要在 IAM 中创建策略,该策略将根据资源标签限制访问,或者在 S3 的情况下,在策略文档中添加资源 ARN。我会建议做以下尝试。
注意: “*”表示通配符,我在权限中添加了示例操作,您可以根据需要添加其他操作。您还可以参考 AWS 策略生成器工具来获取准确的 JSON 策略文档。
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"
}
推荐阅读
- c++ - 实现一个类想要模拟 std::string 但是当 push_back 到一个向量时卡住了
- android - Flutter 应用程序无法运行。它给出了这种类型的错误
- c# - 如果父属性为空,WPF 嵌套属性绑定不起作用
- android - Android 动态功能模块依赖项
- javascript - “参考错误:
未定义”-javascript 模块 - c# - 将 null 传递给默认值为 null 的可选参数
- python - 从Django中的视图执行功能
- node.js - 在严格模式下使用 const(Node.js 和 Mongoose)
- r - 2 基于因子的计数表使用 dplyer 用于 r 中的独立列
- java - 如何在本地机器上访问 AWS 服务(使用 eclipse)?