使用亚马逊云科技服务参考信息自动执行策略管理工作流程

作者: 拉梅什·拉詹姆, 马特·卢特雷尔 |

亚马逊云科技以 JSON 格式提供服务参考信息,以帮助您自动执行策略管理工作流程。利用服务参考信息,您可以从机器可读文件中访问亚马逊云科技服务中的可用操作。服务参考信息有助于满足客户的关键需求:跟上亚马逊云科技中不断增长的服务和操作清单。随着新服务的推出和现有服务的功能扩展,您现在可以方便地识别每个亚马逊云科技服务的可用操作、资源和条件密钥并将其纳入您的策略制定和验证工作流程。随着业务的扩展和亚马逊云科技足迹的增长,您可能会决定自动化策略管理工作流程。借助服务授权参考,您可以构建自定义工具,以便更轻松地评估和使用亚马逊云科技服务引入的新操作、资源和条件密钥。

服务参考信息入门

服务参考信息是有关亚马逊云科技中每项服务可用的操作、资源和条件密钥的静态信息。要获取有参考信息的亚马逊云科技服务列表,请访问以下 URL:
https://servicereference.us-east-1.amazonaws.com/v1/service-list.json

此 URL 终端节点提供了一个 JSON 文件,其中包含最新的亚马逊云科技服务目录和可用的参考信息。通过查询此终端节点,您可以检索亚马逊云科技服务参考信息功能支持的最新服务列表。

要检索特定亚马逊云科技服务的操作、资源和条件密钥列表,请访问以下 URL:
https://servicereference.us-east-1.amazonaws.com/v1/<service-name>/<service-name>.json

<service-name> 替换为所需的亚马逊云科技服务的名称(例如,Amazon S3 的 "s3" 或 Amazon EC2 的 "ec2")。此 URL 端点提供了一个 JSON 文件,其中包含可用于该特定服务的操作、资源和条件键的完整列表。

以下示例显示了 service-list.json 文件输出的格式,该文件包含每项服务的参考信息的服务名称和 URL:

[ 
    {
"service": "s3", 
        "url": "https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json" 
    }, 
    {
"service": "dynamodb", 
        "url": "https://servicereference.us-east-1.amazonaws.com/v1/dynamodb/dynamodb.json" 
    }, 
    …
]
Plain text

您可以使用 url 字段浏览服务信息页面,查看服务的权限列表。您也可以下载 JSON 文件以在策略创作工作流程中使用。例如,您可以通过以下网址下载 Amazon S3 的权限:
https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json

以下示例显示了 Amazon S3 权限的部分输出。Amazon Identity and Access Management (IAM) 操作以 JSON 格式提供,每个操作都是自己的 JSON 对象。这些对象的 Name 字段提供 IAM 操作的名称,ActionConditionKeys 字段提供此操作的可用条件密钥,Resources 字段提供此操作的可用资源。

{
  "Name" : "s3",
  "Actions" : [ {
    "Name" : "AbortMultipartUpload",
    "ActionConditionKeys" : [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ],
    "Resources" : [ {
      "Name" : "object"
    } ]
  }, {
    "Name" : "AssociateAccessGrantsIdentityCenter",
    "ActionConditionKeys" : [ "aws:ResourceTag/${TagKey}", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ],
    "Resources" : [ {
      "Name" : "accessgrantsinstance"
    } ],
    "Version": "v1.1" 
}
Plain text

你可以用服务参考信息来构建什么?

让我们通过实际示例探讨如何使用服务参考信息。为了帮助您入门,这里有两个使用服务参考信息的自定义工具。您可以在我们的 GitHub 存储库中找到这些工具,随时可供您使用并适应您的特定需求。您可以通过访问以下链接下载这些工具的源代码:

  • 服务控制策略 (SCP) 预处理器
  • 用于新建或已移除的 IAM 操作的通知工具

SCP 预处理器

SCP 预处理器提供了一种编写 SCP 的便捷方式。您可以将 SCP 预处理器作为命令行工具运行。该工具采用单一的 JSON 文件并运行一系列转换和优化,然后输出一系列符合策略大小配额的有效服务控制策略。该工具使用亚马逊云科技服务参考信息数据来优化 IAM 操作列表。

用于新建或已移除的 IAM 操作的通知工具

当新的 IAM 操作或服务发布时,您可能会发现自己需要更新整个亚马逊云科技环境中的各种策略。当添加或删除新服务或新操作时,您可以使用此工具通知您。它的工作原理是下载服务参考信息,并将其与上次运行该工具时文件的先前版本进行比较。您可以使用这些通知来执行操作,例如在添加新操作时自动更新 IAM 策略,或者手动查看通知中是否有新的敏感操作。

访问 SCP 预处理器的源代码存储库和每日通知工具以了解更多信息。

结论

亚马逊云科技服务参考信息使您可以更轻松地为策略创作和验证创建自动化。通过提供 JSON 格式的亚马逊云科技服务操作参考,此功能使您能够创建用于策略制定和管理的自定义工具。

我们很高兴知道你可以想出什么样的策略制定工具。


如果你对这篇文章有反馈,请在下面的评论部分提交评论。如果您对这篇文章有疑问,请联系 Amazon Support。

拉梅什·拉詹姆 拉梅什·拉詹姆
拉梅什是来自旧金山的高级解决方案架构师。他拥有应用科学理学学士学位和网络安全与信息保障硕士学位。他专门研究云迁移、云安全、合规和风险管理。
马特·卢特雷尔 马特·卢特雷尔
马特是亚马逊云科技身份解决方案团队的首席解决方案架构师。当他不花时间追孩子时,他喜欢滑雪、骑自行车,偶尔还喜欢玩电子游戏。

*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。