2

我正在寻找是否有官方 API 用于检索与 IAM 权限、服务等相关的信息的元数据。

策略模拟器控制台几乎拥有我需要的一切。查看发出的 HTTP 请求,有些请求会返回一个定义良好的 JSON 对象。

例如,要检索所有可用的服务,它会调用:

https://policysim.aws.amazon.com/home/data/resource

并返回(为简洁起见):

[
  {
    "name": "Amazon EC2",
    "actionPrefix": "ec2",
    "hasResource": true,
    "arnFormat": "arn:aws:ec2:<region>:<account>:<resourceType>/<resourcePath>"
  },
  {
    "name": "Amazon Sumerian",
    "actionPrefix": "sumerian",
    "hasResource": false,
    "arnFormat": "arn:aws:sumerian:<region>:<account-id>:<resource-type>/<resource_name>"
  },
  {
    "name": "Amazon Comprehend",
    "actionPrefix": "comprehend",
    "hasResource": false,
    "arnFormat": "arn:${Partition}:comprehend:${Region}:${AccountId}:${ResourceType}/${ResourceName}"
  },

 ...

  {
    "name": "AWS Elemental MediaStore",
    "actionPrefix": "mediastore",
    "hasResource": true,
    "arnFormat": "arn:aws:mediastore:<Region>:<Account>:<Resource>"
  }
]

然后例如,API Gateway,调用

https://policysim.aws.amazon.com/home/data/action?serviceName=Amazon+API+Gateway&servicePrefix=execute-api

返回:

[
  {
    "name": "InvalidateCache",
    "evaluated": false,
    "allowed": false,
    "prefix": "execute-api",
    "service": "Amazon API Gateway",
    "serviceAware": true,
    "resourceEnabled": true,
    "deniedByOrganization": false,
    "requiredResourceNames": [
      "execute-api-general"
    ],
    "supportedResources": [
      {
        "Name": "execute-api-general",
        "ARN": "arn:aws:execute-api:${Region}:${Account}:${ApiId}/${Stage}/${Method}/${ApiSpecificResourcePath}",
        "RegEx": "^arn:aws:execute-api:.+",
        "isRequired": true
      }
    ],
    "scenarios": [],
    "contextKeys": []
  },
  {
    "name": "Invoke",
    "evaluated": false,
    "allowed": false,
    "prefix": "execute-api",
    "service": "Amazon API Gateway",
    "serviceAware": true,
    "resourceEnabled": true,
    "deniedByOrganization": false,
    "requiredResourceNames": [
      "execute-api-general"
    ],
    "supportedResources": [
      {
        "Name": "execute-api-general",
        "ARN": "arn:aws:execute-api:${Region}:${Account}:${ApiId}/${Stage}/${Method}/${ApiSpecificResourcePath}",
        "RegEx": "^arn:aws:execute-api:.+",
        "isRequired": true
      }
    ],
    "scenarios": [],
    "contextKeys": []
  }
]

这就是我所追求的所有信息。服务名称列表,然后是每个服务的操作,以及其他一些元数据。

显然,我想使用支持 IAM 凭证和策略的官方 API,但在支持的基本 SimulatePolicy 和上下文相关 API 端点之外找不到任何东西。

谢谢!

粉色的

4

1 回答 1

0

正如任何人都在寻找相同的东西的后续行动一样,根据 AWS 支持,目前没有官方或受支持的 API 来检索此信息。

于 2018-06-18T14:37:55.173 回答