

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

# 开发工具控制台功能的安全性
<a name="security"></a>

云安全 AWS 是重中之重。作为 AWS 客户，您可以受益于专为满足大多数安全敏感型组织的要求而构建的数据中心和网络架构。

安全是双方 AWS 的共同责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将其描述为云*的* 安全性和云*中* 的安全性：
+ **云安全** — AWS 负责保护在 AWS 云中运行 AWS 服务的基础架构。 AWS 还为您提供可以安全使用的服务。作为 [AWS 合规性计划](https://aws.amazon.com/compliance/programs/)的一部分，第三方审核人员将定期测试和验证安全性的有效性。要了解适用于 AWS CodeStar 通知的合规性计划 AWS CodeConnections，请参阅[合规性计划范围内的AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)。
+ **云端安全**-您的责任由您使用的 AWS 服务决定。您还需要对其他因素负责，包括您的数据的敏感性、您公司的要求以及适用的法律法规。

本文档可帮助您了解在使用 AWS CodeStar 通知和时如何应用分担责任模型 AWS CodeConnections。以下主题向您介绍如何配置 AWS CodeStar 通知以及 AWS CodeConnections 如何实现您的安全和合规性目标。您还将学习如何使用其他 AWS 服务来帮助您监控和保护您的 AWS CodeStar 通知和 AWS CodeConnections 资源。

有关开发工具控制台中服务的安全性的更多信息，请参阅以下内容：
+ [CodeBuild 安全性](https://docs.aws.amazon.com/codebuild/latest/userguide/security.html)
+ [CodeCommit 安全性](https://docs.aws.amazon.com/codecommit/latest/userguide/security.html)
+ [CodeDeploy 安全性](https://docs.aws.amazon.com/codedeploy/latest/userguide/security.html)
+ [CodePipeline 安全性](https://docs.aws.amazon.com/codepipeline/latest/userguide/security.html)

## 了解通知内容和安全性
<a name="security-notifications"></a>

通知向订阅您配置的通知规则目标的用户提供有关资源的信息。此等信息可以包括有关开发工具资源的详细信息，包括存储库内容、构建状态、部署状态和管道执行。

例如，您可以为中的仓库配置通知规则，使其包含 CodeCommit 对提交或拉取请求的评论。如果是这样，响应该规则而发送的通知可能包含该注释中引用的一行或多行代码。同样，您可以在中为构建项目配置通知规则， CodeBuild 以包括生成状态和阶段的成功或失败。响应该规则发送的通知将包含该信息。

您可以为中的管道配置通知规则， CodePipeline 使其包含有关手动批准的信息，而为响应该规则而发送的通知可能包含提供该批准的人员的姓名。您可以在中为应用程序配置通知规则 CodeDeploy 以指示部署成功，而为响应该规则而发送的通知可能包含有关部署目标的信息。

通知可以包括特定于项目的信息，例如构建状态、具有注释的代码行、部署状态和管道批准。因此为了帮助确保项目的安全性，请确保定期检查通知规则的目标以及指定为目标的 Amazon SNS 主题的订阅者列表。此外，随着将附加功能添加到基础服务中，响应事件而发送的通知的内容可能会更改。发生此等更改时不通知已存在的通知规则。考虑定期查看通知消息的内容，以帮助确保您了解发送的内容以及发送给谁。

有关可用于通知规则的事件类型的更多信息，请参阅 [通知概念](concepts.md)。

您可以选择将通知中包含的详细信息限制为仅包含在事件中的内容。这被称为 **Basic (基本)** 详细信息类型。这些事件包含的信息与发送给亚马逊 EventBridge 和亚马逊 CloudWatch 活动的信息完全相同。

开发者工具控制台服务（例如 CodeCommit）可能会选择在通知消息中添加有关其部分或全部事件类型的信息，而不是活动中提供的信息。此补充信息可随时添加，以增强当前的活动类型或补充未来的活动类型。您可以通过选择 **Full (完整)** 详细信息类型，在通知中包含有关事件的所有补充信息。有关更多信息，请参阅 [详细信息类型](concepts.md#detail-type)。

# AWS CodeStar 通知中的数据保护和 AWS CodeConnections
<a name="data-protection"></a>

分 AWS [担责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于 AWS CodeStar 通知中的数据保护，以及 AWS CodeConnections. 如本模型所述 AWS ，负责保护运行所有内容的全球基础架构 AWS 云。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

出于数据保护目的，我们建议您保护 AWS 账户 凭证并使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 设置个人用户。这样，每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证（MFA）。
+ 使用 SSL/TLS 与资源通信。 AWS 我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 使用设置 API 和用户活动日志 AWS CloudTrail。有关使用 CloudTrail 跟踪捕获 AWS 活动的信息，请参阅《*AWS CloudTrail 用户指南》*中的[使用跟 CloudTrail 踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅[《美国联邦信息处理标准（FIPS）第 140-3 版》](https://aws.amazon.com/compliance/fips/)。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。这包括您使用控制台、 AWS CLI API AWS CodeConnections 或 AWS 服务 使用 AWS CodeStar 通知和其他操作时 AWS SDKs。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供网址，强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

# AWS CodeStar 通知的身份和访问权限管理 AWS CodeConnections
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制谁可以*进行身份验证*（登录）和*授权（有权*限）使用 AWS CodeStar 通知和 AWS CodeConnections 资源。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**注意**  
可以对在新服务前缀下创建`codeconnections`的资源执行操作。在新服务前缀下创建资源将在资源 ARN `codeconnections` 中使用。`codestar-connections`服务前缀的操作和资源仍然可用。在 IAM 策略中指定资源时，服务前缀需要与资源的服务前缀相匹配。

**Topics**
+ [受众](#security_iam_audience)
+ [使用身份进行身份验证](#security_iam_authentication)
+ [使用策略管理访问](#security_iam_access-manage)
+ [开发工具控制台中的特征如何与 IAM 配合使用](security_iam_service-with-iam.md)
+ [AWS CodeConnections 权限参考](#permissions-reference-connections)
+ [基于身份的策略示例](security_iam_id-based-policy-examples.md)
+ [使用标签控制对 AWS CodeConnections 资源的访问权限](connections-tag-based-access-control.md)
+ [使用控制台中的通知和连接](#security_iam_id-based-policy-examples-console)
+ [允许用户查看他们自己的权限](#security_iam_id-based-policy-examples-view-own-permissions)
+ [故障排除 AWS CodeStar 通知、 AWS CodeConnections 身份和访问权限](security_iam_troubleshoot.md)
+ [为 AWS CodeStar 通知使用服务相关角色](using-service-linked-roles.md)
+ [将服务相关角色用于 AWS CodeConnections](service-linked-role-connections.md)
+ [AWS 的托管策略 AWS CodeConnections](security-iam-awsmanpol.md)

## 受众
<a name="security_iam_audience"></a>

您的使用方式 AWS Identity and Access Management (IAM) 因您的角色而异：
+ **服务用户**：如果您无法访问功能，请从管理员处请求权限（请参阅[故障排除 AWS CodeStar 通知、 AWS CodeConnections 身份和访问权限](security_iam_troubleshoot.md)）
+ **服务管理员**：确定用户访问权限并提交权限请求（请参阅[开发工具控制台中的特征如何与 IAM 配合使用](security_iam_service-with-iam.md)）
+ **IAM 管理员**：编写用于管理访问权限的策略（请参阅[基于身份的策略示例](security_iam_id-based-policy-examples.md)）

## 使用身份进行身份验证
<a name="security_iam_authentication"></a>

身份验证是您 AWS 使用身份凭证登录的方式。您必须以 IAM 用户身份进行身份验证 AWS 账户根用户，或者通过担任 IAM 角色进行身份验证。

您可以使用来自身份源的证书 AWS IAM Identity Center （例如（IAM Identity Center）、单点登录身份验证或 Google/Facebook 证书，以联合身份登录。有关登录的更多信息，请参阅《AWS 登录 用户指南》**中的[如何登录您的 AWS 账户](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。

对于编程访问， AWS 提供 SDK 和 CLI 来对请求进行加密签名。有关更多信息，请参阅*《IAM 用户指南》*中的[适用于 API 请求的AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

### AWS 账户根用户
<a name="security_iam_authentication-rootuser"></a>

 创建时 AWS 账户，首先会有一个名为 AWS 账户 *root 用户的*登录身份，该身份可以完全访问所有资源 AWS 服务 和资源。我们强烈建议不要使用根用户进行日常任务。有关要求根用户凭证的任务，请参阅*《IAM 用户指南》*中的[需要根用户凭证的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

### IAM 用户和群组
<a name="security_iam_authentication-iamuser"></a>

*[IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*是对某个人员或应用程序具有特定权限的一个身份。建议使用临时凭证，而非具有长期凭证的 IAM 用户。有关更多信息，请参阅 *IAM 用户指南*[中的要求人类用户使用身份提供商的联合身份验证才能 AWS 使用临时证书进行访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)指定一组 IAM 用户，便于更轻松地对大量用户进行权限管理。有关更多信息，请参阅*《IAM 用户指南》*中的 [IAM 用户使用案例](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

*[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是具有特定权限的身份，可提供临时凭证。您可以通过[从用户切换到 IAM 角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)或调用 AWS CLI 或 AWS API 操作来代入角色。有关更多信息，请参阅《IAM 用户指南》**中的[担任角色的方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)。

IAM 角色对于联合用户访问、临时 IAM 用户权限、跨账户访问、跨服务访问以及在 Amazon EC2 上运行的应用程序非常有用。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## 使用策略管理访问
<a name="security_iam_access-manage"></a>

您可以 AWS 通过创建策略并将其附加到 AWS 身份或资源来控制中的访问权限。策略定义了与身份或资源关联时的权限。 AWS 在委托人提出请求时评估这些政策。大多数策略都以 JSON 文档的 AWS 形式存储在中。有关 JSON 策略文档的更多信息，请参阅*《IAM 用户指南》*中的 [JSON 策略概述](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理员使用策略，通过定义哪个**主体**可以在什么**条件**下对哪些**资源**执行哪些**操作**来指定谁有权访问什么。

默认情况下，用户和角色没有权限。IAM 管理员创建 IAM 策略并将其添加到角色中，然后用户可以担任这些角色。IAM 策略定义权限，与执行操作所用的方法无关。

### 基于身份的策略
<a name="security_iam_access-manage-id-based-policies"></a>

基于身份的策略是您附加到身份（用户、组或角色）的 JSON 权限策略文档。这些策略控制身份可以执行什么操作、对哪些资源执行以及在什么条件下执行。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

基于身份的策略可以是*内联策略*（直接嵌入到单个身份中）或*托管策略*（附加到多个身份的独立策略）。要了解如何在托管策略和内联策略之间进行选择，请参阅*《IAM 用户指南》*中的[在托管策略与内联策略之间进行选择](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)。

# 开发工具控制台中的特征如何与 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 不支持服务相关角色。

## AWS CodeConnections 权限参考
<a name="permissions-reference-connections"></a>

下表列出了每个 AWS CodeConnections API 操作、您可以为其授予权限的相应操作以及用于授予权限的资源 ARN 的格式。根据该 API 允许的操作范围将 AWS CodeConnections APIs 它们分成表格。在编写可附加到 IAM 身份的权限策略（基于身份的策略）时，可参考此表。

在创建权限策略时，可以在策略的 `Action` 字段中指定操作。在策略的 `Resource` 字段中以 ARN 的形式指定资源值，可以使用或不使用通配符 (\$1)。

要在连接策略中表达条件，可以使用此处描述的和 [条件键](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys) 中列出的条件键。您也可以使用 AWS-wide 条件键。有关 AWS范围密钥的完整列表，请参阅 *IAM 用户指南*中的[可用密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)。

要指定操作，请在 API 操作名称之前使用 `codeconnections` 前缀 (例如，`codeconnections:ListConnections` 或 `codeconnections:CreateConnection`)。

**使用通配符**

要指定多个操作或资源，可以在 ARN 中使用通配符 (\$1)。例如，`codeconnections:*`指定所有 AWS CodeConnections 动作并`codeconnections:Get*`指定以单词开头的所有 AWS CodeConnections 动作`Get`。以下示例授予对以 `MyConnection` 名称开头的所有资源的访问权限。

```
arn:aws:codeconnections:us-west-2:account-ID:connection/*
```

只能对下表中列出的*connection*资源使用通配符。不能在*region*或*account-id*资源中使用通配符。有关通配符的更多信息，请参阅 *IAM 用户指南*中的 [IAM 标识符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)。

**Topics**
+ [用于管理连接的权限](#permissions-reference-connections-managing)
+ [用于管理主机的权限](#permissions-reference-connections-hosts)
+ [用于完成连接的权限](#permissions-reference-connections-handshake)
+ [设置主机的权限](#connections-permissions-actions-host-registration)
+ [将连接传递到服务](#permissions-reference-connections-passconnection)
+ [使用连接](#permissions-reference-connections-use)
+ [对于 `ProviderAction` 支持的访问类型](#permissions-reference-connections-access)
+ [标记连接资源支持的权限](#permissions-reference-connections-tagging)
+ [将连接传递到存储库链接](#permissions-reference-connections-passrepository)
+ [存储库链接支持的条件键](#permissions-reference-connections-branch)
+ [支持的连接共享权限](#permissions-reference-connections-sharing)

### 用于管理连接的权限
<a name="permissions-reference-connections-managing"></a>

被指定使用或 SDK 查看、创建 AWS CLI 或删除连接的角色或用户的权限应限制为以下内容。

**注意**  
您无法在仅具有以下权限的情况时，在控制台中完成或使用连接。您需要添加 [用于完成连接的权限](#permissions-reference-connections-handshake) 中的权限。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 管理连接所需的权限**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  CreateConnection  |  `codeconnections:CreateConnection` 使用 CLI 或控制台创建连接所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  DeleteConnection  |  `codeconnections:DeleteConnection` 使用 CLI 或控制台删除连接所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  GetConnection  |  `codeconnections:GetConnection` 使用 CLI 或控制台查看连接详细信息所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  ListConnections  |  `codeconnections:ListConnections` 使用 CLI 或控制台列出账户中的所有连接所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 

这些操作支持以下条件键：


| Action | 条件键 | 
| --- | --- | 
|  `codeconnections:CreateConnection`  |  `codeconnections:ProviderType`  | 
|  codeconnections:DeleteConnection | 不适用 | 
| codeconnections:GetConnection | 不适用 | 
| codeconnections:ListConnections | codeconnections:ProviderTypeFilter | 

### 用于管理主机的权限
<a name="permissions-reference-connections-hosts"></a>

被指定使用或 SDK 查看、创建 AWS CLI 或删除主机的角色或用户的权限应限制为以下内容。

**注意**  
您无法在仅具有以下权限的情况时，在主机中完成或使用连接。您需要添加 [设置主机的权限](#connections-permissions-actions-host-registration) 中的权限。

```
codeconnections:CreateHost
codeconnections:DeleteHost
codeconnections:GetHost
codeconnections:ListHosts
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 管理主机所需的权限**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  CreateHost  |  `codeconnections:CreateHost` 使用 CLI 或控制台创建主机所必需。  |  arn: aws: codeconnections:: host/ *region* *account-id* *host-id*  | 
|  DeleteHost  |  `codeconnections:DeleteHost` 使用 CLI 或控制台删除主机所必需。  |  代码连接::: *region* host/ *account-id* *host-id*  | 
|  GetHost  |  `codeconnections:GetHost` 使用 CLI 或控制台查看主机详细信息所必需。  |  arn: aws: codeconnections:: host/ *region* *account-id* *host-id*  | 
|  ListHosts  |  `codeconnections:ListHosts` 使用 CLI 或控制台列出账户中的所有主机所必需。  |  arn: aws: codeconnections:: host/ *region* *account-id* *host-id*  | 

这些操作支持以下条件键：


| Action | 条件键 | 
| --- | --- | 
|  `codeconnections:CreateHost`  |  `codeconnections:ProviderType` `codeconnections:VpcId`  | 
|  codeconnections:DeleteHost | 不适用 | 
| codeconnections:GetHost | 不适用 | 
| codeconnections:ListHosts | codeconnections:ProviderTypeFilter | 

有关使用**VpcId**条件密钥的策略示例，请参阅[示例：使用**VpcId**上下文密钥限制主机 VPC 权限](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-vpc)。

### 用于完成连接的权限
<a name="permissions-reference-connections-handshake"></a>

指定用于在控制台中管理连接的角色或用户，应具有在控制台中完成连接和创建安装所需的权限，这包括授权与提供程序握手和为要使用的连接创建安装。除了上述权限之外，还可以使用以下权限。

控制台在执行基于浏览器的握手时使用以下 IAM 操作。`ListInstallationTargets`、`GetInstallationUrl`、`StartOAuthHandshake`、`UpdateConnectionInstallation` 和 `GetIndividualAccessToken` 是 IAM 策略权限。它们不是 API 操作。

```
codeconnections:GetIndividualAccessToken
codeconnections:GetInstallationUrl
codeconnections:ListInstallationTargets
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
```

基于这一点，在控制台中使用、创建、更新或删除连接需要以下权限。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 完成连接所需的权限**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `GetIndividualAccessToken`  |  `codeconnections:GetIndividualAccessToken` 使用控制台完成连接所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `GetInstallationUrl`  |  `codeconnections:GetInstallationUrl` 使用控制台完成连接所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListInstallationTargets`  |  `codeconnections:ListInstallationTargets` 使用控制台完成连接所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `StartOAuthHandshake`  |  `codeconnections:StartOAuthHandshake` 使用控制台完成连接所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `UpdateConnectionInstallation`  |  `codeconnections:UpdateConnectionInstallation` 使用控制台完成连接所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 

这些操作支持以下条件键。


| Action | 条件键 | 
| --- | --- | 
| codeconnections:GetIndividualAccessToken | codeconnections:ProviderType | 
|  codeconnections:GetInstallationUrl | codeconnections:ProviderType | 
|  `codeconnections:ListInstallationTargets`  |  不适用  | 
| codeconnections:StartOAuthHandshake | codeconnections:ProviderType | 
| codeconnections:UpdateConnectionInstallation | codeconnections:InstallationId | 

### 设置主机的权限
<a name="connections-permissions-actions-host-registration"></a>

指定在控制台中管理连接的角色或用户应具有在控制台中设置主机所需的权限，包括向提供程序授权握手和安装主机应用程序。除了上述主机权限之外，还可以使用以下权限。

控制台在执行基于浏览器的主机注册时使用以下 IAM 操作。`RegisterAppCode` 和 `StartAppRegistrationHandshake` 是 IAM 策略权限。它们不是 API 操作。

```
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

基于这一点，在控制台中使用、创建、更新或删除需要主机的连接需要以下权限（例如已安装的提供程序类型）。

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 完成主机设置所需的权限**  

| 连接操作 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `RegisterAppCode`  |  `codeconnections:RegisterAppCode` 使用控制台来完成主机设置所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: codeconnections:: host/ *region* *account-id* *host-id*  | 
|  `StartAppRegistrationHandshake`  |  `codeconnections:StartAppRegistrationHandshake` 使用控制台来完成主机设置所必需。这只是一种 IAM 策略权限，不是 API 操作。  |  arn: aws: codeconnections:: host/ *region* *account-id* *host-id*  | 

这些操作支持以下条件键。

### 将连接传递到服务
<a name="permissions-reference-connections-passconnection"></a>

将连接传递到服务时（例如，在管道定义中提供连接 ARN 以创建或更新管道时），用户必须具有 `codeconnections:PassConnection` 权限。

使用滚动条查看表的其余部分。


**AWS CodeConnections 传递连接所需的权限**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `PassConnection`  |  `codeconnections:PassConnection` 将连接传递到服务所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 

此操作还支持以下条件键：
+ `codeconnections:PassedToService`


**条件键的受支持值**  

| Key | 有效操作提供方 | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/security-iam.html)  | 

### 使用连接
<a name="permissions-reference-connections-use"></a>

当诸如此类的服务 CodePipeline 使用连接时，该服务角色必须具有对给定连接的`codeconnections:UseConnection`权限。

要在控制台中管理连接，用户策略必须具有 `codeconnections:UseConnection` 权限。

使用滚动条查看表的其余部分。


**AWS CodeConnections 使用连接所需的操作**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `UseConnection`  |  `codeconnections:UseConnection` 使用连接所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 

此操作还支持以下条件键：
+ `codeconnections:BranchName`
+ `codeconnections:FullRepositoryId`
+ `codeconnections:OwnerId`
+ `codeconnections:ProviderAction`
+ `codeconnections:ProviderPermissionsRequired`
+ `codeconnections:RepositoryName`


**条件键的受支持值**  

| Key | 有效操作提供方 | 
| --- | --- | 
|  `codeconnections:FullRepositoryId`  |  存储库的用户名和存储库名称，例如 `my-owner/my-repository`。仅当连接用于访问特定存储库时才支持。  | 
|  `codeconnections:ProviderPermissionsRequired`  |  read\$1only 或 read\$1write  | 
|  `codeconnections:ProviderAction`  |  `GetBranch`, `ListRepositories`, `ListOwners`, `ListBranches`, `StartUploadArchiveToS3`, `GitPush`, `GitPull`, `GetUploadArchiveToS3Status`, `CreatePullRequestDiffComment`, `GetPullRequest`, `ListBranchCommits`, `ListCommitFiles`, `ListPullRequestComments`, `ListPullRequestCommits`. 有关信息，请参阅下一部分。  | 

某个功能所需的条件键可能会随着时间的推移而更改。建议使用 `codeconnections:UseConnection` 来控制对连接的访问，除非您的访问控制需求不同的权限。

### 对于 `ProviderAction` 支持的访问类型
<a name="permissions-reference-connections-access"></a>

当 AWS 服务使用连接时，会导致向您的源代码提供商发出 API 调用。例如，服务可能会通过调用 `https://api.bitbucket.org/2.0/repositories/username` API 来列出 Bitbucket 连接的存储库。

`ProviderAction`条件键允许您限制在提供商 APIs 上可以调用哪个。由于 API 路径可能是动态生成的，并且路径因提供方而异，因此 `ProviderAction` 值映射到抽象操作名称而不是 API 的 URL。这允许您编写具有相同效果的策略，无论连接的提供程序类型如何。

以下是授予每个受支持的 `ProviderAction` 值的访问类型。以下是 IAM 策略权限。它们不是 API 操作。

使用滚动条查看表的其余部分。


**AWS CodeConnections 支持的访问类型 `ProviderAction`**  

| AWS CodeConnections 许可 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `GetBranch`  |  ` codeconnections:GetBranch` 访问有关分支的信息所必需，例如该分支的最新提交。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListRepositories`  |  ` codeconnections:ListRepositories` 访问属于所有者的公有存储库和私有存储库列表（包括有关这些存储库的详细信息）时所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListOwners`  |  `codeconnections:ListOwners` 访问连接有权访问的拥有者列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListBranches`  |  ` codeconnections:ListBranches` 访问给定存储库上存在的分支列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `StartUploadArchiveToS3`  |  ` codeconnections:StartUploadArchiveToS3` 读取源代码并将其上传到 Amazon S3 所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `GitPush`  |  ` codeconnections:GitPush` 使用 Git 写入存储库所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `GitPull`  |  ` codeconnections:GitPull` 使用 Git 从存储库读取所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
| GetUploadArchiveToS3Status |  ` codeconnections:GetUploadArchiveToS3Status` 访问 `StartUploadArchiveToS3` 启动的上传的状态所必需，包括任何错误消息。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
| CreatePullRequestDiffComment |  ` codeconnections:CreatePullRequestDiffComment` 访问拉取请求的注释所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
| GetPullRequest |  ` codeconnections:GetPullRequest` 查看存储库的拉取请求所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListBranchCommits`  |  ` codeconnections:ListBranchCommits` 查看存储库分支的提交的列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListCommitFiles`  |  ` codeconnections:ListCommitFiles` 查看要提交文件的列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListPullRequestComments`  |  ` codeconnections:ListPullRequestComments` 查看拉取请求的注释的列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 
|  `ListPullRequestCommits`  |  ` codeconnections:ListPullRequestCommits` 查看拉取请求的提交的列表所必需。  |  arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*  | 

### 标记连接资源支持的权限
<a name="permissions-reference-connections-tagging"></a>

标记连接资源时使用以下 IAM 操作。

```
codeconnections:ListTagsForResource
codeconnections:TagResource
codeconnections:UntagResource
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 标记连接资源所需的操作**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `ListTagsForResource`  |  `codeconnections:ListTagsForResource` 查看与连接资源关联的标签列表所必需。  | arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*,arn: aws: codeconnections:: host/ *region* *account-id* *host-id* | 
|  `TagResource`  |  `codeconnections:TagResource` 标记连接资源所必需。  | arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*,arn: aws: codeconnections:: host/ *region* *account-id* *host-id* | 
|  `UntagResource`  |  `codeconnections:UntagResource` 从连接资源移除标签时所必需。  | arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id*,arn: aws: codeconnections:: host/ *region* *account-id* *host-id* | 

### 将连接传递到存储库链接
<a name="permissions-reference-connections-passrepository"></a>

在同步配置中提供存储库链接时，用户必须拥有存储库链接 ARN/resource 的 `codeconnections:PassRepository` 权限。

使用滚动条查看表的其余部分。


**AWS CodeConnections 传递连接所需的权限**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `PassRepository`  |  `codeconnections:PassRepository` 需要将存储库链接传递到同步配置。  |  arn: aws: codeconnections:: repository-lin *region* *account-id* *repository-link-id*  | 

此操作还支持以下条件键：
+ `codeconnections:PassedToService`


**条件键的受支持值**  

| Key | 有效操作提供方 | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/security-iam.html)  | 

### 存储库链接支持的条件键
<a name="permissions-reference-connections-branch"></a>

以下条件键支持对存储库链接和同步配置资源的操作：
+ `codeconnections:Branch`

  按请求中传递的分支名称来筛选访问权限。


**条件键支持的操作**  

| Key | 有效值 | 
| --- | --- | 
|  `codeconnections:Branch`  | 此条件键支持以下操作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/security-iam.html) | 

### 支持的连接共享权限
<a name="permissions-reference-connections-sharing"></a>

共享连接时使用以下 IAM 操作。

```
codeconnections:GetResourcePolicy
```

使用滚动条查看表的其余部分。


**AWS CodeConnections 共享连接所需的操作**  

| AWS CodeConnections 行动 | 所需的权限  | 资源 | 
| --- | --- | --- | 
|  `GetResourcePolicy`  |  `codeconnections:GetResourcePolicy` 访问有关资源策略的信息所必需的。  | arn: aws: 代码连接::: 连接/ *region* *account-id* *connection-id* | 

有关连接共享的更多信息，请参阅[与共享连接 AWS 账户](connections-share.md)。

# 基于身份的策略示例
<a name="security_iam_id-based-policy-examples"></a>

默认情况下，拥有、 AWS CodeCommit AWS CodeBuild AWS CodeDeploy、或 AWS CodePipeline 应用了其中一项托管策略的 IAM 用户和角色有权访问与这些策略意图一致的连接、通知和通知规则。例如，应用了其中一项完全访问策略（**AWSCodeCommitFullAccess**、**AWSCodeBuildAdminAccess**AWSCodeDeployFullAccess****、或 **AWSCodePipeline\$1FullAccess**）的 IAM 用户或角色也可以完全访问为这些服务的资源创建的通知和通知规则。

其他 IAM 用户和角色无权创建或修改 AWS CodeStar 通知和 AWS CodeConnections资源。他们也无法使用 AWS 管理控制台 AWS CLI、或 AWS API 执行任务。IAM 管理员必须创建适当 IAM 策略，为用户和角色授予权限，以便对他们所需的指定资源执行 API 操作。然后，管理员必须将这些策略附加到需要这些权限的 IAM 用户或组。

# AWS CodeStar 通知的权限和示例
<a name="security_iam_id-based-policy-examples-notifications"></a>

以下政策声明和示例可以帮助您管理 AWS CodeStar 通知。

## 完全访问托管策略中的通知的相关权限
<a name="notifications-fullaccess"></a>

**AWSCodeCommitFullAccess**、**AWSCodeBuildAdminAccess**AWSCodeDeployFullAccess****、和**AWSCodePipeline\$1FullAccess**托管策略包括以下语句，允许在开发者工具控制台中完全访问通知。已应用其中一项托管策略的用户还可以创建和管理通知的 Amazon SNS 主题、为用户订阅和取消订阅主题以及列出要选择作为通知规则目标的主题。

**注意**  
在托管策略中，条件键 `codestar-notifications:NotificationsForResource` 将具有特定于服务的资源类型的值。例如，在的完全访问策略中 CodeCommit，值为`arn:aws:codecommit:*`。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 只读托管策略中的通知的相关权限
<a name="notifications-readonly"></a>

**AWSCodeCommitReadOnlyAccess**、**AWSCodeBuildReadOnlyAccess**AWSCodeDeployReadOnlyAccess****、和**AWSCodePipeline\$1ReadOnlyAccess**托管策略包括以下语句，允许对通知进行只读访问。例如，它们可以在 开发工具控制台中查看资源的通知，但无法创建、管理或订阅这些通知。

**注意**  
在托管策略中，条件键 `codestar-notifications:NotificationsForResource` 将具有特定于服务的资源类型的值。例如，在的完全访问策略中 CodeCommit，值为`arn:aws:codecommit:*`。

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

## 其他托管策略中的通知的相关权限
<a name="notifications-otheraccess"></a>

**AWSCodeCommitPowerUser**AWSCodeBuildDeveloperAccess****、和**AWSCodeBuildDeveloperAccess**托管策略包括以下声明，允许应用其中一个托管策略的开发者创建、编辑和订阅通知。他们无法删除通知规则或管理资源的标签。

**注意**  
在托管策略中，条件键 `codestar-notifications:NotificationsForResource` 将具有特定于服务的资源类型的值。例如，在的完全访问策略中 CodeCommit，值为`arn:aws:codecommit:*`。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 示例：用于管理通知的管理员级别策略 AWS CodeStar
<a name="security_iam_id-based-policy-examples-notifications-full-access"></a>

在此示例中，您想向 AWS 账户中的 IAM 用户授予对 AWS CodeStar 通知的完全访问权限，以便该用户可以查看通知规则的详细信息并列出通知规则、目标和事件类型。您还想要允许该用户添加、更新和删除通知规则。这是一个完全访问策略，等同于、**AWSCodeBuildAdminAccess**AWSCodeCommitFullAccess**AWSCodeDeployFullAccess******、和**AWSCodePipeline\$1FullAccess**托管策略中包含的通知权限。与这些托管策略一样，您只应将此类政策声明附加到需要对整个 AWS 账户中的通知和通知规则具有完全管理权限的 IAM 用户、群组或角色。

**注意**  
此策略包含允许 `CreateNotificationRule`。将此策略应用于其 IAM 用户或角色的任何用户都可以为 AWS 账户中通知支持的任何和所有资源类型创建 AWS CodeStar 通知规则，即使该用户自己无权访问这些资源也是如此。例如，拥有此策略的用户可以在没有访问权限的情况下为 CodeCommit 仓库创建通知 CodeCommit规则。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "AWSCodeStarNotificationsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:DeleteTarget",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:TagResource",
            "codestar-notifications:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 示例：用于使用通知的贡献者级别策略 AWS CodeStar
<a name="security_iam_id-based-policy-examples-notifications-contributor"></a>

在此示例中，您希望授予 day-to-day使用 AWS CodeStar 通知的权限，例如创建和订阅通知，但不允许授予更具破坏性的操作的访问权限，例如删除通知规则或目标。这等同于**AWSCodeBuildDeveloperAccess**AWSCodeDeployDeveloperAccess****、和**AWSCodeCommitPowerUser**托管策略中提供的访问权限。

**注意**  
此策略包含允许 `CreateNotificationRule`。将此策略应用于其 IAM 用户或角色的任何用户都可以为 AWS 账户中通知支持的任何和所有资源类型创建 AWS CodeStar 通知规则，即使该用户自己无权访问这些资源也是如此。例如，拥有此策略的用户可以在没有访问权限的情况下为 CodeCommit 仓库创建通知 CodeCommit规则。

```
{
    "Version": "2012-10-17",		 	 	 
    "Sid": "AWSCodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource"
        ],
        "Resource": "*"
        }
    ]
}
```

## 示例：使用 AWS CodeStar 通知的 read-only-level策略
<a name="security_iam_id-based-policy-examples-notifications-read-only"></a>

在此示例中，您要向您账户中的 IAM 用户授予对 AWS 账户中的通知规则、目标和事件类型的只读访问权限。该示例说明了如何创建策略以允许查看这些项。这等同于**AWSCodeBuildReadOnlyAccess**AWSCodeCommitReadOnly****、和**AWSCodePipeline\$1ReadOnlyAccess**托管策略中包含的权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "CodeNotificationforReadOnly",
    "Statement": [
        {
            "Sid": "ReadsAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-notifications:DescribeNotificationRule",
                "codestar-notifications:ListNotificationRules",
                "codestar-notifications:ListTargets",
                "codestar-notifications:ListEventTypes"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# 的权限和示例 AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections"></a>

以下策略语句和示例可帮助您管理 AWS CodeConnections。

要了解如何使用这些示例 JSON 策略文档创建 IAM 基于身份的策略，请参阅 *IAM 用户指南* 中的[在 JSON 选项卡上创建策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)。

## 示例：使用 CLI 创建和 AWS CodeConnections 使用控制台查看的策略
<a name="security_iam_id-based-policy-examples-connections-clisdk"></a>

被指定使用 AWS CLI 或 SDK 查看、创建、标记或删除连接的角色或用户的权限应限制为以下内容。

**注意**  
您无法在仅具有以下权限的情况时，在控制台中完成连接。您需要在下一部分中添加权限。

要使用控制台查看可用连接的列表、查看标签以及使用连接，请使用以下策略。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ConnectionsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codeconnections:CreateConnection",
            "codeconnections:DeleteConnection",
            "codeconnections:UseConnection",
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:TagResource",
            "codeconnections:ListTagsForResource",
            "codeconnections:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 示例：使用控制台创建 AWS CodeConnections 的策略
<a name="security_iam_id-based-policy-examples-connections-console"></a>

指定用于在控制台中管理连接的角色或用户，应具有在控制台中完成连接和创建安装所需的权限，这包括授权与提供程序握手和为要使用的连接创建安装。在控制台中使用连接还需要添加 `UseConnection`。使用以下策略在控制台中查看、使用、创建、标记或删除连接。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**注意**  
对于使用控制台创建的资源，策略声明操作必须包含`codestar-connections`作为服务前缀，如以下示例所示。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codestar-connections:CreateConnection",
                "codestar-connections:DeleteConnection",
                "codestar-connections:GetConnection",
                "codestar-connections:ListConnections",
                "codestar-connections:GetInstallationUrl",
                "codestar-connections:GetIndividualAccessToken",
                "codestar-connections:ListInstallationTargets",
                "codestar-connections:StartOAuthHandshake",
                "codestar-connections:UpdateConnectionInstallation",
                "codestar-connections:UseConnection",
                "codestar-connections:TagResource",
                "codestar-connections:ListTagsForResource",
                "codestar-connections:UntagResource"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 示例：管理员级别的管理策略 AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-fullaccess"></a>

在此示例中，您想向 AWS 账户中的 IAM 用户授予完全访问权限， CodeConnections 以便该用户可以添加、更新和删除连接。这是完全访问策略，等同于**AWSCodePipeline\$1FullAccess**托管策略。与该托管策略一样，您只应将此类策略声明附加到需要对 AWS 账户连接具有完全管理权限的 IAM 用户、群组或角色。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ConnectionsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codeconnections:CreateConnection",
            "codeconnections:DeleteConnection",
            "codeconnections:UseConnection",
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:ListInstallationTargets",
            "codeconnections:GetInstallationUrl",
            "codeconnections:StartOAuthHandshake",
            "codeconnections:UpdateConnectionInstallation",
            "codeconnections:GetIndividualAccessToken",
            "codeconnections:TagResource",
            "codeconnections:ListTagsForResource",
            "codeconnections:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 示例：用于使用的贡献者级别的策略 AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-contributor"></a>

在此示例中，您希望授予 day-to-day使用权限 CodeConnections，例如创建和查看连接的详细信息，但不允许授予更具破坏性的操作（例如删除连接）的访问权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCodeConnectionsPowerUserAccess",
            "Effect": "Allow",
            "Action": [
                "codeconnections:CreateConnection",
                "codeconnections:UseConnection",
                "codeconnections:GetConnection",
                "codeconnections:ListConnections",
                "codeconnections:ListInstallationTargets",
                "codeconnections:GetInstallationUrl",
                "codeconnections:GetIndividualAccessToken",
                "codeconnections:StartOAuthHandshake",
                "codeconnections:UpdateConnectionInstallation",
                "codeconnections:ListTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 示例：使用 read-only-level策略 AWS CodeConnections
<a name="security_iam_id-based-policy-examples-connections-readonly"></a>

在此示例中，您想向账户中的 IAM 用户授予对您账户中连接的只读访问权限。 AWS 该示例说明了如何创建策略以允许查看这些项。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ConnectionsforReadOnly",
    "Statement": [
        {
            "Sid": "ReadsAPIAccess",
            "Effect": "Allow",
            "Action": [
            "codeconnections:GetConnection",
            "codeconnections:ListConnections",
            "codeconnections:ListInstallationTargets",
            "codeconnections:GetInstallationUrl",
            "codeconnections:ListTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------<a name="security_iam_id-based-policy-examples-connections-use"></a>

## 示例：使用**VpcId**上下文密钥限制主机 VPC 权限
<a name="security_iam_id-based-policy-examples-connections-vpc"></a>

在以下示例中，客户可以使用**VpcId**上下文密钥将主机的创建或管理限制在具有指定 VPC 的主机上。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "codeconnections:CreateHost",
                "codeconnections:UpdateHost"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "codeconnections:VpcId": "vpc-EXAMPLE"
                }
            }
        }
    ]
}
```

------

# 使用标签控制对 AWS CodeConnections 资源的访问权限
<a name="connections-tag-based-access-control"></a>

标签可以附加到资源，也可以从请求传入支持标签的服务。在中 AWS CodeConnections，资源可以有标签，有些操作可以包含标签。在创建 IAM 策略时，您可以使用标签条件键来控制以下：
+ 基于资源已有的标签，哪些用户可以对管道资源执行操作。
+ 哪些标签可以在操作的请求中传递。
+ 特定的标签键是否能在请求中使用。

以下示例演示了如何在策略中为 AWS CodeConnections 用户指定标签条件。

**Example 1：基于请求中的标签允许操作**  
以下策略授予用户在中创建连接的权限 AWS CodeConnections。  
为此，如果请求指定一个名为 `Project` 的带有值 `ProjectA` 的标签，则它允许 `CreateConnection` 和 `TagResource` 操作。（`aws:RequestTag` 条件键用于控制可以通过 IAM 请求传递哪些标签。） `aws:TagKeys` 条件确保标签键区分大小写。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeconnections:CreateConnection",
        "codeconnections:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

**Example 2：基于资源标签允许操作**  
以下策略授予用户对 AWS CodeConnections中的资源执行操作以及获取其相关信息的权限。  
为此，如果该管道具有名为 `Project`、值为 `ProjectA` 的标签，则它允许特定操作。（`aws:RequestTag` 条件键用于控制可以通过 IAM 请求传递哪些标签。） `aws:TagKeys` 条件确保标签键区分大小写。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeconnections:CreateConnection",
        "codeconnections:DeleteConnection",
        "codeconnections:ListConnections"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

## 使用控制台中的通知和连接
<a name="security_iam_id-based-policy-examples-console"></a>

通知体验内置于 CodeBuild、 CodeCommit CodeDeploy、和 CodePipeline控制台中，以及开发者工具控制台的 **“设置”** 导航栏本身。要访问控制台中的通知，您必须为这些服务应用其中一项托管策略，或者必须具有一组最低权限。这些权限必须允许您列出和查看有关您 AWS 账户中的 AWS CodeStar 通知和 AWS CodeConnections 资源的详细信息。如果您创建的基于身份的策略比所需的最低权限更严格，则无法为具有该策略的实体（IAM 用户或角色）正常运行控制台。有关授予 AWS CodeBuild、 AWS CodeCommit AWS CodeDeploy AWS CodePipeline、和访问权限（包括对这些控制台的访问权限）的更多信息，请参阅以下主题：
+ CodeBuild: [将基于身份的策略用于 CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/security_iam_id-based-policy-examples.html#managed-policies)
+ CodeCommit: [将基于身份的策略用于 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html)
+ AWS CodeDeploy: [身份和访问管理 AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/security-iam.html)
+ CodePipeline: [使用 IAM 策略进行访问控制](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-control.html)

AWS CodeStar 通知没有任何 AWS 托管策略。为了提供对通知功能的访问权限，您必须为前面列出的其中一项服务应用某种托管策略，或者您必须创建具有要授予用户或实体的权限级别的策略，然后将这些策略附加到需要这些权限的用户、组或角色。有关更多信息和示例，请参阅以下：
+ [示例：用于管理通知的管理员级别策略 AWS CodeStar](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-full-access)
+ [示例：用于使用通知的贡献者级别策略 AWS CodeStar](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-contributor)
+ [示例：使用 AWS CodeStar 通知的 read-only-level策略](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-read-only).



AWS CodeConnections 没有任何 AWS 托管策略。您可以使用权限和访问权限组合，例如，[用于完成连接的权限](#permissions-reference-connections-handshake)中详细叙述的权限。

有关更多信息，请参阅下列内容：
+ [示例：管理员级别的管理策略 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-fullaccess)
+ [示例：用于使用的贡献者级别的策略 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-contributor)
+ [示例：使用 read-only-level策略 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-readonly)

您无需为仅调用 AWS CLI 或 AWS API 的用户授予控制台权限。相反，只允许访问与您尝试执行的 API 操作相匹配的操作。

## 允许用户查看他们自己的权限
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

该示例说明了您如何创建策略，以允许 IAM 用户查看附加到其用户身份的内联和托管式策略。此策略包括在控制台上或使用 AWS CLI 或 AWS API 以编程方式完成此操作的权限。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# 故障排除 AWS CodeStar 通知、 AWS CodeConnections 身份和访问权限
<a name="security_iam_troubleshoot"></a>

使用以下信息可帮助您诊断和修复在使用通知和 IAM 时可能遇到的常见问题。

**Topics**
+ [我是管理员并希望允许其他人访问通知](#security_iam_troubleshoot-admin-delegate)
+ [我创建了一个 Amazon SNS 主题并将其添加为通知规则目标，但是我没有收到有关事件的电子邮件](#security_iam_troubleshoot-sns)
+ [我想允许 AWS 账户以外的其他人访问我的 AWS CodeStar 通知和 AWS CodeConnections 资源](#security_iam_troubleshoot-cross-account-access)

## 我是管理员并希望允许其他人访问通知
<a name="security_iam_troubleshoot-admin-delegate"></a>

要允许其他人访问 AWS CodeStar 通知和 AWS CodeConnections，您必须向需要访问的人员或应用程序授予权限。如果使用 AWS IAM Identity Center 管理人员和应用程序，则可以向用户或组分配权限集来定义其访问权限级别。权限集会自动创建 IAM 策略并将其分配给与人员或应用程序关联的 IAM 角色。有关更多信息，请参阅《AWS IAM Identity Center 用户指南》**中的[权限集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)。

如果未使用 IAM Identity Center，则必须为需要访问的人员或应用程序创建 IAM 实体（用户或角色）。然后，您必须将策略附加到实体，以便在 AWS CodeStar 通知和中向他们授予正确的权限 AWS CodeConnections。授予权限后，向用户或应用程序开发人员提供凭证。他们将使用这些凭证访问 AWS。要了解有关创建 IAM 用户、组、策略和权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 身份](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)和 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

有关 AWS CodeStar 通知的特定信息，请参阅[AWS CodeStar 通知的权限和示例](security_iam_id-based-policy-examples-notifications.md)。

## 我创建了一个 Amazon SNS 主题并将其添加为通知规则目标，但是我没有收到有关事件的电子邮件
<a name="security_iam_troubleshoot-sns"></a>

为了接收有关事件的通知，您必须订阅一个有效的 Amazon SNS 主题作为通知规则的目标，并且您的电子邮件地址也必须订阅 Amazon SNS 主题。要排查 Amazon SNS 主题的问题，请检查以下内容：
+ 确保 Amazon SNS 主题与通知规则位于同一 AWS 区域。
+ 检查以确保您的电子邮件别名已订阅到正确的主题，并且您已确认订阅。有关更多信息，请参阅[将终端节点订阅到 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-subscribe-endpoint-to-topic.html)。
+ 确认已修改主题策略以允许 AWS CodeStar 通知向该主题推送通知。该主题策略应包含类似于以下内容的声明：

  ```
  {
      "Sid": "AWSCodeStarNotifications_publish",
      "Effect": "Allow",
      "Principal": {
          "Service": [
              "codestar-notifications.amazonaws.com"
          ]
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopicName",
      "Condition": {
          "StringEquals": {
              "aws:SourceAccount": "123456789012"
          }
      }
  }
  ```

  有关更多信息，请参阅 [设置](setting-up.md)。

## 我想允许 AWS 账户以外的其他人访问我的 AWS CodeStar 通知和 AWS CodeConnections 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表 (ACLs) 的服务，您可以使用这些策略向人们授予访问您的资源的权限。

要了解更多信息，请参阅以下内容：
+ 要了解 AWS CodeStar 通知和是否 AWS CodeConnections 支持这些功能，请参阅[开发工具控制台中的特征如何与 IAM 配合使用](security_iam_service-with-iam.md)。
+ 要了解如何提供对您拥有的资源的访问权限 AWS 账户 ，请参阅 [IAM 用户*指南中的向您拥有 AWS 账户 的另一个 IAM 用户*提供访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)权限。
+ 要了解如何向第三方提供对您的资源的访问[权限 AWS 账户，请参阅 *IAM 用户指南*中的向第三方提供](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)访问权限。 AWS 账户 
+ 要了解如何通过身份联合验证提供访问权限，请参阅《IAM 用户指南》**中的[为经过外部身份验证的用户（身份联合验证）提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 要了解使用角色和基于资源的策略进行跨账户访问之间的差别，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

# 为 AWS CodeStar 通知使用服务相关角色
<a name="using-service-linked-roles"></a>

AWS CodeStar 通知使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特的 IAM 角色，直接链接到 AWS CodeStar 通知。服务相关角色由 AWS CodeStar 通知预定义，包括该服务代表您调用其他 AWS 服务所需的所有权限。您首次创建通知规则时为您创建此角色。您不必创建角色。

服务相关角色可以更轻松地设置 AWS CodeStar 通知，因为您不必手动添加权限。 AWS CodeStar 通知定义了其服务相关角色的权限，除非另有定义，否则只有 AWS CodeStar 通知才能扮演其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

要删除服务相关角色，您必须先删除其相关资源。这可以保护您的 AWS CodeStar 通知资源，因为您不能无意中删除访问这些资源的权限。

有关支持服务相关角色的其他服务的信息，请参阅[与 IAM 配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 通知的服务相关角色权限 AWS CodeStar
<a name="slr-permissions"></a>

AWS CodeStar 通知使用 AWSServiceRoleForCodeStarNotifications 服务相关角色来检索工具链中发生的事件的相关信息，并向您指定的目标发送通知。

 AWSServiceRoleForCodeStarNotifications 服务相关角色信任以下服务来代入该角色：
+ `codestar-notifications.amazonaws.com`

角色权限策略允许 AWS CodeStar 通知在指定资源上完成以下操作：
+ 操作：`CloudWatch Event rules that are named awscodestar-notifications-*` 上的 `PutRule`
+ 操作：`DescribeRule` 上的 `CloudWatch Event rules that are named awscodestar-notifications-*`
+ 操作：`PutTargets` 上的 `CloudWatch Event rules that are named awscodestar-notifications-*`
+ 操作：`CreateTopic` 到 `create Amazon SNS topics for use with AWS CodeStar Notifications with the prefix CodeStarNotifications-`
+ 操作：`all comments on all pull requests in all CodeCommit repositories in the AWS account` 上的 `GetCommentsForPullRequests`
+ 操作：`GetCommentsForComparedCommit` 上的 `all comments on all commits in all CodeCommit repositories in the AWS account`
+ 操作：`GetDifferences` 上的 `all commits in all CodeCommit repositories in the AWS account`
+ 操作：`GetCommentsForComparedCommit` 上的 `all comments on all commits in all CodeCommit repositories in the AWS account`
+ 操作：`GetDifferences` 上的 `all commits in all CodeCommit repositories in the AWS account`
+ 操作：`DescribeSlackChannelConfigurations` 上的 `all AWS Chatbot clients in the AWS account`
+ 操作：`UpdateSlackChannelConfiguration` 上的 `all AWS Chatbot clients in the AWS account`
+ 操作：`ListActionExecutions` 上的 `all actions in all pipelines in the AWS account`
+ 操作：`GetFile` 上的 `all files in all CodeCommit repositories in the AWS account unless otherwise tagged`

您可以在 AWSServiceRoleForCodeStarNotifications 服务相关角色的策略声明中看到这些操作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": "arn:aws:events:*:*:rule/awscodestarnotifications-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "sns:CreateTopic"
            ],
            "Resource": "arn:aws:sns:*:*:CodeStarNotifications-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "codecommit:GetCommentsForPullRequest",
                "codecommit:GetCommentsForComparedCommit",
                "codecommit:GetDifferences",
                "chatbot:DescribeSlackChannelConfigurations",
                "chatbot:UpdateSlackChannelConfiguration",
                "codepipeline:ListActionExecutions"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "codecommit:GetFile"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:ResourceTag/ExcludeFileContentFromNotifications": "true"
                }
            },
            "Effect": "Allow"
        }
    ]
}
```

------

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务关联角色。有关更多信息，请参阅《IAM 用户指南》**中的[服务关联角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为通知创建服务相关角色 AWS CodeStar
<a name="create-slr"></a>

您无需手动创建服务关联角色。您可以使用开发者工具控制台或 AWS CLI 或中的 CreateNotificationRule API SDKs 来创建通知规则。您也可以直接调用 API。无论您使用哪种方法，都会为您创建服务相关角色。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。您可以使用开发者工具控制台或 AWS CLI 或中的 CreateNotificationRule API SDKs 来创建通知规则。您也可以直接调用 API。无论您使用哪种方法，都会为您创建服务相关角色。

## 编辑通知的服务相关角色 AWS CodeStar
<a name="edit-slr"></a>

创建服务相关角色后，您将无法更改其名称，因为可能有多种实体引用该角色。但是，您可以使用 IAM 编辑角色描述。有关更多信息，请参见 *IAM 用户指南*中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除通知的服务相关角色 AWS CodeStar
<a name="delete-slr"></a>

如果您不再需要使用某个需要服务相关角色的功能或服务，我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。您必须先清除服务相关角色的资源，然后才能将其删除。对于 AWS CodeStar 通知，这意味着删除您 AWS 账户中使用服务角色的所有通知规则。

**注意**  
如果您尝试删除资源时 AWS CodeStar 通知服务正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除使用的 AWS CodeStar 通知资源 AWSService RoleForCodeStarNotifications**

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。
**注意**  
通知规则适用于创建通知规则的 AWS 区域。如果您在多个 AWS 区域有通知规则，请使用区域选择器来更改 AWS 区域。

1. 选择列表中出现的所有通知规则，然后选择**删除**。

1. 在您创建通知规则的所有 AWS 区域中重复这些步骤。

**要**使用 IAM** 删除服务相关角色**

使用 IAM 控制台或 AWS Identity and Access Management API 删除 AWSServiceRoleForCodeStarNotifications 服务相关角色。 AWS CLI有关更多信息，请参见《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## AWS CodeStar 通知服务相关角色支持的区域
<a name="slr-regions"></a>

AWS CodeStar 通知支持在提供服务的所有 AWS 区域中使用服务相关角色。有关更多信息，请参阅[AWS 区域和终端节点以及AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html)[CodeStar 通知](https://docs.aws.amazon.com/general/latest/gr/codestar_notifications.html)。

# 将服务相关角色用于 AWS CodeConnections
<a name="service-linked-role-connections"></a>

AWS CodeConnections 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种与之直接关联的 IAM 角色的独特类型。 AWS CodeConnections服务相关角色由服务预定义 AWS CodeConnections ，包括该服务代表您调用其他 AWS 服务所需的所有权限。首次创建连接时会为您创建此角色。您不必创建角色。

服务相关角色使设置变得 AWS CodeConnections 更加容易，因为您不必手动添加权限。 AWS CodeConnections 定义其服务相关角色的权限，除非另有定义，否则 AWS CodeConnections 只能担任其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

要删除服务相关角色，您必须先删除其相关资源。这样可以保护您的 AWS CodeConnections 资源，因为您不会无意中删除访问资源的权限。

有关支持服务相关角色的其他服务的信息，请参阅[与 IAM 配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

**注意**  
可以对在新服务前缀下创建`codeconnections`的资源执行操作。在新服务前缀下创建资源将在资源 ARN `codeconnections` 中使用。`codestar-connections`服务前缀的操作和资源仍然可用。在 IAM 策略中指定资源时，服务前缀需要与资源的服务前缀相匹配。

## 的服务相关角色权限 AWS CodeConnections
<a name="slr-permissions"></a>

AWS CodeConnections 使用 AWSServiceRoleForGitSync 服务关联角色使用 Git 与连接的基于 Git 的存储库同步。

 AWSServiceRoleForGitSync 服务相关角色信任以下服务来代入该角色：
+ `repository.sync.codeconnections.amazonaws.com`

名为的角色权限策略 AWSGitSyncServiceRolePolicy AWS CodeConnections 允许对指定资源完成以下操作：
+ 操作：授予权限，允许用户创建与基于 Git 的外部存储库的连接，并使用 Git 同步功能与这些存储库同步。

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务关联角色。有关更多信息，请参阅《IAM 用户指南》**中的[服务关联角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为创建服务相关角色 AWS CodeConnections
<a name="create-slr-connections"></a>

您无需手动创建服务关联角色。当你使用 API 为你的 Git 同步项目创建资源时，你就创建了这个角色。 CreateRepositoryLink 

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。

## 编辑的服务相关角色 AWS CodeConnections
<a name="edit-slr-connections"></a>

创建服务相关角色后，您将无法更改其名称，因为可能有多种实体引用该角色。但是，您可以使用 IAM 编辑角色描述。有关更多信息，请参见 *IAM 用户指南*中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除的服务相关角色 AWS CodeConnections
<a name="delete-slr-connections"></a>

如果您不再需要使用某个需要服务相关角色的功能或服务，我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。您必须先清除服务相关角色的资源，然后才能将其删除。这意味着要删除您 AWS 账户中使用该服务角色的所有连接。

**注意**  
如果您尝试删除资源时 AWS CodeConnections 服务正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除使用的 AWS CodeConnections 资源 AWSService RoleForGitSync**

1. 打开开发人员工具控制台，然后选择**设置**。

1. 选择列表中出现的所有连接，然后选择**删除**。

1. 在您创建连接的所有 AWS 区域中重复这些步骤。

**要**使用 IAM** 删除服务相关角色**

使用 IAM 控制台或 AWS Identity and Access Management API 删除 AWSServiceRoleForGitSync 服务相关角色。 AWS CLI有关更多信息，请参见《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## AWS CodeConnections 服务相关角色支持的区域
<a name="slr-regions-connections"></a>

AWS CodeConnections 支持在提供服务的所有 AWS 地区使用服务相关角色。有关更多信息，请参阅 [AWS 区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

# AWS 的托管策略 AWS CodeConnections
<a name="security-iam-awsmanpol"></a>





 AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住， AWS 托管策略可能不会为您的特定用例授予最低权限权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限，则更新会影响该策略所关联的所有委托人身份（用户、组和角色）。 AWS 最有可能在启动新的 API 或现有服务可以使用新 AWS 服务 的 API 操作时更新 AWS 托管策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

**注意**  
可以对在新服务前缀下创建`codeconnections`的资源执行操作。在新服务前缀下创建资源将在资源 ARN `codeconnections` 中使用。`codestar-connections`服务前缀的操作和资源仍然可用。在 IAM 策略中指定资源时，服务前缀需要与资源的服务前缀相匹配。













## AWS 托管策略： AWSGitSyncServiceRolePolicy
<a name="security-iam-awsmanpol-AWSGitSyncServiceRolePolicy"></a>



您无法附加 AWSGitSyncServiceRolePolicy 到您的 IAM 实体。此策略附加到允许代表您执行操作 AWS CodeConnections 的服务相关角色。有关更多信息，请参阅 [将服务相关角色用于 AWS CodeConnections](service-linked-role-connections.md)。



此策略允许客户访问基于 Git 的存储库以使用连接。客户将在使用 CreateRepositoryLink API 后访问这些资源。



**权限详细信息**

该策略包含以下权限。




+ `codeconnections` – 授予权限以允许用户创建与基于 Git 的外部存储库的连接。



------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AccessGitRepos",
			"Effect": "Allow",
			"Action": [
				"codestar-connections:UseConnection",
				"codeconnections:UseConnection"
			],
			"Resource": [
				"arn:aws:codestar-connections:*:*:connection/*",
				"arn:aws:codeconnections:*:*:connection/*"
			],
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				}
			}
		}
	]
}
```

------

## AWS CodeConnections AWS 托管策略的更新
<a name="security-iam-awsmanpol-updates"></a>



查看 AWS CodeConnections 自该服务开始跟踪这些更改以来 AWS 托管策略更新的详细信息。要获得有关此页面变更的自动提醒，请订阅 “ AWS CodeConnections [文档历史记录](doc-history.md)” 页面上的 RSS feed。




| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  [AWSGitSyncServiceRolePolicy](#security-iam-awsmanpol-AWSGitSyncServiceRolePolicy) - 更新的策略  | AWS CodeStar Connections 服务名称已更改为 AWS CodeConnections。更新了包含两个服务前缀 ARNs 的资源的策略。 | 2024 年 4 月 26 日 | 
|  [AWSGitSyncServiceRolePolicy](#security-iam-awsmanpol-AWSGitSyncServiceRolePolicy)：新策略  |  AWS CodeStar 连接添加了该政策。 授予权限以允许连接用户使用 Git 与连接的基于 Git 的存储库进行同步。  | 2023 年 11 月 26 日 | 
|  AWS CodeConnections 开始跟踪更改  |  AWS CodeConnections 开始跟踪其 AWS 托管策略的更改。  | 2023 年 11 月 26 日 | 



# AWS CodeStar 通知的合规性验证和 AWS CodeConnections
<a name="compliance"></a>

有关特定合规计划范围内的 AWS 服务列表，请参阅[按合规计划划分的范围内的AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)。有关一般信息，请参阅 [AWS 合规性计划](https://aws.amazon.com/compliance/programs/)。

您可以使用下载第三方审计报告 AWS Artifact。有关更多信息，请参阅在 Artifac [t 中 AWS 下载报告](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)。

您在使用 AWS CodeStar 通知时的合规责任取决于您的数据的敏感性、贵公司的合规目标以及适用的法律和法规。 AWS CodeConnections AWS 提供了以下资源来帮助实现合规性：
+ [安全与合规性快速入门指南](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) — 这些部署指南讨论了架构注意事项，并提供了在上部署以安全性和合规性为重点的基准环境的步骤。 AWS
+ [AWS 合规资源](https://aws.amazon.com/compliance/resources/)-此工作簿和指南集合可能适用于您的行业和所在地区。
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)— 该 AWS 服务评估您的资源配置在多大程度上符合内部实践、行业指导方针和法规。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— 此 AWS 服务可全面了解您的安全状态 AWS ，帮助您检查是否符合安全行业标准和最佳实践。

# AWS CodeStar 通知的弹性和 AWS CodeConnections
<a name="disaster-recovery-resiliency"></a>

 AWS 全球基础设施是围绕 AWS 区域和可用区构建的。 AWS 区域提供多个物理隔离和隔离的可用区，这些可用区通过低延迟、高吞吐量和高度冗余的网络相连。利用可用区，您可以设计和操作在可用区之间无中断地自动实现故障转移的应用程序和数据库。与传统的单个或多个数据中心基础架构相比，可用区具有更高的可用性、容错性和可扩展性。

有关 AWS 区域和可用区的更多信息，请参阅[AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。
+ 通知规则因其创建 AWS 区域 地点而异。如果您有多个通知规则 AWS 区域，请使用区域选择器查看每个规则中的通知规则 AWS 区域。
+ AWS CodeStar 通知依赖亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 主题作为通知规则的目标。这样，有关您的 Amazon SNS 主题和通知规则目标的信息可能会存储在您配置通知规则的区域之外的 AWS 区域中。

# “通知” 和 “ AWS CodeStar 通知” 中的基础设施安全 AWS CodeConnections
<a name="infrastructure-security"></a>

作为托管服务的功能， AWS CodeStar 通知和 AWS CodeConnections 受《[Amazon Web Services：安全流程概述》白皮书中描述的 AWS 全球网络安全](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)程序的保护。

您可以使用 AWS 已发布的 API 调用 AWS CodeConnections 通过网络访问 AWS CodeStar 通知。客户端必须支持传输层安全性协议（TLS）1.0 或更高版本。客户端还必须支持具有完全向前保密（PFS）的密码套件，例如 Ephemeral Diffie-Hellman（DHE）或 Elliptic Curve Ephemeral Diffie-Hellman（ECDHE）。大多数现代系统支持这些模式。

必须使用访问密钥 ID 以及与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者，您可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) 生成临时安全凭证来对请求进行签名。

## 跨区域 AWS CodeConnections 资源之间的流量
<a name="infrastructure-security-global-resources"></a>

如果您使用连接功能来连接您的资源，则表示您同意并指示我们在您使用基础服务的地区之外存储和处理与此类连接资源相关的信息，仅与资源创建地 AWS 区域 以外的 AWS 区域 地区中的此类资源建立连接，并仅用于提供与该资源创建地以外的区域的此类资源的连接。

有关更多信息，请参阅 [中的全球资源 AWS CodeConnections](welcome-connections-how-it-works-global.md)。

**注意**  
如果您使用连接功能为不要求先启用的区域中的资源启用连接，我们将存储和处理前述主题中详细介绍的信息。  
对于在必须先启用的区域 [例如欧洲地区（米兰）区域] 中建立的连接，我们只会在该区域中存储和处理该连接的信息。