

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS CodeStar Notifications 和 AWS CodeConnections 的身分和存取管理
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) 是一種 AWS 服務 ，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以*進行身分驗證* （登入） 和*授權* （具有許可），以使用 AWS CodeStar Notifications 和 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 Notifications 和 AWS CodeConnections 身分和存取權](security_iam_troubleshoot.md)
+ [使用 AWS CodeStar Notifications 的服務連結角色](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 Notifications 和 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 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者、IAM 使用者或擔任 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 帳戶 *theroot 使用者的*登入身分開始，該身分可完整存取所有 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](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) 。

[IAM 群組](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](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)。

## AWS CodeConnections 許可參考
<a name="permissions-reference-connections"></a>

下表列出每個 AWS CodeConnections API 操作、您可以授予許可的對應動作，以及用於授予許可的資源 ARN 格式。 AWS CodeConnections APIs 會根據該 API 允許的動作範圍分組為資料表。撰寫可連接至 IAM 身分的許可政策 (身分型政策) 時，請參考這些表格。

當您建立許可政策時，您需要在政策的 `Action` 欄位中指定動作。您需要在政策的 `Resource` 欄位中指定資源值做為 ARN，可包含或不含萬用字元 (\$1)。

若要在連線政策中表達條件，請使用此處所述和 [條件索引鍵](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys) 中列出的條件索引鍵。您也可以使用 AWS整體條件金鑰。如需 AWS全系列金鑰的完整清單，請參閱《*IAM 使用者指南*》中的[可用金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)。

若要指定動作，請使用 `codeconnections` 字首，後面接著 API 操作名稱 (例如 `codeconnections:ListConnections` 或 `codeconnections:CreateConnection`)。

**使用萬用字元**

若要指定多個動作或資源，請在 ARN 中使用萬用字元 (\$1)。例如， `codeconnections:*` 指定 all AWS CodeConnections 動作，並`codeconnections:Get*`指定以字詞 開頭的所有 AWS CodeConnections 動作`Get`。以下範例授予對所有以 `MyConnection` 為名稱開頭之資源的存取權。

```
arn:aws:codeconnections:us-west-2:account-ID: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>

指定使用 或 AWS CLI SDK 來檢視、建立或刪除連線的角色或使用者，應具有以下限制的許可。

**注意**  
只具有下列許可，並無法在主控台中完成或使用連線。您需要在 [完成連線的許可](#permissions-reference-connections-handshake) 中新增許可。

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

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 管理連線所需的許可**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  CreateConnection  |  `codeconnections:CreateConnection` 使用 CLI 或主控台來建立連線時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  DeleteConnection  |  `codeconnections:DeleteConnection` 使用 CLI 或主控台來刪除連線時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  GetConnection  |  `codeconnections:GetConnection` 需要使用 CLI 或主控台來檢視有關連線的詳細資訊。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  ListConnections  |  `codeconnections:ListConnections` 使用 CLI 或主控台列出帳戶中的所有連線時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 

這些操作支援下列條件金鑰：


| Action | 條件索引鍵 | 
| --- | --- | 
|  `codeconnections:CreateConnection`  |  `codeconnections:ProviderType`  | 
|  codeconnections:DeleteConnection | N/A | 
| codeconnections:GetConnection | N/A | 
| codeconnections:ListConnections | codeconnections:ProviderTypeFilter | 

### 管理主機的許可
<a name="permissions-reference-connections-hosts"></a>

指定使用 或 AWS CLI SDK 來檢視、建立或刪除主機的角色或使用者應具有僅限下列的許可。

**注意**  
只具有下列許可，並無法在主機中完成或使用主機。您需要在 [設定主機的許可](#connections-permissions-actions-host-registration) 中新增許可。

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

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 管理主機所需的許可**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  CreateHost  |  `codeconnections:CreateHost` 使用 CLI 或主控台來建立主機時需要。  |  arn：aws：codeconnections：*region*：*account-id*：host/*host-id*  | 
|  DeleteHost  |  `codeconnections:DeleteHost` 使用 CLI 或主控台來刪除主機時需要。  |  codeconnections：*region*：*account-id*：host/*host-id*  | 
|  GetHost  |  `codeconnections:GetHost` 使用 CLI 或主控台來檢視有關主機的詳細資訊時需要。  |  arn：aws：codeconnections：*region*：*account-id*：host/*host-id*  | 
|  ListHosts  |  `codeconnections:ListHosts` 使用 CLI 或主控台列出帳戶中的所有主機時需要。  |  arn：aws：codeconnections：*region*：*account-id*：host/*host-id*  | 

這些操作支援下列條件金鑰：


| Action | 條件索引鍵 | 
| --- | --- | 
|  `codeconnections:CreateHost`  |  `codeconnections:ProviderType` `codeconnections:VpcId`  | 
|  codeconnections:DeleteHost | N/A | 
| codeconnections:GetHost | N/A | 
| 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 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `GetIndividualAccessToken`  |  `codeconnections:GetIndividualAccessToken` 使用主控台完成連線時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `GetInstallationUrl`  |  `codeconnections:GetInstallationUrl` 使用主控台完成連線時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListInstallationTargets`  |  `codeconnections:ListInstallationTargets` 使用主控台完成連線時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `StartOAuthHandshake`  |  `codeconnections:StartOAuthHandshake` 使用主控台完成連線時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `UpdateConnectionInstallation`  |  `codeconnections:UpdateConnectionInstallation` 使用主控台完成連線時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 

這些作業支援下列條件索引鍵。


| Action | 條件索引鍵 | 
| --- | --- | 
| codeconnections:GetIndividualAccessToken | codeconnections:ProviderType | 
|  codeconnections:GetInstallationUrl | codeconnections:ProviderType | 
|  `codeconnections:ListInstallationTargets`  |  N/A  | 
| 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 完成主機設定所需的許可**  

| 連線動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `RegisterAppCode`  |  `codeconnections:RegisterAppCode` 使用主控台來完成主機設定時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：host/*host-id*  | 
|  `StartAppRegistrationHandshake`  |  `codeconnections:StartAppRegistrationHandshake` 使用主控台來完成主機設定時需要。這只是 IAM 政策許可，不是 API 動作。  |  arn：aws：codeconnections：*region*：*account-id*：host/*host-id*  | 

這些作業支援下列條件索引鍵。

### 將連線傳遞至服務
<a name="permissions-reference-connections-passconnection"></a>

將連線傳遞至服務時 (例如，在管道定義中提供連線 ARN 以建立或更新管線)，使用者必須具有 `codeconnections:PassConnection` 許可。

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 傳遞連線所需的許可**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `PassConnection`  |  `codeconnections:PassConnection` 將連線傳遞到服務時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 

此操作也支援下列條件金鑰：
+ `codeconnections:PassedToService`


**支援的條件金鑰值**  

| 金錀 | 有效動作供應商 | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/security-iam.html)  | 

### 使用連線
<a name="permissions-reference-connections-use"></a>

當 CodePipeline 之類的服務使用連線時，服務角色必須具有特定連線的 `codeconnections:UseConnection` 許可。

若要在主控台中管理連線，使用者政策必須具有 `codeconnections:UseConnection` 許可。

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 使用連線所需的動作**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `UseConnection`  |  `codeconnections:UseConnection` 使用連線時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 

此操作也支援下列條件金鑰：
+ `codeconnections:BranchName`
+ `codeconnections:FullRepositoryId`
+ `codeconnections:OwnerId`
+ `codeconnections:ProviderAction`
+ `codeconnections:ProviderPermissionsRequired`
+ `codeconnections:RepositoryName`


**支援的條件金鑰值**  

| 金錀 | 有效動作供應商 | 
| --- | --- | 
|  `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` 條件金鑰可讓您限制供應商上可呼叫的 API。因為 API 路徑可能是動態產生，而且路徑隨不同供應商而不同，因此 `ProviderAction` 值對應至抽象動作名稱，而不是 API 的 URL。不論連線的供應商類型為何，這可讓您撰寫具有相同效果的政策。

以下是針對每個支援的 `ProviderAction` 值授予的存取類型。以下說明 IAM 政策許可。不是 API 動作。

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 支援的 存取類型 `ProviderAction`**  

| AWS CodeConnections 許可 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `GetBranch`  |  ` codeconnections:GetBranch` 存取分支的相關資訊 (例如該分支的最新遞交) 時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListRepositories`  |  ` codeconnections:ListRepositories` 存取屬於擁有者的公有和私有儲存庫清單 (包括這些儲存庫的詳細資訊) 時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListOwners`  |  `codeconnections:ListOwners` 存取連線可存取的擁有者清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListBranches`  |  ` codeconnections:ListBranches` 存取特定儲存庫上存在的分支清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `StartUploadArchiveToS3`  |  ` codeconnections:StartUploadArchiveToS3` 讀取原始碼並上傳至 Amazon S3 時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `GitPush`  |  ` codeconnections:GitPush` 使用 Git 寫入儲存庫時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `GitPull`  |  ` codeconnections:GitPull` 使用 Git 讀取儲存庫時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
| GetUploadArchiveToS3Status |  ` codeconnections:GetUploadArchiveToS3Status` 存取由 `StartUploadArchiveToS3` 起始的上傳狀態 (包括任何錯誤訊息) 時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
| CreatePullRequestDiffComment |  ` codeconnections:CreatePullRequestDiffComment` 存取提取請求上的註解時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
| GetPullRequest |  ` codeconnections:GetPullRequest` 檢視儲存庫的提取請求時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListBranchCommits`  |  ` codeconnections:ListBranchCommits` 儲存庫分支的遞交清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListCommitFiles`  |  ` codeconnections:ListCommitFiles` 檢視遞交的檔案清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListPullRequestComments`  |  ` codeconnections:ListPullRequestComments` 檢視提取請求的註解清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 
|  `ListPullRequestCommits`  |  ` codeconnections:ListPullRequestCommits` 檢視提取請求的遞交清單時需要。  |  arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*  | 

### 標記連線資源的支援許可
<a name="permissions-reference-connections-tagging"></a>

標記連線資源時，會使用下列 IAM 操作。

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

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 標記連線資源所需的動作**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `ListTagsForResource`  |  `codeconnections:ListTagsForResource` 檢視與連線資源關聯之標籤清單時需要。  | arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*,arn：aws：codeconnections：*region*：*account-id*：host/*host-id* | 
|  `TagResource`  |  `codeconnections:TagResource` 標記連線資源時需要。  | arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*,arn：aws：codeconnections：*region*：*account-id*：host/*host-id* | 
|  `UntagResource`  |  `codeconnections:UntagResource` 從連線資源中移除標籤時需要。  | arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id*,arn：aws：codeconnections：*region*：*account-id*：host/*host-id* | 

### 將連線傳遞到儲存庫連結
<a name="permissions-reference-connections-passrepository"></a>

在同步組態中提供儲存庫連結時，使用者必須擁有存放庫連結 ARN/資源的 `codeconnections:PassRepository` 許可。

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 傳遞連線所需的許可**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `PassRepository`  |  `codeconnections:PassRepository` 需要將儲存庫連結傳遞至同步組態。  |  arn：aws：codeconnections：*region*：*account-id*：repository-link/*repository-link-id*  | 

此操作也支援下列條件金鑰：
+ `codeconnections:PassedToService`


**支援的條件金鑰值**  

| 金錀 | 有效動作供應商 | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/security-iam.html)  | 

### 儲存庫連結的可支援條件金鑰
<a name="permissions-reference-connections-branch"></a>

下列條件金鑰支援儲存庫連結和同步組態資源的操作：
+ `codeconnections:Branch`

  透過請求中傳遞的分支名稱來篩選存取。


**條件金鑰的可支援動作**  

| 金錀 | 有效值 | 
| --- | --- | 
|  `codeconnections:Branch`  | 此條件金鑰支援下列動作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/security-iam.html) | 

### 支援連線共用的許可
<a name="permissions-reference-connections-sharing"></a>

共用連線時，會使用下列 IAM 操作。

```
codeconnections:GetResourcePolicy
```

使用捲軸查看資料表的其餘部分。


**AWS CodeConnections 共用連線所需的動作**  

| AWS CodeConnections 動作 | 所需的許可  | Resources | 
| --- | --- | --- | 
|  `GetResourcePolicy`  |  `codeconnections:GetResourcePolicy` 存取資源政策的相關資訊時需要。  | arn：aws：codeconnections：*region*：*account-id*：connection/*connection-id* | 

如需連線共用的詳細資訊，請參閱 [與 共用連線 AWS 帳戶](connections-share.md)。

## 在主控台中使用通知和連線
<a name="security_iam_id-based-policy-examples-console"></a>

通知體驗內建於 CodeBuild、CodeCommit、CodeDeploy 和 CodePipeline 主控台中，以及開發人員主控台的 **Settings (設定)** 導覽列本身。若要存取主控台中的通知，您必須套用這些服務相關的其中一個受管政策，或者您必須擁有至少一組許可。這些許可必須允許您列出和檢視 AWS 帳戶中 AWS CodeStar Notifications 和 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 Notifications 沒有任何 AWS 受管政策。若要提供通知功能的存取權，您必須針對上述其中一項服務套用其中一項受管政策，或者，您必須建立具有您要授予使用者或實體之許可層級的政策，然後將這些政策連接到需要這些許可的使用者、群組或角色。如需更多資訊和範例，請參閱下列內容：
+ [範例：管理 AWS CodeStar Notifications 的管理員層級政策](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-full-access)
+ [範例：使用 AWS CodeStar Notifications 的貢獻者層級政策](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-contributor)
+ [範例：使用 AWS CodeStar Notifications 的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": "*"
        }
    ]
}
```