选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

AWS CodeStar 项目级策略和权限 - AWS CodeStar

2024 年 7 月 31 日,亚马逊 Web Services (AWS) 将停止支持创建和查看 AWS CodeStar 项目。2024 年 7 月 31 日之后,您将无法再访问 AWS CodeStar 控制台或创建新项目。但是,由 AWS CodeStar创建的 AWS 资源(包括您的源存储库、管道和构建)将不受此更改的影响,并将继续运行。 AWS CodeStar 此次停用不会影响连接和 AWS CodeStar 通知。

 

如果您想跟踪工作、开发代码以及构建、测试和部署应用程序,Amazon CodeCatalyst 提供了简化的入门流程和其他功能来管理您的软件项目。详细了解 Amazon 的功能定价 CodeCatalyst。

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

2024 年 7 月 31 日,亚马逊 Web Services (AWS) 将停止支持创建和查看 AWS CodeStar 项目。2024 年 7 月 31 日之后,您将无法再访问 AWS CodeStar 控制台或创建新项目。但是,由 AWS CodeStar创建的 AWS 资源(包括您的源存储库、管道和构建)将不受此更改的影响,并将继续运行。 AWS CodeStar 此次停用不会影响连接和 AWS CodeStar 通知。

 

如果您想跟踪工作、开发代码以及构建、测试和部署应用程序,Amazon CodeCatalyst 提供了简化的入门流程和其他功能来管理您的软件项目。详细了解 Amazon 的功能定价 CodeCatalyst。

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

AWS CodeStar 项目级策略和权限

创建项目时, AWS CodeStar 会创建管理项目资源所需的IAM角色和策略。该策略分为三个类别:

  • IAM针对项目团队成员的政策。

  • IAM工作人员角色政策。

  • IAM运行时执行角色的策略。

IAM团队成员政策

创建项目时,会为所有者、贡献者和查看者对项目的访问权限 AWS CodeStar 创建三个客户托管策略。所有 AWS CodeStar 项目都包含针对这三个访问级别的IAM策略。这些访问级别是特定于项目的,由具有标准名称的IAM托管策略定义,其中 project-id 是 AWS CodeStar 项目的 ID(例如 my-first-projec):

  • CodeStar_project-id_Owner

  • CodeStar_project-id_Contributor

  • CodeStar_project-id_Viewer

重要

这些政策可能会因以下原因而发生变更 AWS CodeStar。不应手动编辑它们。如果要添加或更改权限,请向IAM用户附加其他策略。

当您将团队成员(IAM用户)添加到项目并选择他们的访问权限级别时,相应的策略会附加到IAM用户,从而向用户授予对项目资源进行操作的相应权限集。在大多数情况下,您无需直接在中附加或管理策略或权限IAM。不建议手动为IAM用户附加 AWS CodeStar 访问级别策略。如果绝对必要,作为 AWS CodeStar 访问级别策略的补充,您可以创建自己的托管策略或内联策略,将自己的权限级别应用于IAM用户。

这些策略的适用范围限定于项目资源和特定操作。将新资源添加到基础架构堆栈时,如果团队成员策略是支持的资源类型之一,则会 AWS CodeStar 尝试更新团队成员策略以包括访问新资源的权限。

注意

AWS CodeStar 项目中访问权限级别的策略仅适用于该项目。这有助于确保用户只能在由其角色决定的级别上查看他们有权访问的 AWS CodeStar 项目并与之交互。只有创建 AWS CodeStar 项目的用户才应应用允许访问所有 AWS CodeStar 资源的策略,无论项目如何。

所有 AWS CodeStar 访问级别策略都各不相同,具体取决于与访问级别关联的项目关联的 AWS 资源。与其他 AWS 服务不同,如果在项目资源发生更改时创建和更新项目,则将自定义这些策略。因此,没有规范的所有者、贡献者或查看者托管策略。

AWS CodeStar 所有者角色政策

CodeStar_project-id_Owner客户托管策略允许用户不受限制地执行 AWS CodeStar 项目中的所有操作。这是允许用户添加或删除团队成员的唯一策略。该策略的内容因与项目关联的资源而异。有关示例,请参阅 AWS CodeStar 所有者角色政策

拥有此策略的IAM用户可以执行项目中的所有 AWS CodeStar 操作,但与拥有该AWSCodeStarFullAccess策略的IAM用户不同,该用户无法创建项目。codestar:*权限的范围仅限于特定资源(与该 AWS CodeStar 项目 ID 关联的项目)。

AWS CodeStar 投稿人角色政策

CodeStar_project-id_Contributor 客户托管策略允许用户参与项目和更改项目控制面板,但不允许用户添加或删除团队成员。该策略的内容因与项目关联的资源而异。有关示例,请参阅 AWS CodeStar 贡献者角色策略

AWS CodeStar 查看者角色政策

CodeStar_project-id_Viewer 客户托管策略允许用户在 AWS CodeStar中查看项目,但不允许更改其资源,也不允许添加或删除团队成员。该策略的内容因与项目关联的资源而异。有关示例,请参阅 AWS CodeStar 查看者角色政策

IAM工作人员角色政策

如果您在 2018 年 12 月 6 日之后创建 AWS CodeStar 项目PDT,则AWS CodeStar 会创建两个工作人员角色,CodeStar-project-id-ToolChainCodeStar-project-id-CloudFormation。工作人员角色是为传递给服务而 AWS CodeStar 创建的项目特定的IAM角色。它授予权限,以便服务可以在您的 AWS CodeStar 项目上下文中创建资源和执行操作。工具链工作者角色与工具链服务(例如 CodeBuild CodeDeploy、和)建立了信任关系。 CodePipeline向项目团队成员(所有者和贡献者)授予了访问权限以将工作线程角色传递到可信下游服务。有关此角色的内联策略声明的示例,请参阅 AWS CodeStar 工具链工作人员角色政策(2018 年 PDT 12 月 6 日之后)

CloudFormation 工作人员角色包括对所支持的选定资源的权限 AWS CloudFormation,以及在应用程序堆栈中创建IAM用户、角色和策略的权限。它还与建立了信任关系 AWS CloudFormation。为了降低权限升级和破坏性操作的风险, AWS CloudFormation 角色策略包括一个条件,要求在基础设施堆栈中创建的每个IAM实体(用户或角色)都必须具有项目特定的权限边界。有关此角色的内联策略声明的示例,请参阅 AWS CloudFormation 工作人员角色政策

对于 2018 年 12 月 6 日之前PDT AWS CodeStar 创建的AWS CodeStar 项目,可以为 CodePipeline CodeBuild、和 CloudWatch 事件等工具链资源创建个人工作人员角色,并为其创建支持有限资源集的工作人员角色。 AWS CloudFormation 其中的每个角色均与相应服务建立了信任关系。向项目团队成员(所有者和贡献者)以及其他一些工作线程角色授予访问权限以将该角色传递到可信下游服务。工作线程角色的权限是在一个内联策略中定义的,该内联策略的适用范围限定于角色可对一组项目资源执行的一组基本操作。这些权限是静态的。它们适用于创建项目时包含在项目中的资源,但不会在项目中添加了新资源时进行更新。有关这些策略声明的示例,请参阅:

IAM执行角色策略

对于 2018 年 12 月 6 日之后AWS CodeStar 创建的项目PDT,在应用程序堆栈中为示例项目创建通用执行角色。该角色使用权限边界策略将适用范围限定于相应的项目资源。在扩展示例项目时,可以创建其他IAM角色, AWS CloudFormation 角色策略要求使用权限边界缩小这些角色的范围,以避免权限升级。有关更多信息,请参阅 向项目添加 IAM 角色

对于 2018 年 12 月 6 日之前创建的 Lambda 项目PDT, AWS CodeStar 创建一个附有内联策略的 Lambda 执行角色,该角色具有对项目堆栈中的资源执行操作的权限。 AWS SAM 向SAM模板添加新资源时,如果新资源是支持的资源类型之一,则会 AWS CodeStar 尝试更新 Lambda 执行角色策略以包含对新资源的权限。

IAM 权限边界

2018 年 12 月 6 日之后PDT,当您创建项目时,AWS CodeStar 会创建一个客户托管策略,并将该策略分配为项目中IAM角色的IAM权限边界。AWS CodeStar要求在应用程序堆栈中创建的所有IAM实体都有权限边界。权限边界控制角色可具有的最大权限,但不向角色提供任何权限。权限策略定义角色的权限。这意味着,无论向角色添加多少额外权限,使用该角色的任何人都无法执行权限边界中包含的操作之外的任何操作。有关如何评估权限策略和权限边界的信息,请参阅《IAM用户指南》中的策略评估逻辑

AWS CodeStar 使用项目特定的权限边界来防止权限升级到项目之外的资源。AWS CodeStar 权限边界包括ARNs项目资源。有关此策略声明的示例,请参阅AWS CodeStar 权限边界策略

当您通过应用程序堆栈(template.yml)在项目中添加或移除支持的资源时,AWS CodeStar 转换会更新此策略。

为现有项目添加IAM权限边界

如果您的AWS CodeStar 项目是在 2018 年 12 月 6 日之前创建的PDT,则应手动为项目中的IAM角色添加权限边界。作为最佳实践,建议您使用项目特定的边界(仅包含项目中的资源)以避免权限提升到项目之外的资源。按照以下步骤使用随着项目的发展而更新的AWS CodeStar 托管权限边界。

  1. 登录 AWS CloudFormation 控制台,在项目中找到工具链堆栈的模板。此模板名为 awscodestar-project-id

  2. 选择模板,选择操作,然后选择在 Designer 中查看/编辑模板

  3. 找到 Resources 部分,并在此部分的顶部包含以下代码段。

    PermissionsBoundaryPolicy: Description: Creating an IAM managed policy for defining the permissions boundary for an AWS CodeStar project Type: AWS::IAM::ManagedPolicy Properties: ManagedPolicyName: !Sub 'CodeStar_${ProjectId }_PermissionsBoundary' Description: 'IAM policy to define the permissions boundary for IAM entities created in an AWS CodeStar project' PolicyDocument: Version: '2012-10-17' Statement: - Sid: '1' Effect: Allow Action: ['*'] Resource: - !Sub 'arn:${AWS::Partition}:cloudformation:${AWS::Region}:${AWS::AccountId}:stack/awscodestar-${ProjectId}-*'

    您可能需要其他IAM权限才能从 AWS CloudFormation 控制台更新堆栈。

  4. (可选)如果要创建应用程序特定的IAM角色,请完成此步骤。在IAM控制台中,更新附加到项目 AWS CloudFormation 角色的内联策略,使其包含以下片段。您可能需要其他IAM资源来更新政策。

    { "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::{AccountId}:role/CodeStar-{ProjectId}*", "Effect": "Allow" }, { "Action": [ "iam:CreateServiceLinkedRole", "iam:GetRole", "iam:DeleteRole", "iam:DeleteUser" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:CreateRole", "iam:CreateUser", "iam:DeleteRolePolicy", "iam:DeleteUserPolicy", "iam:DetachUserPolicy", "iam:DetachRolePolicy", "iam:PutUserPermissionsBoundary", "iam:PutRolePermissionsBoundary" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::{AccountId}:policy/CodeStar_{ProjectId}_PermissionsBoundary" } }, "Effect": "Allow" }
  5. 通过项目管道推送更改,以便使用适当的权限AWS CodeStar 更新权限边界。

有关更多信息,请参阅 向项目添加 IAM 角色

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。