

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

# 开发工具控制台中的特征如何与 IAM 配合使用
<a name="security_iam_service-with-iam"></a>

在使用 IAM 管理对开发工具控制台中特征的访问之前，您应了解哪些 IAM 特征可与其结合使用。要全面了解通知和其他 AWS 服务如何与 IAM 配合使用，请参阅 IAM *用户指南中的与 IAM* [配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

**Topics**
+ [开发工具控制台中基于身份的策略](#security_iam_service-with-iam-id-based-policies)
+ [AWS CodeStar 通知和 AWS CodeConnections 基于资源的政策](#security_iam_service-with-iam-resource-based-policies)
+ [基于标签的授权](#security_iam_service-with-iam-tags)
+ [IAM 角色](#security_iam_service-with-iam-roles)

## 开发工具控制台中基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies"></a>

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。 AWS CodeStar 通知和 AWS CodeConnections 支持特定的操作、资源和条件键。要了解在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》中的 [IAM JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)**。

### 操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

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

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

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

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

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

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

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

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

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



AWS CodeStar 通知 API 操作包括：
+ `CreateNotificationRule`
+ `DeleteNotificationRule`
+ `DeleteTarget`
+ `DescribeNotificationRule`
+ `ListEventTypes`
+ `ListNotificationRules`
+ `ListTagsForResource`
+ `ListTargets`
+ `Subscribe`
+ `TagResource`
+ `Unsubscribe`
+ `UntagResource`
+ `UpdateNotificationRule`

AWS CodeConnections API 操作包括以下内容：
+ `CreateConnection`
+ `DeleteConnection`
+ `GetConnection`
+ `ListConnections`
+ `ListTagsForResource`
+ `TagResource`
+ `UntagResource`

要完成身份验证握手，需要执行以下仅限权限的操作： AWS CodeConnections 
+ `GetIndividualAccessToken`
+ `GetInstallationUrl`
+ `ListInstallationTargets`
+ `StartOAuthHandshake`
+ `UpdateConnectionInstallation`

要使用连接，需要执行以下仅限权限 AWS CodeConnections 的操作：
+ `UseConnection`

要将连接传递 AWS CodeConnections 到服务，需要在中执行以下仅限权限的操作：
+ `PassConnection`

要查看 AWS CodeStar 通知和 AWS CodeConnections 操作列表，请参阅 *IAM 用户指南 AWS CodeConnections*中的[AWS CodeStar 通知](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_codestarnotifications.html#codestarnotifications-actions-as-permissions)[定义的操作和由定义](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_codestarconnections.html#codestarconnections-actions-as-permissions)的操作。

### 资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

AWS CodeStar 通知， AWS CodeConnections 不支持在策略 ARNs 中指定资源。

### 条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

AWS CodeStar 通知并 AWS CodeConnections 定义自己的条件键集，还支持使用一些全局条件键。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

 

所有 AWS CodeStar 通知操作都支持`codestar-notifications:NotificationsForResource`条件键。有关更多信息，请参阅 [基于身份的策略示例](security_iam_id-based-policy-examples.md)。

AWS CodeConnections 定义以下可在 IAM 策略`Condition`元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关更多信息，请参阅 [AWS CodeConnections 权限参考](security-iam.md#permissions-reference-connections)。


| 条件键 | 说明 | 
| --- | --- | 
|  `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 | 按第三方存储库的名称筛选访问权限 | 

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



要查看 AWS CodeStar 通知和 AWS CodeConnections 基于身份的策略的示例，请参阅。[基于身份的策略示例](security_iam_id-based-policy-examples.md)

## AWS CodeStar 通知和 AWS CodeConnections 基于资源的政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

AWS CodeStar 通知， AWS CodeConnections 不支持基于资源的策略。

## 基于标签的授权
<a name="security_iam_service-with-iam-tags"></a>

您可以为 AWS CodeStar 通知和 AWS CodeConnections 资源附加标签，也可以在请求中传递标签。要基于标签控制访问，您需要使用 `codestar-notifications and codeconnections:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。有关标记策略的更多信息，请参阅为资源[添加标签。 AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)有关为 AWS CodeStar 通知和 AWS CodeConnections 资源添加标签的更多信息，请参阅[为连接资源添加标签](connections-tag.md)。

要查看基于身份的策略（用于根据资源上的标签来限制对该资源的访问）的示例，请参阅 [使用标签控制对 AWS CodeConnections 资源的访问权限](connections-tag-based-access-control.md)。

## IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

I [AM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是您的 AWS 账户中具有特定权限的实体。

### 使用临时凭证
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

您可以使用临时凭证进行联合身份登录，代入 IAM 角色或跨账户角色。您可以通过调用[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)或之类的 AWS STS API 操作来获取临时安全证书[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)。

AWS CodeStar 通知并 AWS CodeConnections 支持使用临时证书。

### 服务关联角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)允许 AWS 服务访问其他服务中的资源以代表您完成操作。服务关联角色显示在 IAM 账户中，并归该服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

AWS CodeStar 通知支持服务相关角色。有关创建或管理 AWS CodeStar 通知和 AWS CodeConnections 服务相关角色的详细信息，请参阅[为 AWS CodeStar 通知使用服务相关角色](using-service-linked-roles.md)。

CodeConnections 不支持服务相关角色。