亚马逊AWS管理控制台

时间:2015-12-04 08:07:45

标签: amazon-web-services amazon

我对AWS API Gateway有疑问。

我创建了自己的API,现在我希望与我在同一组中并具有相同角色的其他用户通过AWS管理控制台访问此API。

问题是其他用户无法看到我创建的API(Lambda函数和DynamoDB的问题也是如此,这对我来说也是可见的,而不是组中的其他用户)。

1 个答案:

答案 0 :(得分:1)

一个简单但不太安全的解决方案是将AmazonAPIGatewayAdministrator策略分配给您希望能够使用API​​网关的IAM用户,组或角色。这将使他们能够访问所有API。

如果要限制对特定API或API集的访问,可以为该API创建自定义IAM策略。然后,您将该策略分配给您希望有权访问API的角色和组。要创建策略,您需要API的ID。这是一个漫长而复杂的过程,但它确实有效。以下是步骤:

  1. 通过选择API网关服务并单击API,确定要提供访问权限的API的ID。浏览器中的URL如下所示:

    https://console.aws.amazon.com/apigateway/home?region=us-east-1#/apis/API_ID/resources/RESOURCE_ID
    
  2. API_ID复制到剪贴板以供日后使用。

  3. 或者,您可以使用AWS CLI命令:aws apigateway get-rest-apis并从结果中复制ID。
  4. 像这样创建一个新的IAM策略:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "apigateway:GET"
                ],
                "Resource": [
                    "arn:aws:apigateway:*::/clientcertificates",
                    "arn:aws:apigateway:*::/restapis",
                    "arn:aws:apigateway:*::/restapis/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "apigateway:*"
                ],
                "Resource": [
                    "arn:aws:apigateway:us-east-1::/restapis/API_ID/*"
                ]
            }
        ]
    }
    
  5. 将策略附加到您想要访问的用户/组/角色。第一个Effect允许用户查看所有API但不修改它们。如果您想要更具限制性,可能需要删除它。

  6. Amazon在这里对API网关的IAM策略进行了大量的详细介绍:http://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html