了解 CodeCatalyst 信任模型 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解 CodeCatalyst 信任模型

Amazon CodeCatalyst 信任模型 CodeCatalyst 允许在互联中扮演服务角色 AWS 账户。该模型将 IAM 角色、 CodeCatalyst 服务委托人和 CodeCatalyst 空间联系起来。信任策略使用aws:SourceArn条件密钥向条件键中指定的 CodeCatalyst 空间授予权限。有关此条件密钥的更多信息,请参阅 I A M 用户指南SourceArn中的 aws:

信任策略位于 JSON 策略文档中,您可以在其中定义您信任代入该角色的主体。角色信任策略是必需的基于资源的策略(将附加到 IAM 中的角色)。有关更多信息,请参阅 IAM 用户指南中的术语和概念。有关服务主体的详细信息 CodeCatalyst,请参阅的服务负责人 CodeCatalyst

在以下信任策略中,Principal元素中列出的服务主体被授予基于资源的策略的权限,该Condition区块用于限制对范围缩小资源的访问权限。

"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:codecatalyst:::space/spaceId/project/*" } } } ]

在信任策略中, CodeCatalyst 服务委托人通过条件密钥获得访问权限,aws:SourceArn条件密钥包含空间 ID 的 Amazon 资源名称 (ARN)。 CodeCatalyst ARN 使用以下格式:

arn:aws:codecatalyst:::space/spaceId/project/*
重要

仅在条件键中使用空间 ID,例如aws:SourceArn。请勿将 IAM 政策声明中的空间 ID 用作资源 ARN。

最佳做法是在策略中尽可能缩小权限范围。

  • 您可以使用aws:SourceArn条件键中的通配符 (*) 来指定空间中的所有项目。project/*

  • 您可以使用在aws:SourceArn条件键中为空间中的特定项目指定资源级权限。project/projectId

的服务负责人 CodeCatalyst

您可以使用基于资源的 JSON 策略中的Principal元素来指定允许或拒绝访问资源的委托人。您可以在信任策略中指定的主体包括用户、角色、账户和服务。您不能在基于身份的策略中使用该Principal元素;同样,您也无法将用户组标识为策略(例如基于资源的策略)中的委托人,因为组与权限而不是身份验证有关,并且委托人是经过身份验证的 IAM 实体。

在信任策略 AWS 服务 中,您可以在基于资源的策略的Principal元素或支持委托人的条件密钥中指定。服务主体由服务定义。以下是为定义的服务主体: CodeCatalyst

  • codetalyst.amazonaws.com.rproxy.goskope.com-此服务主体用于授予访问权限的角色。 CodeCatalyst AWS

  • codetalyst-runner.amazonaws.com.rproxy.goskope.com-此服务主体用于授予 CodeCatalyst 工作流程部署中资源访问权限的角色。 AWS CodeCatalyst

有关更多信息,请参阅《IAM 用户指南》中的 AWS JSON 策略元素:主体