View a markdown version of this page

开发工具控制台中的特征如何与 IAM 配合使用 - 开发工具控制台

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

开发工具控制台中的特征如何与 IAM 配合使用

在使用 IAM 管理对开发工具控制台中特征的访问之前,您应了解哪些 IAM 特征可与其结合使用。要全面了解通知和其他AWS服务如何与 IAM 配合使用,请参阅 IAM 用户指南中的与 IAM 配合使用的AWS服务

Identity-based 开发者工具控制台中的策略

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。AWSCodeStar 通知和AWSCodeConnections 支持特定的操作、资源和条件键。要了解在 JSON 策略中使用的所有元素,请参阅《IAM 用户指南》中的 IAM JSON 策略元素参考

操作

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说,哪个主体可以对什么资源执行操作,以及在什么条件下执行。

JSON 策略的 Action 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

开发工具控制台中的通知的策略操作在操作前使用以下前缀:codestar-notifications and codeconnections。例如,要授予某人查看其账户中所有通知规则的权限,请将 codestar-notifications:ListNotificationRules 操作包括在其策略中。策略声明必须包含ActionNotAction元素。 AWSCodeStar 通知并AWSCodeConnections 定义其自己的一组操作,这些操作描述了您可以使用此服务执行的任务。

要在单个语句中指定多个AWSCodeStar 通知操作,请用逗号分隔它们,如下所示。

"Action": [ "codestar-notifications:action1", "codestar-notifications:action2"

要在单个语句中指定多个AWS CodeConnections操作,请用逗号分隔它们,如下所示。

"Action": [ "codeconnections:action1", "codeconnections:action2"

您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 List 开头的所有操作,请包括以下操作。

"Action": "codestar-notifications:List*"

AWSCodeStar 通知 API 操作包括:

  • CreateNotificationRule

  • DeleteNotificationRule

  • DeleteTarget

  • DescribeNotificationRule

  • ListEventTypes

  • ListNotificationRules

  • ListTagsForResource

  • ListTargets

  • Subscribe

  • TagResource

  • Unsubscribe

  • UntagResource

  • UpdateNotificationRule

AWS CodeConnectionsAPI 操作包括以下内容:

  • CreateConnection

  • DeleteConnection

  • GetConnection

  • ListConnections

  • ListTagsForResource

  • TagResource

  • UntagResource

要完成身份验证握手,需要执行以下仅限权限的操作:AWS CodeConnections

  • GetIndividualAccessToken

  • GetInstallationUrl

  • ListInstallationTargets

  • StartOAuthHandshake

  • UpdateConnectionInstallation

要使用连接,需要执行以下仅限权限AWS CodeConnections的操作:

  • UseConnection

要将连接传递AWS CodeConnections到服务,需要在中执行以下仅限权限的操作:

  • PassConnection

要查看AWSCodeStar 通知和AWSCodeConnections 操作列表,请参阅 IAM 用户指南AWSCodeConnections中的AWSCodeStar 通知定义的操作和由定义的操作。

资源

AWSCodeStar 通知,AWSCodeConnections 不支持在策略中指定资源 ARN。

条件键

AWSCodeStar 通知并AWSCodeConnections 定义自己的条件键集,还支持使用一些全局条件键。要查看所有AWS全局条件键,请参阅 IAM 用户指南中的AWS全局条件上下文密钥

所有AWSCodeStar 通知操作都支持codestar-notifications:NotificationsForResource条件键。有关更多信息,请参阅 Identity-based 策略示例

AWS CodeConnections定义以下可在 IAM 策略Condition元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关更多信息,请参阅 AWSCodeConnections 权限参考

条件键 说明

codeconnections:BranchName

按第三方存储库的分支名称筛选访问权限。

codeconnections:FullRepositoryId

按请求中传递的存储库来筛选访问权限。仅适用于访问特定存储库的 UseConnection 请求
codeconnections:InstallationId 按用于更新连接的第三方 ID(如 Bitbucket 应用程序安装 ID)来筛选访问权限。允许您限制哪些第三方应用程序安装可用于建立连接
codeconnections:OwnerId 按所有者或第三方提供程序的帐户 ID 来筛选访问权限

codeconnections:PassedToService

按允许委托人向其传递连接的服务来筛选访问权限

codeconnections:ProviderAction

UseConnection 请求中的提供程序操作(如 ListRepositories)来筛选访问权限。
codeconnections:ProviderPermissionsRequired 按第三方提供程序权限的类型来筛选访问权限

codeconnections:ProviderType

按请求中传递的第三方提供程序的类型来筛选访问权限
codeconnections:ProviderTypeFilter 按用于筛选结果的第三方提供程序的类型来筛选访问权限
codeconnections:RepositoryName 按第三方存储库的名称筛选访问权限

示例

要查看AWSCodeStar 通知和AWSCodeConnections 基于身份的策略的示例,请参阅。Identity-based 策略示例

AWSCodeStar 通知和AWSCodeConnections 基于资源的政策

AWSCodeStar 通知,AWSCodeConnections 不支持基于资源的策略。

基于标签的授权

您可以为AWSCodeStar 通知和AWSCodeConnections 资源附加标签,也可以在请求中传递标签。要基于标签控制访问,您需要使用 codestar-notifications and codeconnections:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。有关标记策略的更多信息,请参阅标记资源。AWS有关为AWSCodeStar 通知和AWSCodeConnections 资源添加标签的更多信息,请参阅为连接资源添加标签

要查看基于身份的策略(用于根据资源上的标签来限制对该资源的访问)的示例,请参阅 使用标签控制访问权限AWSCodeConnections 资源

IAM 角色

I AM 角色是您的AWS账户中具有特定权限的实体。

使用临时凭证

您可以使用临时凭证进行联合身份登录,代入 IAM 角色或跨账户角色。您可以通过调用AssumeRole或之类的 AWS STS API 操作来获取临时安全证书GetFederationToken

AWSCodeStar 通知并AWSCodeConnections 支持使用临时证书。

Service-linked 角色

Service-linked 角色允许AWS服务访问其他服务中的资源以代表您完成操作。 Service-linked 角色出现在您的 IAM 账户中并归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

AWSCodeStar 通知支持服务相关角色。有关创建或管理AWSCodeStar 通知和AWSCodeConnections 服务相关角色的详细信息,请参阅为 AWS CodeStar 通知使用服务相关角色

CodeConnections 不支持服务相关角色。