标签: aws-resource-group

如何限制 AWS API Gateway 对特定 CloudFront 分配或 Route53 子域的访问

我有一个要限制访问的 API Gateway api 设置。我在 AWS Route 53 中有一个子域设置,它指向我的应用程序所在的 CloudFront 分配。此应用程序向 API 发出 POST 请求。

我已经考虑过基于示例“AWS API 白名单”为我的 api 添加资源策略,但我似乎无法获得正确的语法,我经常遇到错误。

我还尝试创建一个 IAM 用户并使用 AWS_IAM auth 锁定 API,但随后我需要创建一个签名请求,这似乎有很多工作,通过资源策略应该会容易得多?

这是我尝试附加到 API 的资源策略示例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{CloudFrontID}}"
            },
            "Action": "execute-api:Invoke",
            "Resource": [
                "execute-api:/*/*/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这将返回以下错误: Invalid policy document. Please check the policy syntax and ensure that Principals are valid.

amazon-web-services amazon-iam aws-api-gateway aws-resource-group

7
推荐指数
1
解决办法
2134
查看次数

仅使用 ResourceGroupTaggingAPI 获取现有资源

我正在使用 AWS ResourceGroupTagginApi(get-resources 命令,https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html)列出我的账户中的所有资源并检查是否标签已按照我的意愿设置。

不,我注意到 get-resources 命令还返回我已经删除的资源。

ResourceGroupTagginApi 对我来说的优点是,我可以使用一个命令获取所有资源和标签,并且不必调用特定于服务的 api(我必须为每个服务单独实现)。

如何只返回未删除的资源?或者如何在不使用服务特定 API 的情况下过滤掉已删除的资源?

amazon-web-services aws-resource-group

5
推荐指数
1
解决办法
725
查看次数

使用 powershell 按 TAG 值列出 AWS 实例

我们正在标记我们的 AWS 实例,我想通过 TAG 引用检索我们所有实例(ELB、S3、EC2、安全组)的列表。例如,我们始终使用以下内容标记我们的资源:{ "Key": "Project", "Value": "bananas" },

我们如何通过 power-shell 获取包含 TAG Project 值“bananas”的所有资源的列表?

我能够使用以下脚本获取我所有的 EC2:

$instance = Get-EC2Instance -Filter @( @{name='tag:Project'; values="bananas"}; @{name='instance-state-code'; values = 16} ) | Select-Object -ExpandProperty instances #Get instance ID 忽略任何终止的实例 $instance | 导出-CSV "C:\ec2.csv"

但我不确定如何使用一个脚本获取我所有的标记资源。

powershell amazon-web-services aws-powershell aws-resource-group

2
推荐指数
1
解决办法
1661
查看次数