【问题标题】:what aws permission I should give to acess other s3 buckets我应该授予什么 aws 权限才能访问其他 s3 存储桶
【发布时间】:2021-07-24 09:56:08
【问题描述】:

在本文档 (https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) 的linux 选项卡中,AWS 共享 s3 存储桶以下载最新版本的aws-iam-authenticator

此链接在新版本发布时会不断变化,但存储桶名称amazon-eks永远不会更改。

curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/aws-iam-authenticator

没有 aws API 权限,如果我直接通过浏览器访问,您将无法通过编程方式检测此文件夹中的新版本:https://amazon-eks.s3-us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux

所以我必须使用自己的 AWS 访问密钥,而且它允许。

aws s3 ls s3://amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/
2021-07-15 08:56:11   35290752 aws-iam-authenticator
2021-07-15 08:56:31         55 aws-iam-authenticator.md5
2021-07-15 08:56:31         63 aws-iam-authenticator.sha1
2021-07-15 08:56:31         87 aws-iam-authenticator.sha256
2021-07-15 08:56:31    1865035 cni-amd64-v0.6.0.tgz
2021-07-15 08:56:36         54 cni-amd64-v0.6.0.tgz.md5
2021-07-15 08:56:36         62 cni-amd64-v0.6.0.tgz.sha1
2021-07-15 08:56:36         86 cni-amd64-v0.6.0.tgz.sha256
2021-07-15 08:56:36   36878412 cni-plugins-linux-amd64-v0.8.6.tgz
2021-07-15 08:57:09         68 cni-plugins-linux-amd64-v0.8.6.tgz.md5
2021-07-15 08:57:09         76 cni-plugins-linux-amd64-v0.8.6.tgz.sha1
2021-07-15 08:57:09        100 cni-plugins-linux-amd64-v0.8.6.tgz.sha256
2021-07-15 08:57:09   43122688 kube-proxy
2021-07-15 08:57:43         44 kube-proxy.md5
2021-07-15 08:57:43         52 kube-proxy.sha1
2021-07-15 08:57:43         76 kube-proxy.sha256
2021-07-15 08:57:43   46403584 kubectl
2021-07-15 08:58:23         41 kubectl.md5
2021-07-15 08:58:23         49 kubectl.sha1
2021-07-15 08:58:23         73 kubectl.sha256
2021-07-15 08:58:23  118197040 kubelet
2021-07-15 08:59:44         41 kubelet.md5
2021-07-15 08:59:44         49 kubelet.sha1
2021-07-15 08:59:44         73 kubelet.sha256

现在我的问题是,我如何设置一个 AWS IAM 用户只使用 Programmatic access,它不能访问我的 aws 账户中的任何资源,但允许列出公共/私有 s3 存储桶中的内容?

我需要将此 IAM 用户的访问密钥用于公共 CICD 管道构建作业,不想冒险在我自己的 aws 账户中公开资源。

更新

这是该用户的内联策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amazon-eks/*"
        }
    ]
}

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    您似乎想在不使用凭据的情况下列出 amazon-eks 存储桶的内容。

    这可以通过使用--no-signed-request 选项来完成:

    aws s3 ls s3://amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/ --no-sign-request
    

    这避免了提供 IAM 凭证的需要。

    【讨论】:

    • --no-sign-request?这将是我正在寻找的选项,让我测试
    【解决方案2】:

    我终于弄清楚了 IAM 用户的权限,但显然@John Rotenstein 的解决方案是更好的方法。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:ListBucket"
                ],
                "Resource": "arn:aws:s3:::amazon-eks/*"
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:ListBucket"
                ],
                "Resource": "arn:aws:s3:::amazon-eks"
            }
        ]
    }
    

    有了以上权限,我可以在没有我自己的aws账户权限的情况下列出s3桶amazon-eks中的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-05
      • 2020-08-22
      • 2017-11-01
      • 2016-09-05
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多