amazon-web-services - 用于授予 AWS 组织子账户从 AWS 服务 (cloudFormation) 访问权限的 S3 策略

标签 amazon-web-services amazon-s3 aws-cloudformation amazon-policy

我正在尝试向 S3 存储桶中的某些模板授予 CloudFormation 的只读访问权限。

当 CF 与 S3 存储桶位于同一账户中时,我可以使用 aws:PrincipalIsAWSService 执行此操作。但是,当我尝试让它适用于任何 child 帐户时,我的权限被拒绝。我已尝试添加 PrincipalOrgID 或 Org 帐户 - 但到目前为止还没有任何进展。

我试图避免列出所有子帐户,因为它们经常被添加,并且我的印象是 PrincipalOrgID 就是为了这个目的。

有什么想法吗?

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": "o-yyyyyyyyyy"
                },
                "Bool": {
                    "aws:PrincipalIsAWSService": "true"
                }
            }
        }

最佳答案

从评论转向答案以获得可见性:

问题是条件的组合。

"StringEquals": {
            "aws:PrincipalOrgID": "o-yyyyyyyyyy"
        },
        "Bool": {
            "aws:PrincipalIsAWSService": "true"
        }

刚刚离开

"StringEquals": {
    "aws:PrincipalOrgID": "o-yyyyyyyyyy"
  }

允许组织中的其他帐户访问它。

关于amazon-web-services - 用于授予 AWS 组织子账户从 AWS 服务 (cloudFormation) 访问权限的 S3 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74447380/

相关文章:

amazon-web-services - 在清空或删除 S3 存储桶之前复制所有对象

amazon-web-services - Terraform:如果目标是 aws_sfn_state_machine,则 aws_api_gateway_integration 的 uri 参数是什么

对标准输出的每一行进行正则表达式并推送到 shell/bash 中的数组

python - 如何通过 Python Boto3 将数据加载到 Amazon Redshift?

json - json 的 Golang 结构允许一个值可选地是一个数组

amazon-s3 - 为什么托管静态网站时 Amazon S3 存储桶名称必须与网站名称相同

aws-cloudformation - AWS::CloudFormation::Stack 无法回滚

kubernetes - 是否可以在 AWS cloudformation 上创建 Kubernetes Pod、服务、副本 Controller 等?

amazon-web-services - Amazon S3 上的自定义 header

python - 使用 ElasticBeanstalk 在 AWS 上部署在 Python 3.6 上运行的 Django 项目