

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

# 什麼是開發人員工具主控台？
<a name="what-is-dtconsole"></a>

開發人員工具主控台是一組服務和功能的大本營，可供您個人或集體使用，以協助您個人或團隊開發軟體。開發人員工具可協助您安全地儲存、建置、測試和部署軟體。這些工具供個人或集體使用，支援 DevOps、持續整合和持續交付 (CI/CD)。

開發人員工具主控台包含下列服務：
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/) 是全受管原始碼控制服務，託管私有 Git 存儲庫。您可以使用儲存庫，以私下在 AWS 雲端存放和管理資產 (例如，文件、原始程式碼和二進位檔案)。儲存庫存放您的專案歷史記錄，包括從第一個遞交到最新的變更。您可以協同地處理儲存庫中的程式碼，對程式碼做註解和建立提取請求，以協助確保程式碼品質。
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/) 是全受管組建服務，可編譯原始碼、執行單元測試，並產生可立即部署的成品。它提供預先封裝的組建環境，適用於常見的程式設計語言和組建工具，例如 Apache Maven、Gradle 等等。您也可以自訂 CodeBuild 中的組建環境，以使用您自己的組建工具。
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/) 是一種全受管部署服務，可將軟體部署自動化，以運算 Amazon EC2 AWS Lambda和內部部署伺服器等服務。它可協助您快速發行新功能、避免應用程式部署期間停機，以及處理應用程式更新時的複雜性。
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) 是持續整合和持續交付服務，可將發行軟體所需的步驟模型化、視覺化和自動化。您可以使用快速模型化和設定軟體發行程序的不同階段。根據您定義的發行程序模型，您可以在每次程式碼變更時建置、測試和部署程式碼。

以下範例描述您如何一起使用開發人員工具主控台中的服務，以協助您開發軟體。

![\[在 AWS 開發人員工具主控台中使用 服務的範例 CI/CD 管道。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/ExampleCICDPipeline.png)


在此範例中，開發人員在 CodeCommit 中建立儲存庫，並用來開發和協作其程式碼。他們在 CodeBuild 中建立建置專案來建置和測試程式碼，並使用 CodeDeploy 將程式碼部署到測試和生產環境。他們想要快速反覆運算，因此在 CodePipeline 中建立管道，以偵測 CodeCommit 儲存庫中的變更。建置這些變更、執行測試，然後將成功建置和測試的程式碼部署到測試伺服器。團隊將測試階段新增至管道，以便在預備伺服器上執行更多測試，例如整合或負載測試。成功完成這些測試後，團隊成員檢閱結果，如果滿意，就手動核准變更進入生產階段。CodePipeline 將已測試和核准的程式碼部署到生產執行個體。

這只是一個簡單的範例，說明如何使用開發人員工具主控台中提供的一或多個服務來協助您開發軟體。每個服務都可以自訂以符合您的需求。它們提供許多與其他產品和服務的整合，包括 AWS 和其他第三方工具。如需詳細資訊，請參閱下列主題：
+ CodeCommit：[產品和服務整合](https://docs.aws.amazon.com/codecommit/latest/userguide/integrations.html)
+ CodeBuild：[搭配 Jenkins 使用 CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/jenkins-plugin.html)
+ CodeDeploy：[產品和服務整合](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations.html)
+ CodePipeline：[產品和服務整合](https://docs.aws.amazon.com/codepipeline/latest/userguide/integrations.html)

## 您是第一次使用 的新手嗎？
<a name="first-time-user"></a>

如果您是第一次使用開發人員工具主控台中的一個或多個服務，我們建議您先閱讀下列主題：
+ [開始使用 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html)
+ [CodeBuild 入門](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html)、[概念](https://docs.aws.amazon.com/codebuild/latest/userguide/concepts.html)
+ [CodeDeploy 入門](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-codedeploy.html)、[主要元件](https://docs.aws.amazon.com/codedeploy/latest/userguide/primary-components.html)
+ [CodePipeline 入門](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html)、[概念](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html)

## 開發人員工具主控台的功能
<a name="servicename-feature-overview"></a>

開發人員工具主控台包含下列功能：
+ 開發人員工具主控台包含通知管理員功能，可讓您用來訂閱 AWS CodeBuild、 AWS CodeCommit AWS CodeDeploy和 中的事件 AWS CodePipeline。此功能有自己的 API： AWS CodeStar Notifications。針對儲存庫、組建專案、部署應用程式和管道中對使用者的工作來說最重要的事件，您可以使用通知功能來快速通知使用者。通知管理員可協助使用者留意儲存庫、組建、部署或管道上發生的事件，以便他們能夠快速採取動作，例如核准變更或更正錯誤。如需詳細資訊，請參閱[什麼是通知？](welcome.md)
+ 開發人員工具主控台包含連線功能，可讓您將 AWS 資源與第三方原始碼供應商建立關聯。此功能有自己的 API AWS CodeConnections。您可以使用連線功能來設定與第三方供應商的授權連線，以及將連線資源與其他 AWS 服務搭配使用。如需詳細資訊，請參閱[什麼是連線？](welcome-connections.md)

# 什麼是通知？
<a name="welcome"></a>

開發人員工具主控台中的通知功能是用於在 AWS CodeBuild AWS CodeCommit AWS CodeDeploy 和 中訂閱事件的通知管理員 AWS CodePipeline。它有自己的 API AWS CodeStar Notifications。針對儲存庫、組建專案、部署應用程式和管道中對使用者的工作來說最重要的事件，您可以使用通知功能來快速通知使用者。通知管理員可協助使用者留意儲存庫、組建、部署或管道上發生的事件，以便他們能夠快速採取動作，例如核准變更或更正錯誤。

## 我可以用通知來做什麼？
<a name="welcome-what-can-I-do"></a>

您可以使用通知功能來建立和管理通知規則，以通知使用者其資源有重大變更，包括：
+ CodeBuild 建置專案中的建置成功和失敗。
+ CodeDeploy 應用程式中的部署成功和失敗。
+ 提取請求中的建立和更新，包括 CodeCommit 儲存庫中對程式碼的註解。
+ 在 CodePipeline 中執行的手動核准狀態和管道。

您可以將通知設定為傳送至訂閱 Amazon SNS 主題的使用者電子郵件。您也可以將此功能與 [AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) 整合，並將通知傳遞至 Slack 頻道、Microsoft Teams 頻道或 Amazon Chime 聊天室。

## 通知如何運作？
<a name="welcome-how-it-works"></a>

當您為支援的資源 (例如儲存庫、建置專案、應用程式或管道) 設定通知規則時，通知功能會建立 Amazon EventBridge 規則來監控您指定的事件。當該類型的事件發生時，通知規則會傳送通知到指定為該規則目標的 Amazon SNS 主題。這些目標的訂閱者會收到關於這些事件的通知。

## 如何開始使用通知？
<a name="welcome-get-started"></a>

若要開始使用，以下是一些有用的主題可供檢閱：
+ **了解**通知的[概念](concepts.md)。
+ **設定**開始使用通知[所需的資源](setting-up.md)。
+ **開始使用**您的[第一個通知規則](getting-started.md)並接收您的第一個通知。

# 通知概念
<a name="concepts"></a>

如果您瞭解概念和術語，設定和使用通知會比較容易。以下是使用通知時需要瞭解的一些概念。

**Topics**
+ [通知](#notifications)
+ [通知規則](#rules)
+ [事件](#events)
+ [詳細資訊類型](#detail-type)
+ [目標](#targets)
+ [通知和 AWS CodeStar 通知](#concepts-api)
+ [儲存庫上通知規則的事件](#events-ref-repositories)
+ [建置專案上通知規則的事件](#events-ref-buildproject)
+ [部署應用程式上通知規則的事件](#events-ref-deployapplication)
+ [管道上通知規則的事件](#events-ref-pipeline)

## 通知
<a name="notifications"></a>

*通知*是一種訊息，其中包含您和開發人員使用的資源中所發生事件的相關資訊。您可以設定通知，以便資源 (例如組建專案、儲存庫、部署應用程式或管道) 的使用者根據您建立的通知規則，接收您指定之事件類型相關的電子郵件。

的通知 AWS CodeCommit 可以透過使用工作階段標籤來包含使用者身分資訊，例如顯示名稱或電子郵件地址。CodeCommit 支援使用工作階段標籤，這些標籤是您擔任 IAM 角色、使用臨時登入資料或在 AWS Security Token Service () 中聯合使用者時傳遞的鍵值對屬性AWS STS。您也可以將這類標籤與 IAM 使用者建立關聯。CodeCommit 在通知內容中包含 `displayName` 和 `emailAddress` (如果這些標籤存在)。如需詳細資訊，請參閱[在 CodeCommit 中使用標籤提供其他身分資訊](https://docs.aws.amazon.com/codecommit/latest/userguide/security-iam.html#security_iam_service-with-iam-tags)。

**重要**  
通知包含專案特定資訊，例如組建狀態、部署狀態、具有註解的程式碼行，以及管道核准。通知內容可能隨著新功能加入而變更。定期檢閱通知規則的目標和 Amazon SNS 主題訂閱者，才是安全性最佳實務。如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

## 通知規則
<a name="rules"></a>

*通知規則*是您建立 AWS 的資源，用於指定通知傳送的時間和位置。其可定義：
+ 建立通知的條件。這些條件是以您選擇的事件 (資源類型特有的事件) 為基礎。支援的資源類型包括 中的建置專案 AWS CodeBuild、 中的部署應用程式 AWS CodePipeline、 中的 AWS CodeDeploy管道，以及 中的儲存庫 AWS CodeCommit。
+ 通知的傳送目標。您可以針對一個通知規則最多指定 10 個目標。

通知規則的範圍侷限於個別組建專案、部署應用程式、管道及儲存庫。通知規則同時具有使用者定義的易用名稱和 Amazon Resource Name (ARN)。通知規則必須在資源存在 AWS 的相同區域中建立。例如，如果您的建置專案位於美國東部 (俄亥俄)區域，則通知規則也必須在美國東部 (俄亥俄)區域中建立。

您可以針對一個資源最多定義 10 個通知規則。

## 事件
<a name="events"></a>

*事件*是您想要監控之資源的狀態變更。每個資源都有您可從中選擇的事件類型清單。當您在資源上設定通知規則時，您可以指定導致傳送通知的事件。例如，如果您在 CodeCommit 中設定儲存庫的通知，並針對 **Pull request (提取請求)** 和 **Branches and tags (分支與標籤)** 選取 **Created (已建立)**，則每當該儲存庫中的使用者建立提取請求、分支或 Git 標籤時，都會傳送通知。

## 詳細資訊類型
<a name="detail-type"></a>

當您建立通知規則時，可以選擇通知中包含的細節層次和 *detail type (詳細資訊類型)* (**Full (完整)** 或 **Basic (基本)**)。**Full (完整)** 設定 (預設) 包含通知中可用於事件的所有資訊，包括服務特定事件提供的所有增強資訊。**Basic (基本)** 設定僅包含可用資訊的子集合。

下表列出特定事件類型可用的增強資訊，並說明詳細資訊類型之間的差異。


****  

| 服務  | 事件 | 完整包含 | 基本不包括 | 
| --- | --- | --- | --- | 
|  CodeCommit：  |  遞交時的註解 提取請求的註解  |  所有事件詳細資訊和註解的內容，包括任何回覆或註解對話。它也包含行號和對其進行註釋的程式碼行。  |  註解的內容、行號、程式碼行，或任何註解對話。  | 
|  CodeCommit：  |  已建立提取請求  |  所有事件詳細資訊，以及與目的地分支相關之提取請求中新增、修改或刪除的檔案數目。  |  沒有檔案清單或關於提取請求來源分支是否已新增、修改或刪除檔案的詳細資訊。  | 
|  CodePipeline  |  需要手動核准  |  所有事件詳細資訊和自訂資料 (如果已設定)。通知也包含管道中必要核准的連結。  |  沒有自訂資料或連結。  | 
|  CodePipeline  |  動作執行失敗 管道執行失敗 階段執行失敗  |  所有事件詳細資訊和失敗的錯誤訊息內容。  |  沒有錯誤訊息內容。  | 



## 目標
<a name="targets"></a>

*目標*是接收來自通知規則之通知的位置。允許的目標類型是針對 Slack 或 Microsoft Teams 頻道設定的 Amazon SNS 主題和 AWS Chatbot 用戶端。任何訂閱目標的使用者都會收到您在通知規則中指定之事件的相關通知。

如果您想要擴展通知的範圍，您可以手動設定通知與 AWS Chatbot 之間的整合，以便將通知傳送到 Amazon Chime 聊天室。然後，您可以選擇為該 AWS Chatbot 用戶端設定的 Amazon SNS 主題，做為通知規則的目標。如需詳細資訊，請參閱[將通知與 AWS Chatbot 和 Amazon Chime 整合](notifications-chatbot.md#notifications-chatbot-chime)。

如果您選擇使用 AWS Chatbot 用戶端做為目標，您必須先在 AWS Chatbot 中建立該用戶端。當您選擇 AWS Chatbot 用戶端做為通知規則的目標時，會為該 AWS Chatbot 用戶端設定 Amazon SNS 主題，其中包含通知傳送至 Slack 或 Microsoft Teams 頻道所需的所有政策。您不需要為 AWS Chatbot 用戶端設定任何現有的 Amazon SNS 主題。

您可以選擇將 Amazon SNS 主題建立為目標，做為建立通知規則的一部分 (建議)。您也可以選擇與 AWS 通知規則位於相同區域中的現有 Amazon SNS 主題，但您必須使用所需的政策進行設定。您用於目標的 Amazon SNS 主題必須位於您的帳戶中 AWS 。它還必須位於與通知規則相同的 AWS 區域，以及建立規則 AWS 的資源。

例如，如果您為美國東部 (俄亥俄)區域中的儲存庫建立通知規則，Amazon SNS 主題也必須存在該區域中。如果您在建立通知規則的過程中建立了 Amazon SNS 主題，該主題會設定所需的政策，允許將事件發佈至主題。這是處理目標和通知規則的最佳方法。如果您選擇使用已存在的主題或手動建立主題，則必須設有必要的許可，使用者才會收到通知。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)。

**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

## 通知和 AWS CodeStar 通知
<a name="concepts-api"></a>

雖然 開發人員工具主控台的功能，但通知具有自己的 API AWS CodeStar Notifications。也有自己的 AWS 資源類型 (通知規則)、許可和事件。通知規則的事件會記錄在 AWS CloudTrail中。可透過 IAM 政策允許或拒絕 API 動作。

## 儲存庫上通知規則的事件
<a name="events-ref-repositories"></a>


| Category | 事件 | 事件 ID | 
| --- | --- | --- | 
|  說明  |  遞交時 提取請求時  |  `codecommit-repository-comments-on-commits` `codecommit-repository-comments-on-pull-requests`  | 
| 核准 |  狀態已變更 規則覆寫  |  `codecommit-repository-approvals-status-changed` `codecommit-repository-approvals-rule-override`  | 
|  提取請求  |  已建立 來源已更新 狀態已變更 已合併  |  `codecommit-repository-pull-request-created` `codecommit-repository-pull-request-source-updated` `codecommit-repository-pull-request-status-changed` `codecommit-repository-pull-request-merged`  | 
|  分支和標籤  |  已建立 已刪除 Updated  | `codecommit-repository-branches-and-tags-created``codecommit-repository-branches-and-tags-deleted`codecommit-repository-branches-and-tags-updated | 

## 建置專案上通知規則的事件
<a name="events-ref-buildproject"></a>


| Category | 事件 | 事件 ID | 
| --- | --- | --- | 
|  組建狀態  |  失敗 Succeeded 進行中 已停止  |  `codebuild-project-build-state-failed` `codebuild-project-build-state-succeeded` `codebuild-project-build-state-in-progress` `codebuild-project-build-state-stopped`  | 
|  組建階段  |  失敗 成功  |  `codebuild-project-build-phase-failure` `codebuild-project-build-phase-success`  | 

## 部署應用程式上通知規則的事件
<a name="events-ref-deployapplication"></a>


| Category | 事件 | 事件 ID | 
| --- | --- | --- | 
|  部署  |  失敗 Succeeded 已開始  | `codedeploy-application-deployment-failed``codedeploy-application-deployment-succeeded`codedeploy-application-deployment-started | 

## 管道上通知規則的事件
<a name="events-ref-pipeline"></a>


| Category | 事件 | 事件 ID | 
| --- | --- | --- | 
|  動作執行  |  Succeeded 失敗 已取消 已開始  |  `codepipeline-pipeline-action-execution-succeeded` `codepipeline-pipeline-action-execution-failed` `codepipeline-pipeline-action-execution-canceled` `codepipeline-pipeline-action-execution-started`  | 
|  階段執行  |  已開始 Succeeded 繼續 已取消 失敗  |  `codepipeline-pipeline-stage-execution-started` `codepipeline-pipeline-stage-execution-succeeded` `codepipeline-pipeline-stage-execution-resumed` `codepipeline-pipeline-stage-execution-canceled` `codepipeline-pipeline-stage-execution-failed`  | 
|  管道執行  |  失敗 已取消 已開始 繼續 Succeeded 已取代  |  `codepipeline-pipeline-pipeline-execution-failed` `codepipeline-pipeline-pipeline-execution-canceled` `codepipeline-pipeline-pipeline-execution-started` `codepipeline-pipeline-pipeline-execution-resumed` `codepipeline-pipeline-pipeline-execution-succeeded` `codepipeline-pipeline-pipeline-execution-superseded`  | 
|  手動核准  |  失敗 需要 Succeeded  | `codepipeline-pipeline-manual-approval-failed``codepipeline-pipeline-manual-approval-needed`codepipeline-pipeline-manual-approval-succeeded | 

# 設定
<a name="setting-up"></a>

如果您有適用於 AWS CodeCommit AWS CodeDeploy IAM 使用者或角色的受管政策 AWS CodeBuild，或 AWS CodePipeline 已套用到 IAM 使用者或角色，則具有在政策提供的角色和許可限制內使用通知所需的許可。例如，已套用 `AWSCodeBuildAdminAccess`、`AWSCodeCommitFullAccess`、`AWSCodeDeployFullAccess` 或 `AWSCodePipeline_FullAccess` 受管政策的使用者，具有通知的完整管理存取權。

如需包含範例政策的詳細資訊，請參閱[身分型政策](security-iam.md#security_iam_access-manage-id-based-policies)。

如果您已將其中一個政策套用至 IAM 使用者或角色，以及 CodeBuild 中的建置專案、CodeCommit 中的儲存庫、CodeDeploy 中的部署應用程式或 CodePipeline 中的管道，便可以開始建立第一個通知規則。繼續進行[開始使用通知](getting-started.md)。否則請參閱下列主題：
+ CodeBuild：[開始使用 CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html)
+ CodeCommit：[開始使用 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html)
+ CodeDeploy：[教學](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials.html)
+ CodePipeline：[開始使用 CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html)

 如果您要自行管理 IAM 使用者、群組或角色的通知管理許可，請遵循本主題中的程序，設定使用服務所需的許可和資源。

如果您想要使用先前為通知建立的 Amazon SNS 主題，而不特別為通知建立主題，則必須套用允許事件發佈至 Amazon SNS 主題的政策，以設定該主題作為通知規則的目標。

**注意**  
若要執行下列程序，您必須使用具有管理許可的帳戶登入。如需詳細資訊，請參閱[建立您的第一個 IAM 管理員使用者和群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。

**Topics**
+ [建立和套用通知的管理存取政策](#set-up-permissions)
+ [設定通知的 Amazon SNS 主題](set-up-sns.md)
+ [讓使用者訂閱做為目標的 Amazon SNS 主題](subscribe-users-sns.md)

## 建立和套用通知的管理存取政策
<a name="set-up-permissions"></a>

您可以使用 IAM 使用者登入，或使用具有存取 服務和您要為其建立通知之服務 (AWS CodeBuild AWS CodeCommit AWS CodeDeploy、 或 AWS CodePipeline) 許可的角色來管理通知。您也可以建立自己的政策，並套用至使用者或群組。

下列程序顯示如何設定具有許可管理通知和新增 IAM 使用者的 IAM 群組。如果您不想設定群組，可以直接將此政策套用到 IAM 使用者，或使用者可擔任的 IAM 角色。您也可以對 CodeBuild、CodeCommit、CodeDeploy 或 CodePipeline 使用受管政策，其中包含通知功能的策略適用存取權 (視政策的範圍而定)。

針對下方的政策，輸入名稱 (例如 `AWSCodeStarNotificationsFullAccess`) 和此政策的選用說明。說明可協助您記住政策的目的 (例如，**This policy provides full access to AWS CodeStar Notifications.**

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 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": "*"
        }
      ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

# 設定通知的 Amazon SNS 主題
<a name="set-up-sns"></a>

設定通知最簡單方法是，在建立通知規則時建立 Amazon SNS 主題。如果現有 Amazon SNS 主題符合下列要求，您可以使用該主題：
+ 它在與您要為其建立通知規則的資源 （建置專案、部署應用程式、儲存庫或管道） AWS 區域 相同的 中建立。
+ 該主題在 2019 年 11 月 5 日之前未用於傳送 CodeCommit 的通知。如果已使用，則其將包含啟用該功能時的政策陳述式。您可以選擇使用此主題，但是您將必須依照前面程序規定來加入其他的政策。如果在 2019 年 11 月 5 日之前，仍有一或多個儲存庫設定用於通知，則現有的政策陳述式即不應移除。
+ 它具有允許 AWS CodeStar Notifications 將通知發佈到主題的政策。<a name="set-up-sns-procedure"></a>

**設定 Amazon SNS 主題做為 AWS CodeStar Notifications 通知規則的目標**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)：// 開啟 Amazon SNS 主控台。

1. 在導覽列中，選擇 **Topics (主題)**、選擇您要設定的主題，然後選擇 **Edit (編輯)**。

1. 展開 **Access policy (存取政策)**，然後選擇 **Advanced (進階)**。

1. 在 JSON 編輯器中，為政策新增下列陳述式。包含主題 ARN、、 AWS 帳戶 ID AWS 區域和主題名稱。

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

   該政策陳述式應如以下範例所示。

   ```
   {
     "Version": "2008-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules",
         "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "123456789012"
           }
         }
       },
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
     ]
   }
   ```

1. 選擇**儲存變更**。

1. 如果您想要使用加密的 Amazon SNS 主題來傳送通知，您還必須將下列陳述 AWS KMS式新增至 政策，以啟用事件來源 (AWS CodeStar Notifications) 與加密主題之間的相容性 AWS KMS key。將 AWS 區域 （在此範例中為 us-east-2) 取代為建立金鑰 AWS 區域 的 。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codestar-notifications.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "sns.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

   如需詳細資訊，請參閱「*AWS Key Management Service 開發人員指南*中的[靜態加密](https://docs.aws.amazon.com/kms/latest/developerguide/sns-server-side-encryption.html#sns-what-permissions-for-sse)和[搭配 AWS KMS使用政策條件](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html)。

# 讓使用者訂閱做為目標的 Amazon SNS 主題
<a name="subscribe-users-sns"></a>

使用者必須訂閱做為通知規則目標的 Amazon SNS 主題，才能接收通知。如果使用者透過電子郵件地址訂閱，則必須先確認訂閱，才能接收通知。若要將通知傳送給 Slack 頻道、Microsoft Teams 頻道或 Amazon Chime 聊天室中的使用者，請參閱「[設定通知與 AWS Chatbot 之間的整合](notifications-chatbot.md)」。<a name="set-up-sns-subscribe"></a>

**讓使用者訂閱用於通知的 Amazon SNS 主題**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)：// 開啟 Amazon SNS 主控台。

1. 在導覽列中，選擇 **Topics (主題)**，然後選擇您要讓使用者訂閱的主題。

1. 在 **Subscriptions (訂閱)** 中，選擇 **Create subscription (建立訂閱)**。

1. 在 **Protocol (通訊協定)** 中，選擇 **Email (電子郵件)**。在 **Endpoint (端點)** 中，輸入電子郵件地址，然後選擇 **Create subscription (建立訂閱)**。

# 開始使用通知
<a name="getting-started"></a>

開始使用通知的最簡單方法是在其中一個建置專案、部署應用程式、管道或儲存庫上設定通知規則。

**注意**  
第一次建立通知規則時，系統會在您的帳戶中建立服務連結角色。如需詳細資訊，請參閱[使用 AWS CodeStar Notifications 的服務連結角色](using-service-linked-roles.md)。

**Topics**
+ [先決條件](#getting-started-prerequisites)
+ [建立儲存庫的通知規則](getting-started-repository.md)
+ [建立建置專案的通知規則](getting-started-build.md)
+ [建立部署應用程式的通知規則](getting-started-deploy.md)
+ [建立管道的通知規則](getting-started-pipeline.md)

## 先決條件
<a name="getting-started-prerequisites"></a>

完成「[設定](setting-up.md)」中的步驟。您還需要一個您建立通知規則所針對的資源。
+ [在 CodeBuild 中建立建置專案](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html)或使用現有的建置專案。
+ [建立應用程式](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create.html)或使用現有的部署應用程式。
+ [在 CodePipeline 中建立管道](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-create.html)或使用現有的管道。
+ [建立 AWS CodeCommit 儲存庫](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-repository.html)或使用現有的儲存庫。

# 建立儲存庫的通知規則
<a name="getting-started-repository"></a>

您可以建立通知規則，以傳送對您而言很重要的儲存庫事件的相關通知。下列步驟說明如何在單一儲存庫事件上設定通知規則。這些步驟的撰寫假設您的帳戶中已設定儲存庫 AWS 。

**重要**  
如果您在 2019 年 11 月 5 日之前在 CodeCommit 中設定通知，則用於這些通知的 Amazon SNS 主題將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

1. 前往 [https://console.aws.amazon.com/codecommit/](https://console.aws.amazon.com/codecommit/) 開啟 CodeCommit 主控台。

1. 從清單中選擇儲存庫並開啟它。

1. 選擇 **Notify (通知)**，然後選擇 **Create notification rule (建立通知規則)**。您也可以選擇 **Settings (設定)**、選擇 **Notifications (通知)**，然後選擇 **Create notification rule (建立通知規則)**。

1. 在 **Notification name (通知名稱)** 中，輸入規則的名稱。

1. 如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中，請在 **Detail type (詳細資訊類型)** 中，選擇 **Basic (基本)**。如果您想包含提供給 Amazon EventBridge 的資訊，以及可能由資源服務或通知管理工具提供的資訊，請選擇 **Full (完整)**。

   如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

1. 在 **Events that trigger notifications (觸發通知的事件)** 的 **Branches and tags (分支和標籤)** 下，選取 **Created (已建立)**。

1. 在 **Targets (目標)** 中，選擇 **Create SNS topic (建立 SNS 主題)**。
**注意**  
您在建立通知規則的過程中建立主題時，系統會為您套用允許 CodeCommit 將事件發佈至主題的政策。使用針對通知規則建立的主題，有助於確保您只訂閱需要接收此儲存庫相關通知的使用者。

   在 **codestar-notifications-** 字首之後，輸入主題的名稱，然後選擇 **Submit (提交)**。
**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

1. 選擇 **Submit (提交)**，然後檢閱通知規則。

1. 以您的電子郵件地址訂閱您剛建立的 Amazon SNS 主題。如需詳細資訊，請參閱[讓使用者訂閱用於通知的 Amazon SNS 主題](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 前往您的儲存庫，並從預設分支建立測試分支。

1. 建立分支後，通知規則會傳送通知給所有主題訂閱者，其中包含該事件的相關資訊。

# 建立建置專案的通知規則
<a name="getting-started-build"></a>

您可以建立通知規則，以傳送組建專案上對您而言很重要的事件的相關通知。下列步驟說明如何在單一組建專案事件上設定通知規則。這些步驟的撰寫假設您的帳戶中已設定建置專案 AWS 。

1. 前往 [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/) 開啟 CodeBuild 主控台。

1. 從清單中選擇組建專案並開啟它。

1. 選擇 **Notify (通知)**，然後選擇 **Create notification rule (建立通知規則)**。您也可以選擇 **Settings (設定)**，然後選擇 **Create notification rule (建立通知規則)**。

1. 在 **Notification name (通知名稱)** 中，輸入規則的名稱。

1. 

   如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中，請在 **Detail type (詳細資訊類型)** 中，選擇 **Basic (基本)**。如果您想包含提供給 Amazon EventBridge 的資訊，以及可能由資源服務或通知管理工具提供的資訊，請選擇 **Full (完整)**。

   如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

1.  在 **Events that trigger notifications (觸發通知的事件)** 的 **Build phase (組建階段)** 下，選取 **Success (成功)**。

1. 在 **Targets (目標)** 中，選擇 **Create SNS topic (建立 SNS 主題)**。
**注意**  
您在建立通知規則的過程中建立主題時，系統會為您套用允許 CodeBuild 將事件發佈至主題的政策。使用針對通知規則建立的主題，有助於確保您只訂閱需要接收此組建專案相關通知的使用者。

   在 **codestar-notifications-** 字首之後，輸入主題的名稱，然後選擇 **Submit (提交)**。
**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

1. 選擇 **Submit (提交)**，然後檢閱通知規則。

1. 以您的電子郵件地址訂閱您剛建立的 Amazon SNS 主題。如需詳細資訊，請參閱[讓使用者訂閱用於通知的 Amazon SNS 主題](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 導覽至您的組建專案並啟動組建。

1. 成功完成組建階段之後，通知規則會傳送通知給所有主題訂閱者，其中包含該事件的相關資訊。

# 建立部署應用程式的通知規則
<a name="getting-started-deploy"></a>

您可以建立通知規則，以傳送部署應用程式上對您而言很重要的事件的相關通知。下列步驟說明如何在單一組建專案事件上設定通知規則。這些步驟假設您已在 AWS 帳戶中設定部署應用程式。

1. 前往 [https://console.aws.amazon.com/codedeploy/](https://console.aws.amazon.com/codedeploy/) 開啟 CodeDeploy 主控台。

1. 從清單中選擇應用程式並開啟它。

1. 選擇 **Notify (通知)**，然後選擇 **Create notification rule (建立通知規則)**。您也可以選擇 **Settings (設定)**，然後選擇 **Create notification rule (建立通知規則)**。

1. 在 **Notification name (通知名稱)** 中，輸入規則的名稱。

1. 如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中，請在 **Detail type (詳細資訊類型)** 中，選擇 **Basic (基本)**。如果您想包含提供給 Amazon EventBridge 的資訊，以及可能由資源服務或通知管理工具提供的資訊，請選擇 **Full (完整)**。

   如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

   

1.  在 **Events that trigger notifications (觸發通知的事件)** 的 **Deployment (部署)** 下，選取 **Succeeded (成功)**。

1. 在 **Targets (目標)** 中，選擇 **Create SNS topic (建立 SNS 主題)**。
**注意**  
您在建立通知規則的過程中建立主題時，系統會為您套用允許 CodeDeploy 將事件發佈至主題的政策。使用針對通知規則建立的主題，有助於確保您只訂閱需要接收此部署應用程式相關通知的使用者。

   在 **codestar-notifications-** 字首之後，輸入主題的名稱，然後選擇 **Submit (提交)**。
**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

1. 選擇 **Submit (提交)**，然後檢閱通知規則。

1. 以您的電子郵件地址訂閱您剛建立的 Amazon SNS 主題。如需詳細資訊，請參閱[讓使用者訂閱用於通知的 Amazon SNS 主題](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 前往您的部署應用程式並開始部署。

1. 部署成功之後，通知規則會傳送通知給所有主題訂閱者，其中包含該事件的相關資訊。

# 建立管道的通知規則
<a name="getting-started-pipeline"></a>

您可以建立通知規則，以傳送您管道上對您至關重要的事件通知。下列步驟說明如何在單一管道事件上設定通知規則。這些步驟的撰寫假設您的帳戶中已設定管道 AWS 。

1. 前往 [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/) 開啟 CodePipeline 主控台。

1. 從清單中選擇管道並開啟它。

1. 選擇 **Notify (通知)**，然後選擇 **Create notification rule (建立通知規則)**。您也可以選擇 **Settings (設定)**，然後選擇 **Create notification rule (建立通知規則)**。

1. 在 **Notification name (通知名稱)** 中，輸入規則的名稱。

1. 如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中，請在 **Detail type (詳細資訊類型)** 中，選擇 **Basic (基本)**。如果您想包含提供給 Amazon EventBridge 的資訊，以及可能由資源服務或通知管理工具提供的資訊，請選擇 **Full (完整)**。

   如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

1. 在 **Events that trigger notifications (觸發通知的事件)** 的 **Action execution (動作執行)** 下，選取 **Started (已開始)**。

1. 在 **Targets (目標)** 中，選擇 **Create SNS topic (建立 SNS 主題)**。
**注意**  
您在建立通知規則的過程中建立主題時，系統會為您套用允許 CodePipeline 將事件發佈至主題的政策。使用針對通知規則建立的主題，有助於確保您只訂閱需要接收此管道相關通知的使用者。

   在 **codestar-notifications-** 字首之後，輸入主題的名稱，然後選擇 **Submit (提交)**。
**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

1. 選擇 **Submit (提交)**，然後檢閱通知規則。

1. 以您的電子郵件地址訂閱您剛建立的 Amazon SNS 主題。如需詳細資訊，請參閱[讓使用者訂閱用於通知的 Amazon SNS 主題](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 導覽至您的管道，然後選擇 **Release change (版本變更)**。

1. 動作開始時，通知規則會傳送通知給所有主題訂閱者，其中包含該事件的相關資訊。

# 使用通知規則
<a name="notification-rules"></a>

在通知規則中，您設定要使用者接收通知的事件，並指定接收這些通知的目標。您可以透過 Amazon SNS，或透過為 Slack 或 Microsoft Teams 頻道設定的 AWS Chatbot 用戶端，直接傳送通知給使用者。如果您想要擴展通知的範圍，您可以手動設定通知與 AWS Chatbot 之間的整合，以便將通知傳送到 Amazon Chime 聊天室。如需詳細資訊，請參閱[目標](concepts.md#targets)及[將通知與 AWS Chatbot 和 Amazon Chime 整合](notifications-chatbot.md#notifications-chatbot-chime)。

![\[在 AWS 開發人員工具主控台中建立儲存庫的通知規則。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/create-notification-rule-repository.png)


您可以使用開發人員工具主控台或 AWS CLI 來建立和管理通知規則。

**Topics**
+ [建立通知規則](notification-rule-create.md)
+ [檢視通知規則](notification-rule-view.md)
+ [編輯通知規則](notification-rule-edit.md)
+ [啟用或停用通知規則的通知](notification-rule-enable-disable.md)
+ [刪除通知規則](notification-rule-delete.md)

# 建立通知規則
<a name="notification-rule-create"></a>

您可以使用開發人員工具主控台或 AWS CLI 來建立通知規則。您可以將 Amazon SNS 主題建立為通知規則的目標，做為建立規則的一部分。如果您想要使用 AWS Chatbot 用戶端做為目標，您必須先建立該用戶端，才能建立規則。如需詳細資訊，請參閱[設定 Slack 頻道的 AWS Chatbot 用戶端](notifications-chatbot.md#notifications-chatbot-configure-client)。<a name="notification-rule-create-console"></a>

# 建立通知規則 (主控台)
<a name="notification-rule-create-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 使用導覽列瀏覽至資源。
   + 針對 CodeBuild，請選擇 **Build (建置)**，選擇 **Build projects (建置專案)**，然後選擇一個建置專案。
   + 針對 CodeCommit，選擇 **Source (來源)**，選擇 **Repositories (儲存庫)**，然後選擇一個儲存庫。
   + 針對 CodeDeploy，選擇 **Applications (應用程式)**，然後選擇一個應用程式。
   + 針對 CodePipeline，選擇 **Pipeline (管道)**，選擇 **Pipelines (管道)**，然後選擇一個管道。

1. 在資源頁面上，選擇 **Notify (通知)**，然後選擇 **Create notification rule (建立通知規則)**。您也可以前往資源的 **Settings (設定)** 頁面，前往 **Notifications (通知)** 或 **Notification rules (通知規則)**，然後選擇 **Create notification rule (建立通知規則)**。

1. 在 **Notification name (通知名稱)** 中，輸入規則的名稱。

1. 如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中，請在 **Detail type (詳細資訊類型)** 中，選擇 **Basic (基本)**。如果您想包含提供給 Amazon EventBridge 的資訊，以及可能由資源服務或通知管理工具提供的資訊，請選擇 **Full (完整)**。

   如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

1.  在 **Events that trigger notifications (觸發通知的事件)** 中，選取您要傳送通知的事件。如需資源的事件類型，請參閱下列各項：
   + CodeBuild：[建置專案上通知規則的事件](concepts.md#events-ref-buildproject)
   + CodeCommit：[儲存庫上通知規則的事件](concepts.md#events-ref-repositories)
   + CodeDeploy：[部署應用程式上通知規則的事件](concepts.md#events-ref-deployapplication)
   + CodePipeline：[管道上通知規則的事件](concepts.md#events-ref-pipeline)

1. 在 **Targets (目標)** 中，執行下列其中一個動作：
   + 如果您已設定要與通知搭配使用的資源，請在**選擇目標類型**中，**AWS Chatbot (Slack)**、**AWS Chatbot (Microsoft Teams)** 或 **SNS topic**。在**選擇目標**中，選擇用戶端的名稱 （適用於在 AWS Chatbot 中設定的 Slack 或 Microsoft Teams 用戶端） 或 Amazon SNS 主題的 Amazon Resource Name (ARN) （適用於已設定通知所需政策的 Amazon SNS 主題）。
   + 如果您尚未設定要與通知搭配使用的資源，請選擇 **Create target (建立目標)**，然後選擇 **SNS topic (SNS 主題)**。在 **codestar-notifications-** 之後，提供主題名稱，然後選擇 **Create (建立)**。
**注意**  
如果您在建立通知規則的過程中建立 Amazon SNS 主題，將會為您套用允許通知功能將事件發佈至主題的政策。使用針對通知規則建立的主題，有助於確保您只訂閱需要接收此資源相關通知的使用者。
您無法在建立通知規則時建立 AWS Chatbot 用戶端。如果您選擇 AWS Chatbot (Slack) 或 AWS Chatbot (Microsoft Teams)，您會看到一個按鈕，指示您在 AWS Chatbot 中設定用戶端。選擇該選項會開啟 AWS Chatbot 主控台。如需詳細資訊，請參閱[設定 Slack 頻道的 AWS Chatbot 用戶端](notifications-chatbot.md#notifications-chatbot-configure-client)。
如果您想要使用現有的 Amazon SNS 主題做為目標，除了該主題可能存在的任何其他政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。


1. 選擇 **Submit (提交)**，然後檢閱通知規則。
**注意**  
使用者必須訂閱並確認您指定為規則目標的 Amazon SNS 主題訂閱，才能收到通知。如需詳細資訊，請參閱[讓使用者訂閱用於通知的 Amazon SNS 主題](subscribe-users-sns.md#set-up-sns-subscribe)。<a name="notification-rule-create-cli"></a>

# 建立通知規則 (AWS CLI)
<a name="notification-rule-create-cli"></a>

1. 在終端機或命令提示字元中，執行 **create-notification rule** 命令，以產生 JSON 基本結構。

   ```
   aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json
   ```

   您可以將檔案命名為任何您想要的名稱。在此範例中，檔案命名為 *rule.json*。

1. 在純文字編輯器中開啟 JSON 檔案，並編輯成包含您想要用於規則的資源、事件類型和 Amazon SNS 目標。

   下列範例顯示 ID 為 *123456789012* 之 AWS 帳戶中名為 *MyDemoRepo* **MyNotificationRule**之儲存庫的通知規則。建立分支和標籤時，含有完整詳細資訊類型的通知會傳送到名為 *MyNotificationTopic* 的 Amazon SNS 主題。

   ```
   {
       "Name": "MyNotificationRule",
       "EventTypeIds": [
           "codecommit-repository-branches-and-tags-created"
       ],
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Targets": [
           {
               "TargetType": "SNS",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL"
   }
   ```

   儲存檔案。

1. 在終端機或命令列中，再次執行 **create-notification-rule** 命令，使用您剛編輯的檔案建立通知規則。

   ```
   aws codestar-notifications create-notification-rule --cli-input-json  file://rule.json
   ```

1. 如果成功，此命令會傳回通知規則的 ARN，如下所示。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-rule-list-event-types"></a>

# 列出通知規則的事件類型 (AWS CLI)
<a name="notification-rule-list-event-types"></a>

1. 在終端機或命令提示字元中，執行 **list-event-types** 命令。您可以使用 `--filters` 選項，將回應限制為特定資源類型或其他屬性。例如，以下命令會傳回 CodeDeploy 應用程式的事件類型清單。

   ```
   aws codestar-notifications list-event-types --filters Name=SERVICE_NAME,Value=CodeDeploy
   ```

1. 此命令會產生類似下列的輸出。

   ```
   {
       "EventTypes": [
           {
               "EventTypeId": "codedeploy-application-deployment-succeeded",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Succeeded",
               "ResourceType": "Application"
           },
           {
               "EventTypeId": "codedeploy-application-deployment-failed",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Failed",
               "ResourceType": "Application"
           },
           {
               "EventTypeId": "codedeploy-application-deployment-started",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Started",
               "ResourceType": "Application"
           }
       ]
   }
   ```<a name="notification-rule-add-tag"></a>

# 新增標籤到通知規則 (AWS CLI)
<a name="notification-rule-add-tag"></a>

1. 在終端機或命令提示字元中，執行 **tag-resource** 命令。例如，使用下列命令來新增名稱為 *Team* 且值為 *Li\$1Juan* 的標籤金鑰/值對。

   ```
   aws codestar-notifications tag-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE --tags Team=Li_Juan
   ```

1. 此命令會產生類似下列的輸出。

   ```
   {
       "Tags": {
           "Team": "Li_Juan"
       }
   }
   ```

# 檢視通知規則
<a name="notification-rule-view"></a>

您可以使用開發人員工具主控台或 AWS CLI 檢視 AWS 區域中所有資源的所有通知規則。您也可以檢視每個通知規則的詳細資訊。與建立通知規則的程序不同，您不必前往資源的資源頁面。<a name="notification-rule-view-console"></a>

# 檢視通知規則 (主控台)
<a name="notification-rule-view-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則**中，檢閱 AWS 帳戶 AWS 區域 您目前登入所在 中 的資源所設定的規則清單。使用選擇器變更 AWS 區域。

1. 若要檢視通知規則的詳細資訊，請從清單中選擇它，然後選擇 **View details (檢視詳細資訊)**。您也可以簡單地在清單中選擇其名稱。<a name="notification-rule-view-list-cli"></a>

# 檢視通知規則清單 (AWS CLI)
<a name="notification-rule-view-list-cli"></a>

1. 在終端機或命令提示字元中，執行 **list-notification-rules**命令以檢視指定 AWS 區域的所有通知規則。

   ```
   aws codestar-notifications list-notification-rules --region us-east-1
   ```

1. 如果成功，此命令會傳回 AWS 區域中每個通知規則的 ID 和 ARN，如下所示。

   ```
   {
       "NotificationRules": [
           {
               "Id": "dc82df7a-EXAMPLE",
               "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
           },
           {
               "Id": "8d1f0983-EXAMPLE",
               "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/8d1f0983-EXAMPLE"
           }
       ]
   }
   ```<a name="notification-rule-view-details-cli"></a>

# 檢視通知規則的詳細資訊 (AWS CLI)
<a name="notification-rule-view-details-cli"></a>

1. 在終端機或命令提示字元中，執行 **describe-notification-rule** 命令，並指定通知規則的 ARN。

   ```
   aws codestar-notifications describe-notification-rule --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE
   ```

1. 如果成功，此命令傳回的輸出會類似如下。

   ```
   {
       "LastModifiedTimestamp": 1569199844.857,
       "EventTypes": [
           {
               "ServiceName": "CodeCommit",
               "EventTypeName": "Branches and tags: Created",
               "ResourceType": "Repository",
               "EventTypeId": "codecommit-repository-branches-and-tags-created"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL",
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE",
       "Targets": [
           {
               "TargetStatus": "ACTIVE",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic",
               "TargetType": "SNS"
           }
       ],
       "Name": "MyNotificationRule",
       "CreatedTimestamp": 1569199844.857,
       "CreatedBy": "arn:aws:iam::123456789012:user/Mary_Major"
   }
   ```<a name="notification-rule-view-tags-cli"></a>

# 檢視通知規則的標籤清單 (AWS CLI)
<a name="notification-rule-view-tags-cli"></a>

1. 在終端機或命令提示字元中，執行 **list-tags-for-resource** 命令來檢視所指定通知規則 ARN 的所有標籤。

   ```
   aws codestar-notifications list-tags-for-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE
   ```

1. 如果成功，此命令傳回的輸出會類似如下。

   ```
   {
       "Tags": {
           "Team": "Li_Juan"
       }
   }
   ```

# 編輯通知規則
<a name="notification-rule-edit"></a>

您可以編輯通知規則以變更其名稱、傳送通知所針對的事件、詳細資訊類型，或通知傳送到的一或多個目標。您可以使用開發人員工具主控台或 AWS CLI 編輯通知規則。<a name="notification-rule-edit-console"></a>

# 編輯通知規則 (主控台)
<a name="notification-rule-edit-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則**中，檢閱 AWS 區域 您目前登入之 中為 AWS 帳戶中資源設定的規則。使用選擇器變更 AWS 區域。

1. 從清單中選擇規則，然後選擇 **Edit (編輯)**。進行變更，然後選擇 **Submit (提交)**。<a name="notification-rule-edit-cli"></a>

# 編輯通知規則 (AWS CLI)
<a name="notification-rule-edit-cli"></a>

1. 在終端機或命令提示字元中，執行 [describe-notification-rule 命令](notification-rule-view.md#notification-rule-view-details-cli)，以檢視通知規則的結構。

1. 執行 **update-notification rule** 命令來產生 JSON 基本結構，然後儲存到檔案。

   ```
   aws codestar-notifications update-notification-rule --generate-cli-skeleton > update.json
   ```

   您可以將檔案命名為任何您想要的名稱。在此範例中，檔案為 *update.json*。

1. 在純文字編輯器中開啟 JSON 檔案，並對規則進行變更。

   下列範例顯示 ID **MyNotificationRule** 為 *123456789012* AWS 之帳戶中名為 *MyDemoRepo* 之儲存庫的通知規則。建立分支和標籤時，通知會傳送到名為 *MyNotificationTopic* 的 Amazon SNS 主題。規則名稱變更為 *MyNewNotificationRule*。

   ```
   {
       "Name": "MyNewNotificationRule",
       "EventTypeIds": [
           "codecommit-repository-branches-and-tags-created"
       ],
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Targets": [
           {
               "TargetType": "SNS",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL"
   }
   ```

   儲存檔案。

1. 在終端機或命令列中，再次執行 **update-notification-rule** 命令，使用您剛編輯的檔案更新通知規則。

   ```
   aws codestar-notifications update-notification-rule --cli-input-json  file://update.json
   ```

1. 如果成功，此命令會傳回通知規則的 Amazon Resource Name (ARN)，如下所示。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-rule-remove-tag-cli"></a>

# 從通知規則移除標籤 (AWS CLI)
<a name="notification-rule-remove-tag-cli"></a>

1. 在終端機或命令提示字元中，執行 **untag-resource** 命令。例如，以下命令會移除包含 *Team* 名稱的標籤。

   ```
   aws codestar-notifications untag-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE --tag-keys Team
   ```

1. 若成功，此命令不會傳回任何內容。

## 另請參閱
<a name="notification-rule-edit-also"></a>
+ [新增或移除通知規則的目標](notification-target-change-rule.md)
+ [啟用或停用通知規則的通知](notification-rule-enable-disable.md)
+ [事件](concepts.md#events)

# 啟用或停用通知規則的通知
<a name="notification-rule-enable-disable"></a>

當您建立通知規則時，預設會啟用通知。您不需要為了防止傳送通知而刪除規則。只要變更其通知狀態即可。<a name="notification-rule-enable-disable-console"></a>

# 變更通知規則的通知狀態 (主控台)
<a name="notification-rule-enable-disable-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則**中，檢閱 AWS 區域 您目前登入之 中針對您 AWS 帳戶中資源設定的規則。使用選擇器變更 AWS 區域。

1. 尋找您要啟用或停用的通知規則，然後選擇它以顯示其詳細資訊。

1. 在 **Notification status (通知狀態)** 中，選擇滑桿以變更規則狀態：
   + **Sending notifications (傳送通知)**：這是預設值。
   + **Notifications paused (通知暫停)**：不會將通知傳送至指定的目標。<a name="notification-rule-enable-cli"></a>

# 變更通知規則的通知狀態 (AWS CLI)
<a name="notification-rule-enable-cli"></a>

1. 按照[編輯通知規則 (AWS CLI)](notification-rule-edit.md#notification-rule-edit-cli) 中的步驟，取得通知規則的 JSON。

1. 將 `Status` 欄位編輯為 `ENABLED` (預設值) 或 `DISABLED` (無通知)，然後執行 **update-notification-rule** 命令以變更狀態。

   ```
   "Status": "ENABLED"
   ```

# 刪除通知規則
<a name="notification-rule-delete"></a>

一個資源只能設定 10 個通知規則，因此請考慮刪除不再需要的規則。您可以使用開發人員工具主控台或 AWS CLI 來刪除通知規則。

**注意**  
刪除通知規則之後就無法復原，但您可以重新建立通知規則。刪除通知規則並不會刪除目標。<a name="notification-rule-delete-console"></a>

# 刪除通知規則 (主控台)
<a name="notification-rule-delete-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則**中，檢閱 AWS 區域 您目前登入之 中針對您 AWS 帳戶中資源設定的規則。使用選擇器變更 AWS 區域。

1. 選擇通知規則，然後選擇 **Delete (刪除)**。

1. 輸入 **delete**，然後選擇 **Delete (刪除)**。<a name="notification-rule-delete-cli"></a>

# 刪除通知規則 (AWS CLI)
<a name="notification-rule-delete-cli"></a>

1. 在終端機或命令提示字元中，執行 **delete-notification-rule** 命令，並指定通知規則的 ARN。

   ```
   aws codestar-notifications delete-notification-rule --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE
   ```

1. 如果成功，此命令會傳回所刪除通知規則的 ARN，如下所示。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```

# 使用通知規則目標
<a name="notification-targets"></a>

通知規則目標是一個目的地，可定義當通知規則的事件條件符合時，您要傳送通知的位置。您可以在為 Slack 或 Microsoft Teams 頻道設定的 Amazon SNS 主題和 AWS Chatbot 用戶端之間進行選擇。您可以將 Amazon SNS 主題建立為目標，做為建立通知規則的一部分 (建議)。您也可以選擇與 AWS 通知規則位於相同區域中的現有 Amazon SNS 主題，但必須使用必要的政策進行設定。如果您選擇使用 AWS Chatbot 用戶端做為目標，您必須先在 AWS Chatbot 中建立該用戶端。

如果您想要擴展通知的範圍，您可以手動設定通知與 AWS Chatbot 之間的整合，以便將通知傳送到 Amazon Chime 聊天室。然後，您可以選擇為該 AWS Chatbot 用戶端設定的 Amazon SNS 主題作為通知規則的目標。如需詳細資訊，請參閱[將通知與 AWS Chatbot 和 Amazon Chime 整合](notifications-chatbot.md#notifications-chatbot-chime)。

您可以使用開發人員工具主控台或 AWS CLI 來管理通知目標。您可以使用 主控台或 AWS CLI 來建立和設定 Amazon SNS 主題和 AWS Chatbot 用戶端做為[目標](concepts.md#targets)。您也可以設定您設定為目標和 AWS Chatbot 的 Amazon SNS 主題之間的整合。如此一來，您就可以將通知傳送至 Amazon Chime 聊天室。如需詳細資訊，請參閱[設定通知與 AWS Chatbot 之間的整合](notifications-chatbot.md)。

**Topics**
+ [建立或設定通知規則目標](notification-target-create.md)
+ [檢視通知規則目標](notification-target-view.md)
+ [新增或移除通知規則的目標](notification-target-change-rule.md)
+ [刪除通知規則目標](notification-target-delete.md)

# 建立或設定通知規則目標
<a name="notification-target-create"></a>

通知規則目標是針對 Slack 或 Microsoft Teams 頻道設定的 Amazon SNS 主題或 AWS Chatbot 用戶端。

您必須先建立 AWS Chatbot 用戶端，才能選取用戶端做為目標。當您選擇 AWS Chatbot 用戶端做為通知規則的目標時，會為該 AWS Chatbot 用戶端設定 Amazon SNS 主題，其中包含通知傳送至 Slack 或 Microsoft Teams 頻道所需的所有政策。您不需要為 AWS Chatbot 用戶端設定任何現有的 Amazon SNS 主題。

建立通知規則時，您可以在開發人員工具主控台中建立 Amazon SNS 通知規則目標。將會為您套用允許通知傳送至該主題的政策。這是為通知規則建立目標的最簡單方法。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。

如果您使用現有 Amazon SNS 主題，必須為它設定存取政策，以允許資源將通知傳送至該主題。如需範例，請參閱 [設定通知的 Amazon SNS 主題](set-up-sns.md)。

**注意**  
如果您要使用現有 Amazon SNS 主題而非建立新主題，請在 **Targets (目標)** 中選擇其 ARN。請確定主題具有適當的存取政策，而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題，它將包含允許 CodeCommit 發佈至它的政策，其中包含與 AWS CodeStar Notifications 所需的許可不同的許可。不建議使用這些主題。如果您想要使用針對該體驗建立的政策，除了已存在的政策之外，還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)及[了解通知內容和安全性](security.md#security-notifications)。

如果您想要擴展通知的範圍，您可以手動設定通知與 AWS Chatbot 之間的整合，以便將通知傳送到 Amazon Chime 聊天室。如需詳細資訊，請參閱[目標](concepts.md#targets)及[將通知與 AWS Chatbot 和 Amazon Chime 整合](notifications-chatbot.md#notifications-chatbot-chime)。<a name="notification-target-create-console"></a>

# 設定現有 Amazon SNS 主題做為通知規則目標 (主控台)
<a name="notification-target-create-console"></a>

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 的 Amazon SNS 主控台。

1. 於導覽列中，選擇 **Topics (主題)**。選擇主題，然後選擇 **Edit (編輯)**。

1. 展開 **Access policy (存取政策)**，然後選擇 **Advanced (進階)**。

1. 在 JSON 編輯器中，為政策新增下列陳述式。包含主題 ARN、、 AWS 帳戶 ID AWS 區域和主題名稱。

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

   該政策陳述式應如以下範例所示。

   ```
   {
     "Version": "2008-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules",
         "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "123456789012"
           }
         }
       },
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
     ]
   }
   ```

1. 選擇**儲存變更**。

1. 在 **Subscriptions (訂閱)** 中，檢閱主題訂閱者的清單。適當地新增、編輯或刪除此通知規則目標的訂閱者。請確定訂閱者清單只包含允許查看資源相關資訊的使用者。如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

# 使用 Slack 建立 AWS Chatbot 用戶端以用作目標


1. 請依照 *AWS Chatbot 管理員指南*中的[在 Slack 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立和設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Slack。

# 使用 Microsoft Teams 建立 AWS Chatbot 用戶端以用作目標


1. 請依照《AWS Chatbot 管理員指南》**中的[在 Microsoft Teams 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立和設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Microsoft Teams。

# 檢視通知規則目標
<a name="notification-target-view"></a>

您可以使用開發人員工具主控台，而不是 Amazon SNS 主控台來檢視 AWS 區域中所有資源的所有通知規則目標。您也可以檢視通知規則目標的詳細資訊。<a name="notification-target-view-console"></a>

# 檢視通知規則目標 (主控台)
<a name="notification-target-view-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則目標**中，檢閱 AWS 區域 您目前登入所在 AWS 帳戶 中 中通知規則所使用的目標清單。使用選擇器變更 AWS 區域。如果目標狀態顯示為 **Unreachable (無法連線)**，您可能需要進行調查。如需詳細資訊，請參閱[疑難排解](troubleshooting.md)。<a name="notification-target-view-list-cli"></a>

# 檢視通知規則目標清單 (AWS CLI)
<a name="notification-target-view-list-cli"></a>

1. 在終端機或命令提示字元中，執行 **list-targets** 命令來檢視所指定 AWS 區域的所有通知規則目標的清單：

   ```
   aws codestar-notifications list-targets --region us-east-2
   ```

1. 如果成功，此命令會傳回 AWS 區域中每個通知規則的 ID 和 ARN，如下所示：

   ```
   {
       "Targets": [
           {
               "TargetAddress": "arn:aws:sns:us-east-2:123456789012:MySNSTopicForNotificationRules",
               "TargetType": "SNS",
               "TargetStatus": "ACTIVE"
           },
           {
               "TargetAddress": "arn:aws:chatbot::123456789012:chat-configuration/slack-channel/MySlackChannelClientForMyDevTeam",
               "TargetStatus": "ACTIVE", 
               "TargetType": "AWSChatbotSlack"
           },
           {
               "TargetAddress": "arn:aws:sns:us-east-2:123456789012:MySNSTopicForNotificationsAboutMyDemoRepo",
               "TargetType": "SNS",
               "TargetStatus": "ACTIVE"
           }
       ]
   }
   ```

# 新增或移除通知規則的目標
<a name="notification-target-change-rule"></a>

您可以編輯通知規則，以變更傳送通知的一或多個目標。您可以使用開發人員工具主控台或 或 AWS CLI 來變更通知規則的目標。<a name="notification-target-change-rule-console"></a>

# 變更通知規則的目標 (主控台)
<a name="notification-target-change-rule-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則**中，檢閱 AWS 區域 您目前登入之 AWS 帳戶中為資源設定的規則清單。使用選擇器變更 AWS 區域。

1. 選擇規則，然後選擇 **Edit (編輯)**。

1. 在 **Targets (目標)** 中，執行下列其中一個動作：
   + 若要新增另一個目標，請選擇**新增目標**，然後從清單中選擇您要新增的 Amazon SNS 主題或 AWS Chatbot (Slack) 或 AWS Chatbot (Microsoft Teams) 用戶端。您也可以選擇 **Create SNS topic (建立 SNS 主題)** 來建立主題並新增為目標。一個通知規則最多可有 10 個目標。
   + 若要移除目標，請選擇您要移除的目標旁邊的 **Remove target (移除目標)**。

1. 選擇**提交**。<a name="notification-target-change-rule-add-cli"></a>

# 新增目標到通知規則 (AWS CLI)
<a name="notification-target-change-rule-add-cli"></a>

1. 在終端機或命令提示字元中，執行 **subscribe** 命令以新增目標。例如，以下命令會新增 Amazon SNS 主題做為通知規則的目標。

   ```
   aws codestar-notifications subscribe --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE --target TargetType=SNS,TargetAddress=arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，此命令會傳回所更新通知規則的 ARN，如下所示。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-target-change-rule-remove-cli"></a>

# 從通知規則移除目標 (AWS CLI)
<a name="notification-target-change-rule-remove-cli"></a>

1. 在終端機或命令提示字元中，執行 **unsubscribe** 命令以移除目標。例如，以下命令會移除做為通知規則目標的 Amazon SNS 主題。

   ```
   aws codestar-notifications unsubscribe --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE --target TargetType=SNS,TargetAddress=arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，此命令會傳回所更新通知規則的 ARN 和所移除目標的相關資訊，如下所示。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
       "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
   }
   ```

## 另請參閱
<a name="notification-target-change-also"></a>
+ [編輯通知規則](notification-rule-edit.md)
+ [啟用或停用通知規則的通知](notification-rule-enable-disable.md)

# 刪除通知規則目標
<a name="notification-target-delete"></a>

如果不再需要目標，可以將其刪除。一個資源只能設定 10 個通知規則目標，因此刪除不需要的目標有助於為可能要新增到該通知規則的其他目標騰出空間。

**注意**  
刪除通知規則目標會將目標從設定將其做為目標的所有通知規則中移除，但不會刪除目標本身。<a name="notification-target-delete-console"></a>

# 刪除通知規則目標 (主控台)
<a name="notification-target-delete-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 在導覽列中，展開 **Settings (設定)**，然後選擇 **Notification rules (通知規則)**。

1. 在**通知規則目標**中，檢閱 AWS 區域 您目前登入之 AWS 帳戶中為資源設定的目標清單。使用選擇器變更 AWS 區域。

1. 選擇通知規則目標，然後選擇 **Delete (刪除)**。

1. 輸入 **delete**，然後選擇 **Delete (刪除)**。<a name="notification-target-delete-cli"></a>

# 刪除通知規則目標 (AWS CLI)
<a name="notification-target-delete-cli"></a>

1. 在終端機或命令提示字元中，執行 **delete-target** 命令，並指定目標的 ARN。例如，下列命令會刪除使用 Amazon SNS 主題的目標。

   ```
   aws codestar-notifications delete-target --target-address arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，此命令不會傳回任何內容。如果失敗，此命令會傳回錯誤。最常見的錯誤是主題為一或多個通知規則的目標。

   ```
   An error occurred (ValidationException) when calling the DeleteTarget operation: Unsubscribe target before deleting.
   ```

   您可以使用 `--force-unsubscribe-all` 參數，將目標從設定以其為目標的所有通知規則中移除，然後刪除該目標。

   ```
   aws codestar-notifications delete-target --target-address arn:aws:sns:us-east-1:123456789012:MyNotificationTopic --force-unsubscribe-all
   ```

# 設定通知與 AWS Chatbot 之間的整合
<a name="notifications-chatbot"></a>

AWS Chatbot 是一種 AWS 服務，可讓 DevOps 和軟體開發團隊使用 Amazon Chime 聊天室、Slack 頻道和 Microsoft Team 頻道來監控和回應 中的操作事件 AWS 雲端。您可以設定通知規則目標與 AWS Chatbot 之間的整合，讓事件通知出現在您選擇的 Amazon Chime 會議室、Slack 頻道或 Microsoft Teams 頻道中。如需詳細資訊，請參閱 [AWS Chatbot 文件](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)。

設定與 AWS Chatbot 的整合之前，您必須設定通知規則和規則目標。如需詳細資訊，請參閱[設定](setting-up.md)及[建立通知規則](notification-rule-create.md)。您也必須在 AWS Chatbot 中設定 Slack 頻道、Microsoft Teams 頻道或 Amazon Chime 聊天室。如需詳細資訊，請參閱這些服務的文件。

**Topics**
+ [設定 Slack 頻道的 AWS Chatbot 用戶端](#notifications-chatbot-configure-client)
+ [為 Microsoft Teams 頻道設定 AWS Chatbot 用戶端](#notifications-chatbot-configure-client-ts)
+ [為 Slack 或 Amazon Chime 手動設定用戶端](#notifications-chatbot-configure-manual-client)

## 設定 Slack 頻道的 AWS Chatbot 用戶端
<a name="notifications-chatbot-configure-client"></a>

您可以建立使用 AWS Chatbot 用戶端做為目標的通知規則。如果您為 Slack 頻道建立用戶端，則可以直接使用此用戶端，做為建立通知規則之工作流程中的目標。這是設定出現在 Slack 頻道中的通知最簡單的方法。

## 使用 Slack 建立 AWS Chatbot 用戶端以用作目標


1. 請依照 *AWS Chatbot 管理員指南*中的[在 Slack 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立和設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題之後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Slack。

## 為 Microsoft Teams 頻道設定 AWS Chatbot 用戶端
<a name="notifications-chatbot-configure-client-ts"></a>

您可以建立使用 AWS Chatbot 用戶端做為目標的通知規則。如果您為 或 Microsoft Team 頻道建立用戶端，則可以直接使用此用戶端，做為建立通知規則之工作流程中的目標。這是設定出現在 Microsoft Teams 頻道中的通知最簡單的方法。

## 使用 Microsoft Teams 建立 AWS Chatbot 用戶端以用作目標


1. 請依照《AWS Chatbot 管理員指南》**中的[在 Microsoft Teams 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立並設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題之後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Microsoft Teams。

## 為 Slack 或 Amazon Chime 手動設定用戶端
<a name="notifications-chatbot-configure-manual-client"></a>

您可以選擇在通知和 Slack 或 Amazon Chime 之間直接建立整合。這是為 Amazon Chime 聊天室設定通知的唯一可用方法。當您手動設定此整合時，您可以建立 AWS Chatbot 用戶端，該用戶端使用您先前設定為通知規則目標的 Amazon SNS 主題。<a name="notification-rule-chatbot-console-manual"></a>

## 手動整合通知與 AWS Chatbot 和 slack
<a name="notification-rule-chatbot-console-manual"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 選擇 **Settings (設定)**，然後選擇 **Notification settings (通知設定)**。

1. 在 **Notification rule targets (通知規則目標)** 中，尋找並複製目標。
**注意**  
您可以設定多個通知規則使用與其目標相同的 Amazon SNS 主題。這可協助您整合簡訊，但如果訂閱清單專屬於一個通知規則或資源，則會產生意外後果。

1. 在 https：//[https://console.aws.amazon.com/chatbot/](https://console.aws.amazon.com/chatbot/) 開啟 AWS Chatbot 主控台。

1. 選擇 **Configure new client (設定新用戶端)**，然後選擇 **Slack**。

1. 選擇**設定**。

1. 登入您的 Slack 工作空間。

1. 如果系統提示您確認選擇項目，請選擇 **Allow (允許)**。

1. 選擇 **Configure new channel (設定新頻道)**。

1. 在 **Configuration details (組態詳細資訊)** 中的 **Configuration name (組態名稱)** 中，輸入您的用戶端名稱。此名稱會在您建立通知規則時，顯示在 **AWS Chatbot (Slack)** 目標類型的可用目標清單中。

1. 在 **Configure Slack Channel** (設定 Slack 頻道) 的 **Channel type** (頻道類型) 中，根據您要整合的頻道類型來選擇 **Public** (公有) 或 **Private** (私有)。
   + 在 **Public channel (公有頻道)** 中，從清單中選擇 Slack 頻道的名稱。
   + 在 **Private channel ID (私有頻道 ID)** 中，輸入頻道代碼或 URL。

1. 在 **IAM permissions (IAM 許可)** 中的 **Role (角色)** 裡，選擇 **Create an IAM role using a (使用範本建立 IAM 角色)**。在 **Policy templates (政策範本)** 中，選擇 **Notification permissions (通知許可)**。在 **Role name (角色名稱)** 中，輸入此角色的名稱 (例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**)。在 **Policy templates (政策範本)** 中，選擇 **Notification permissions (通知許可)**。

1. 在 **SNS 主題**的 **SNS 區域中**，選擇您建立通知規則目標 AWS 區域 的 。在 **SNS topics (SNS 主題)** 中，選擇您設定為通知規則目標的 Amazon SNS 主題名稱。
**注意**  
如果您要建立使用此用戶端做為目標的通知規則，則不需要執行此步驟。

1. 選擇**設定**。
**注意**  
如果您已搭配私有頻道設定了整合，則您必須先邀請 AWS Chatbot 加入該頻道後，才能在該頻道中看到通知。如需詳細資訊，請參閱 [AWS Chatbot 文件](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)。

1. (選用) 若要測試整合，請在資源中進行變更，以符合設定為使用 Amazon SNS 主題做為其目標之通知規則的事件類型。例如，如果您有一個通知規則設定為在對提取請求進行註解時傳送通知，請對提取請求進行註解，然後在瀏覽器中監看 Slack 頻道，以查看通知何時出現。<a name="notifications-chatbot-chime"></a>

## 將通知與 AWS Chatbot 和 Amazon Chime 整合
<a name="notifications-chatbot-chime"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/codesuite/settings/notifications](https://console.aws.amazon.com/codesuite/settings/notifications/) 的 AWS 開發人員工具主控台。

1. 選擇 **Settings (設定)**，然後選擇 **Notification settings (通知設定)**。

1. 在 **Notification rule targets (通知規則目標)** 中，尋找並複製目標。
**注意**  
您可以設定多個通知規則使用與其目標相同的 Amazon SNS 主題。這可協助您整合簡訊，但如果訂閱清單是針對一個通知規則或資源，也會產生意外後果。

1. 在 Amazon Chime 中，開啟您要設定進行整合的聊天室。

1. 選擇右上角的齒輪圖示，然後選擇 **Manage webhooks (管理 Webhook)**。

1. 在 **Manage webhooks (管理 Webhook)** 對話方塊中，選擇 **New (新增)**，輸入 Webhook 的名稱，然後選擇 **Create (建立)**。

1. 確認 Webhook 出現，然後選擇 **Copy webhook URL (複製 Webhook URL)**。

1. 在 https：//[https://console.aws.amazon.com/chatbot/](https://console.aws.amazon.com/chatbot/) 開啟 AWS Chatbot 主控台。

1. 選擇 **Configure new client (設定新用戶端)**，然後選擇 **Amazon Chime**。

1. 在 **Configuration details (組態詳細資訊)** 中的 **Configuration name (組態名稱)** 中，輸入您的用戶端名稱。

1. 在 **Webhook URL** 中，貼上 URL。在 **Webhook description (Webhook 描述)** 中，提供選用描述。

1. 在 **IAM permissions (IAM 許可)** 中的 **Role (角色)** 裡，選擇 **Create an IAM role using a (使用範本建立 IAM 角色)**。在 **Policy templates (政策範本)** 中，選擇 **Notification permissions (通知許可)**。在 **Role name (角色名稱)** 中，輸入此角色的名稱 (例如 **AWSCodeStarNotifications-Chatbot-Chime-Role**)。

1. 在 **SNS 主題**的 **SNS 區域中**，選擇您建立通知規則目標 AWS 區域 的 。在 **SNS topics (SNS 主題)** 中，選擇您設定為通知規則目標的 Amazon SNS 主題名稱。

1. 選擇**設定**。

1. (選用) 若要測試整合，請在資源中進行變更，以符合設定為使用 Amazon SNS 主題做為其目標之通知規則的事件類型。例如，如果您有一個通知規則設定為在對提取請求進行註解時傳送通知，請對提取請求加上註解，然後在瀏覽器中監看 Amazon Chime 聊天室，查看通知何時出現。

# 使用 記錄 AWS CodeStar Notifications API 呼叫 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS CodeStar Notifications 已與 服務整合 AWS CloudTrail，該服務會提供使用者、角色或服務所採取動作的記錄 AWS 。CloudTrail 會擷取通知的 API 呼叫當作事件。擷取的呼叫包括從開發人員工具主控台進行的呼叫，以及對 AWS CodeStar Notifications API 作業的程式碼呼叫。如果您建立追蹤記錄，就可以將 CloudTrail 事件持續交付到 Amazon S3 儲存貯體，包括通知的事件。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。您可以使用 CloudTrail 所收集的資訊，判斷對 AWS CodeStar Notifications 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間，以及其他詳細資訊。

如需詳細資訊，請參閱《AWS CloudTrail 使用者指南》[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## CloudTrail 中的AWS CodeStar Notifications 資訊
<a name="service-name-info-in-cloudtrail"></a>

建立帳戶 AWS 帳戶 時，您的 上會啟用 CloudTrail。當活動在 AWS CodeStar Notifications 中發生時，該活動會記錄在 CloudTrail 事件中，以及**事件歷史記錄**中的其他 AWS 服務事件。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊，請參閱[使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 中的事件 AWS 帳戶，包括 AWS CodeStar Notifications 的事件，請建立追蹤。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設，當您在主控台中建立追蹤時，該追蹤會套用至所有的 AWS 區域。線索會記錄 AWS 分割區中所有區域的事件，並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊，請參閱下列內容：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收多個區域的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收多個帳戶的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄 All AWS CodeStar Notifications 動作，並記錄在 *[AWS CodeStar Notifications API 參考](https://docs.aws.amazon.com/codestar-notifications/latest/APIReference/)*中。例如，對 `CreateNotificationRule`、`Subscribe` 和 `ListEventTypes` 動作發出的呼叫會在 CloudTrail 記錄檔案中產生專案。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 請求是使用根或 AWS Identity and Access Management (IAM) 使用者登入資料提出。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 請求是否由其他 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解 日誌檔案項目
<a name="understanding-service-name-entries"></a>

追蹤是一種組態，可讓事件以日誌檔案的形式交付至您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個事件為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

以下範例顯示的 CloudTrail 日誌項目示範如何建立通知規則，包括 `CreateNotificationRule` 和 `Subscribe` 動作。

**注意**  
通知日誌檔案項目中的某些事件可能來自服務連結角色 AWSServiceRoleForCodeStarNotifications。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type":"IAMUser",
        "principalId":"AIDACKCEVSQ6C2EXAMPLE",
        "arn":"arn:aws:iam::123456789012:user/Mary_Major",
        "accountId":"123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName":"Mary_Major"
    },
    "eventTime": "2019-10-07T21:34:41Z",
    "eventSource": "events.amazonaws.com",
    "eventName": "CreateNotificationRule",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "codestar-notifications.amazonaws.com",
    "userAgent": "codestar-notifications.amazonaws.com",
    "requestParameters": {
        "description": "This rule is used to route CodeBuild, CodeCommit, CodePipeline, and other Developer Tools notifications to AWS CodeStar Notifications",
        "name": "awscodestarnotifications-rule",
        "eventPattern": "{\"source\":[\"aws.codebuild\",\"aws.codecommit\",\"aws.codepipeline\"]}"
    },
    "responseElements": {
        "ruleArn": "arn:aws:events:us-east-1:123456789012:rule/awscodestarnotifications-rule"
    },
    "requestID": "ff1f309a-EXAMPLE",
    "eventID": "93c82b07-EXAMPLE",
    "eventType": "AwsApiCall",
    "apiVersion": "2015-10-07",
    "recipientAccountId": "123456789012"
}
```

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type":"IAMUser",
        "principalId":"AIDACKCEVSQ6C2EXAMPLE",
        "arn":"arn:aws:iam::123456789012:user/Mary_Major",
        "accountId":"123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName":"Mary_Major"
    },
    "eventTime": "2019-10-07T21:34:41Z",
    "eventSource": "events.amazonaws.com",
    "eventName": "Subscribe",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "codestar-notifications.amazonaws.com",
    "userAgent": "codestar-notifications.amazonaws.com",
    "requestParameters": {
        "targets": [
            {
                "arn": "arn:aws:codestar-notifications:us-east-1:::",
                "id": "codestar-notifications-events-target"
            }
        ],
        "rule": "awscodestarnotifications-rule"
    },
    "responseElements": {
        "failedEntryCount": 0,
        "failedEntries": []
    },
    "requestID": "9466cbda-EXAMPLE",
    "eventID": "2f79fdad-EXAMPLE",
    "eventType": "AwsApiCall",
    "apiVersion": "2015-10-07",
    "recipientAccountId": "123456789012"
}
```

# 疑難排解
<a name="troubleshooting"></a>

以下資訊可能有助於對通知的常見問題進行疑難排解。

**Topics**
+ [我嘗試在資源上建立通知規則時收到許可錯誤](#troubleshooting-permissions-error)
+ [我無法檢視通知規則](#troubleshooting-cannot-view)
+ [我無法建立通知規則](#troubleshooting-cannot-create-rule)
+ [我收到無法存取資源的通知](#troubleshooting-resource-no-access)
+ [我沒有收到 Amazon SNS 通知](#troubleshooting-no-SNS)
+ [我收到重複的事件通知](#troubleshooting-duplicate-notifications)
+ [我想了解為什麼通知目標狀態顯示為無法連線](#troubleshooting-resource-unavailable)
+ [我想要提高通知和資源的限額](#troubleshooting-limit-increase)

## 我嘗試在資源上建立通知規則時收到許可錯誤
<a name="troubleshooting-permissions-error"></a>

確定您有足夠的許可。如需詳細資訊，請參閱[身分型政策範例](security_iam_id-based-policy-examples.md)。

## 我無法檢視通知規則
<a name="troubleshooting-cannot-view"></a>

**問題：**您進入開發人員工具主控台後，在 **Settings (設定)** 底下選擇 **Notifications (通知)** 時，出現許可錯誤。

**可能的修正方式：**您可能沒有檢視通知所需的許可。雖然大多數 AWS 適用於開發人員工具服務的受管政策，例如 CodeCommit 和 CodePipeline，包含通知的許可，但目前不支援通知的服務不包含檢視它們的許可。或者，您可能已將自訂政策套用至 IAM 使用者或角色，而該政策不允許您檢視通知。如需詳細資訊，請參閱[身分型政策範例](security_iam_id-based-policy-examples.md)。

## 我無法建立通知規則
<a name="troubleshooting-cannot-create-rule"></a>

您可能沒有建立通知規則所需的許可。如需詳細資訊，請參閱[身分型政策範例](security_iam_id-based-policy-examples.md)。

## 我收到無法存取資源的通知
<a name="troubleshooting-resource-no-access"></a>

當您建立通知規則並新增目標時，通知功能不會驗證收件者是否具有資源的存取權。您可能會收到有關無法存取資源的通知。如果您無法移除自己，請要求從目標的訂閱清單中移除。

## 我沒有收到 Amazon SNS 通知
<a name="troubleshooting-no-SNS"></a>

 若要疑難排解 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 Notifications 將通知推送至該主題。主題政策應該包含類似以下的陳述式：

  ```
  {
      "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"
          }
      }
  }
  ```

  如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)。

## 我收到重複的事件通知
<a name="troubleshooting-duplicate-notifications"></a>

以下是接收多個通知的最常見原因：
+ 已為資源設定多個包含相同事件類型的通知規則，而且您已訂閱的某些 Amazon SNS 主題是這些規則的目標。若要解決此問題，請取消訂閱其中一個主題，或編輯通知規則以移除重複項目。
+ 一或多個通知規則目標已與 AWS Chatbot 整合，而您在電子郵件收件匣和 Slack 頻道、Microsoft Teams 頻道或 Amazon Chime 聊天室中收到通知。若要解決此問題，請考慮讓您的電子郵件地址取消訂閱做為規則目標的 Amazon SNS 主題，然後使用 Slack 頻道和 Microsoft Team 頻道來檢視通知。

## 我想了解為什麼通知目標狀態顯示為無法連線
<a name="troubleshooting-resource-unavailable"></a>

目標有兩種可能的狀態：***Active* (作用中)** 和 ***Unreachable* (無法連線)**。**Unreachable (無法連線)** 表示通知已傳送至目標，且傳遞未成功。通知會繼續傳送至該目標，如果成功，狀態會重設為 **Active (作用中)**。

通知規則的目標可能會因為以下其中一個原因而無法使用：
+ 資源 (Amazon SNS 主題或 AWS Chatbot 用戶端） 已刪除。為通知規則選擇另一個目標。
+ Amazon SNS 主題已加密，且加密主題所需的政策遺失，或 AWS KMS 金鑰已刪除。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)。
+ Amazon SNS 主題缺少通知所需的政策。除非有政策，否則無法將通知傳送至 Amazon SNS 主題。如需詳細資訊，請參閱[設定通知的 Amazon SNS 主題](set-up-sns.md)。
+ 目標的支援服務 (Amazon SNS 或 AWS Chatbot) 可能遇到問題。

## 我想要提高通知和資源的限額
<a name="troubleshooting-limit-increase"></a>

目前您無法變更任何限額。請參閱[通知的配額](limits.md)。

# 通知的配額
<a name="limits"></a>

下表列出開發人員工具主控台中通知的配額 (也稱為*限額*)。如需可變更限額的資訊，請參閱 [AWS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。


| 資源 | 預設值限制 | 
| --- | --- | 
|  AWS 帳戶中的通知規則數目上限 | 1000 | 
| 通知規則的目標數目上限 | 10  | 
| 資源的通知規則數目上限 | 10  | 

# 什麼是連線？
<a name="welcome-connections"></a>

您可以使用開發人員工具主控台中的*連線*功能，將 資源 AWS CodePipeline 如 連接到 AWS 外部程式碼儲存庫。此功能有自己的 API，也就是 [AWS CodeConnections API 參考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。每個連線都是您可以提供給 AWS 服務的資源，以連線至第三方儲存庫，例如 Bitbucket。例如，您可以在 CodePipeline 中新增連線，以便在第三方程式碼儲存庫發生程式碼變更時觸發管道。每個連線都有名稱，且與用來參考連線的唯一 Amazon Resource Name (ARN) 相關聯。

**重要**  
服務名稱 AWS CodeStar Connections 已重新命名。仍然支援使用先前命名空間 codestar-connections 建立的資源。

## 我能用連線做什麼？
<a name="welcome-connections-what-can-I-do"></a>

您可以在開發人員工具中使用連線功能，將第三方供應商資源與您的 AWS 資源整合，包括：
+ 連線至第三方提供者，例如 Bitbucket，並使用第三方連線做為與您的 AWS 資源的來源整合，例如 CodePipeline。
+ 為您的第三方供應商統一管理 CodeBuild 建置專案、CodeDeploy 應用程式和 CodePipeline 中管道的跨資源連線存取權。
+ 針對 CodeBuild 建置專案、CodeDeploy 應用程式和 CodePipeline 中管道，在堆疊範本中使用連線 ARN，而不需要參考存放的機密或參數。

# 我可以為哪些第三方供應商建立連線？
<a name="welcome-connections-supported-providers"></a>

連線可以將 AWS 資源與下列第三方儲存庫建立關聯：
+ Azure DevOps
+ Bitbucket Cloud
+ GitHub.com
+ GitHub Enterprise Cloud
**注意**  
目前不支援 GitHub Enterprise Cloud 的自訂網域。
+ GitHub Enterprise Server
+ GitLab.com
**重要**  
GitLab 的連線支援包括 15.x 版和更新版本。
+ GitLab 自我管理安裝 (適用於企業版或社群版)。

如需連線工作流程的概觀，請參閱「[建立或更新連線的工作流程](welcome-connections-workflow.md)」。

為雲端供應商類型 (例如 GitHub) 建立連線的步驟，與安裝式供應商類型 (例如 GitHub Enterprise Server) 的步驟不同。如需為各種供應商類型建立連線的高階步驟，請參閱「[使用連線](connections.md)」。

**注意**  
若要在歐洲 （米蘭） 使用連線 AWS 區域，您必須：  
安裝區域特定的應用程式
啟用區域
此區域特定的應用程式支援歐洲 (米蘭) 區域中的連線。它會在第三方供應商網站上發佈，並且它會與支援其他區域連線的現有應用程式分開。透過安裝此應用程式，您授權第三方提供商僅使用該區域服務來共用您的資料，並且您可以透過解除安裝該應用程式來隨時撤銷許可。  
除非您啟用區域，否則服務不會處理或儲存您的資料。啟用此區域，即表示您授予我們服務許可來處理和儲存您的資料。  
即使未啟用該區域，如果仍已安裝區域特定的應用程式，第三方供應商仍然可以使用我們的服務來共用您的資料，因此請確保在停用該區域後解除安裝該應用程式。如需詳細資訊，請參閱[啟用區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

## 什麼與連線 AWS 服務 整合？
<a name="welcome-connections-integrations"></a>

您可以使用連線整合第三方儲存庫與其他 AWS 服務。若要檢視連線的服務整合，請參閱 [與 AWS CodeConnections 的產品和服務整合](integrations-connections.md)。

# 連線如何運作？
<a name="welcome-connections-how-it-works"></a>

您必須先在第三方帳戶上安裝 AWS 身分驗證應用程式或提供存取權，才能建立連線。安裝連線之後，更新即可使用此安裝。建立連線時，您可以提供第三方帳戶中 AWS 資源的存取權。這可讓連線代表您 AWS 的資源存取第三方帳戶中的內容，例如來源儲存庫。然後，您可以與其他 共用該連線 AWS 服務 ，以在資源之間提供安全的 OAuth 連線。

雲端型連線的設定如下，在使用者帳戶或組織之間稱為差異。
+ **使用者帳戶：**每個雲端第三方使用者帳戶都有一個連接器應用程式安裝。多個連線可以與應用程式安裝相關聯。
+ **組織：**每個雲端第三方組織都有一個連接器應用程式安裝。對於組織中的連線，您的連線映射到組織中的每個組織帳戶是 1：1。多個連線無法與應用程式安裝建立關聯。如需組織如何使用連線的詳細資訊，請參閱 [AWS CodeConnections 中的連線如何與組織搭配使用](welcome-connections-how-it-works-github-organizations.md)。

下圖顯示雲端連線如何與使用者帳戶或組織搭配使用。

![\[圖表顯示應用程式安裝與雲端提供者連線之間的關係。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-flow.png)


連線由建立它們 AWS 帳戶 的 所擁有。連線的識別方式為包含連線 ID 的 ARN。連線 ID 是無法變更或重新映射的 UUID。刪除並重新建立連線會產生新的連線 ID，因此會有新的連線 ARN。這表示連線 ARN 絕不會重複使用。

新建立的連線處於 `Pending` 狀態。需要第三方交握 (OAuth 流程) 程序才能完成連線的設定，也就是從 `Pending` 變為 `Available` 狀態。完成此操作後，連線會`Available`與 CodePipeline 等 AWS 服務搭配使用。

如果您想要建立與已安裝提供者類型的連線 （內部部署），例如 GitHub Enterprise Server 或 GitLab 自我管理，您可以將主機資源與連線搭配使用。

內部部署連線的設定如下，在使用者帳戶或組織之間稱為差異。
+ **使用者帳戶：**每個現場部署第三方使用者帳戶都有一個連接器應用程式安裝。現場部署供應商的多個連線可以與一個主機相關聯。
+ **組織：**每個內部部署第三方組織都有一個連接器應用程式安裝。對於組織中的內部部署連線，例如 GitHub Organizations for GitHub Enterprise Server，您可以為組織中的每個連線建立新的主機，並確保在主機的網路欄位 (VPC、子網路 IDs 和安全群組 IDs) 中輸入相同的資訊。如需組織如何使用連線的詳細資訊，請參閱 [AWS CodeConnections 中的連線如何與組織搭配使用](welcome-connections-how-it-works-github-organizations.md)。
+ **全部：**針對每個內部部署連線，每個 VPC 一次只能與一個主機建立關聯。

在所有情況下，您將需要提供現場部署伺服器的 URL。此外，如果伺服器位於私有 VPC 內 （即無法透過網際網路存取），您將需要提供 VPC 資訊以及選用的 TLS 憑證資訊。這些組態可讓 CodeConnections 與執行個體通訊，並由為此主機建立的所有連線共用。例如，對於單一 GitHub Enterprise Server 執行個體，您可以建立由主機表示的單一應用程式。然後，對於使用者帳戶組態，您可以為該主機建立多個連線，其對應於您的應用程式安裝，如下圖所示。否則，對於組織，您可以為該主機建立單一應用程式安裝和連線。

下圖顯示內部部署連線如何與使用者帳戶或組織搭配使用。

![\[圖表顯示現場部署供應商的應用程式安裝和連線之間的關係。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-flow-host.png)


新建立的主機處於 `Pending` 狀態。需要第三方註冊程序才能完成主機的設定，也就是從 `Pending` 變為 `Available` 狀態。完成此操作之後，主機會變為 `Available`，且可用於與安裝式供應商類型的連線。

如需連線工作流程的概觀，請參閱「[建立或更新連線的工作流程](welcome-connections-workflow.md)」。如需為已安裝供應商建立主機工作流程的概觀，請參閱 [建立或更新主機的工作流程](welcome-hosts-workflow.md)。如需為各種供應商類型建立連線的高階步驟，請參閱「[使用連線](connections.md)」。

# AWS CodeConnections 中的連線如何與組織搭配使用
<a name="welcome-connections-how-it-works-github-organizations"></a>

對於具有 GitHub Organizations 等提供者的組織，您無法在多個 GitHub Organizations 中安裝 GitHub 應用程式。連線透過使用 Github 連接器應用程式與組織進行 1：1 映射。連接器應用程式應針對 GitHub 或 GitHub Enterprise Server 中的每個組織分開，並應具有與其相關聯的連線。

例如，若要在相同的 GitHub 伺服器上使用多個組織，您必須為每個組織建立個別的連線，並為這些組織安裝個別的 GitHub 應用程式。不過，Github 端的目標帳戶可以相同。

# 建立或更新連線的工作流程
<a name="welcome-connections-workflow"></a>

建立連線時，您也可以建立或使用現有的連接器應用程式安裝，以便與第三方供應商進行身分驗證交握。

連線可能為下列狀態：
+ `Pending` - `pending` 連線是必須完成 (已變為 `available`) 才能使用的連線。
+ `Available` - 您可以使用 `available` 連線或傳遞給帳戶中的其他資源和使用者。
+ `Error` - 處於 `error` 狀態的連線會自動重試。直到變為 `available` 前都無法使用。

**工作流程：透過 CLI、軟體開發套件或以下項目建立或更新： AWS CloudFormation**

您可以使用 [CreateConnection](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_CreateConnection.html) API，使用 AWS Command Line Interface (AWS CLI)、 SDK 或 建立連線 CloudFormation。連線建立後處於 `pending` 狀態。您可以使用主控台的 **Set up pending connection (設定待定連線)** 選項來完成程序。主控台會提示您建立安裝或使用現有的安裝來進行連線。然後您可以使用主控台完成交握，並在主控台中選擇 **Complete connection (完成連線)**，將連線移至 `available` 狀態。

**工作流程：建立或更新與主控台的連線**

如果要建立連至安裝式供應商類型 (例如 GitHub Enterprise Server) 的連線，需先建立主機。如果您要連線到雲端供應商類型 (例如 Bitbucket)，請略過建立主機的步驟並繼續建立連線。

若要使用主控台建立或更新連線，您可以使用主控台上的 CodePipeline 編輯動作頁面來選擇您的第三方供應商。主控台會提示您為連線建立安裝或使用現有的安裝，然後使用主控台來建立連線。主控台完成交握，並自動將連線從 `pending` 變為 `available` 狀態。



![\[圖表顯示建立連至第三方供應商的連線之工作流程。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/Connections-flowchart.png)


# 建立或更新主機的工作流程
<a name="welcome-hosts-workflow"></a>

當您為已安裝的提供者 （內部部署） 建立連線時，您可以使用主機資源。

**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

主機可能有以下狀態：
+ `Pending` - `pending` 主機是已建立的主機，必須先設定 (移至 `available`) 才能使用。
+ `Available` - 您可以使用或將 `available` 主機傳遞給連接。

**工作流程：透過 CLI、SDK 或 AWS CloudFormation建立或更新主機：**

您可以使用 [CreateHost](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_CreateHost.html) API，使用 AWS Command Line Interface (AWS CLI)、 SDK 或 建立主機 CloudFormation。建立後，主機處於 `pending` 狀態。您可以使用主控台的 **設定** 選項來完成程序。

**工作流程：用主控台建立或更新主機**

如果您要建立與已安裝提供者類型的連線，例如 GitHub Enterprise Server 或 GitLab 自我管理，您可以建立主機或使用現有的主機。如果您要連線到雲端供應商類型 (例如 Bitbucket)，請略過建立主機的步驟並繼續建立連線。

使用主控台設定主機並將其狀態從 `pending` 變更為 `available`。

![\[圖表顯示建立連至第三方供應商的連線之工作流程。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/Hosts-flowchart.png)


# AWS CodeConnections 中的全域資源
<a name="welcome-connections-how-it-works-global"></a>

連線是全球資源，這表示會跨所有 AWS 區域複寫資源。

雖然連線 ARN 格式會反映建立時的區域名稱，不過資源不受限於任何區域。建立連線資源的區域是控制連線資源資料更新的區域。控制連線資源資料更新的 API 作業範例包括：建立連線、更新安裝、刪除連線或標記連線。

連線的主機資源不是全球可用的資源。您只能在建立主機資源的區域中使用資源。
+ 您只需建立一次連線，然後就可以在任何 AWS 區域中使用。
+ 如果建立連線的區域發生問題，會影響控制連線資源資料的 API，但您仍可成功在其他各個區域中使用該連線。
+ 當您在主控台或 CLI 中列出連線資源時，清單會顯示所有區域中與您帳戶相關聯的所有連線資源。
+ 當您在主控台或 CLI 中列出主機資源時，清單只會顯示所選區域中與您帳戶相關聯的主機資源。
+ 使用 CLI 列出或檢視與相關主機資源的連線時，無論設定的 CLI 區域為何，輸出都會傳回主機 ARN。

## 如何開始使用連線？
<a name="welcome-connections-get-started"></a>

若要開始使用，以下是一些有用的主題可供檢閱：
+ **了解**關於連線的[概念](concepts-connections.md)。
+ **設定**開始使用連線[所需的資源](setting-up-connections.md)。
+ **開始使用**使用您的[第一個連線](getting-started-connections.md)並將它們連線到資源。

# 連線概念
<a name="concepts-connections"></a>

如果您了解概念和術語，設定和使用連線功能會比較容易。以下是使用開發人員工具主控台中的連線時需要了解的一些概念：

安裝  
第三方帳戶上的 AWS 應用程式執行個體。安裝 AWS CodeStar Connector 應用程式可讓 AWS 存取第三方帳戶中的資源。只能在第三方供應商的網站上編輯安裝。

連線  
用來將第三方來源儲存庫連線至其他 AWS 服務 AWS 的資源。

第三方儲存庫  
由服務或公司提供且不屬於 AWS的儲存庫。例如，Bitbucket 儲存庫是第三方儲存庫。

供應商類型  
提供您所連線第三方來源儲存庫的服務或公司。您可以將 AWS 資源連線至外部*提供者類型*。在網路和基礎設施上安裝來源儲存庫的供應商類型是安裝式供應商類型。例如，GitHub Enterprise Server 是安裝式供應商類型。

託管  
代表安裝第三方供應商之基礎設施的資源。連線會使用主機來代表安裝第三方供應商的伺服器，例如 GitHub Enterprise Server。您可以為該供應商類型的所有連線建立一個主機。  
使用主控台建立連至 GitHub Enterprise Server 的連線時，主控台會為您建立主機資源作為程序的一部分。

# AWS CodeConnections 支援的提供者和版本
<a name="supported-versions-connections"></a>

本章提供有關 AWS CodeConnections 支援的提供者和版本的資訊。

**Topics**
+ [Azure DevOps 支援的提供者類型](#w2aab5c25c22b9)
+ [Bitbucket 支援的供應商類型](#supported-versions-connections-bitbucket)
+ [GitHub 和 GitHub Enterprise Cloud 支援的供應商類型](#supported-versions-connections-github)
+ [GitHub Enterprise Server 支援的供應商類型和版本](#supported-versions-connections-ghes)
+ [GitLab.com 支援的提供者類型](#supported-versions-connections-gitlab)
+ [支援的 GitLab 自我管理供應商類型](#supported-versions-connections-gitlab-managed)

## Azure DevOps 支援的提供者類型
<a name="w2aab5c25c22b9"></a>

您可以搭配 Azure DevOps 使用連線應用程式。

不支援已安裝 （託管） 提供者類型，例如 Azure Cloud Hosting。

## Bitbucket 支援的供應商類型
<a name="supported-versions-connections-bitbucket"></a>

您可以搭配 Atlassian Bitbucket Cloud 使用連線應用程式。

不支援安裝式 Bitbucket 供應商類型，例如 Bitbucket 伺服器。

## GitHub 和 GitHub Enterprise Cloud 支援的供應商類型
<a name="supported-versions-connections-github"></a>

您可以搭配 GitHub 和 GitHub Enterprise Cloud 使用連線應用程式。

## GitHub Enterprise Server 支援的供應商類型和版本
<a name="supported-versions-connections-ghes"></a>

您可以使用連線應用程式搭配支援的 GitHub Enterprise Server 版本。如需支援的版本的清單，請參閱[https://enterprise.github.com/releases/](https://enterprise.github.com/releases/)。

**重要**  
AWS CodeConnections 不支援已取代的 GitHub Enterprise Server 版本。例如，由於版本中的已知問題， AWS CodeConnections 不支援 GitHub Enterprise Server 2.22.0 版。若要連線，請升級至 2.22.1 版或最新的可用版本。

## GitLab.com 支援的提供者類型
<a name="supported-versions-connections-gitlab"></a>

您可以搭配 GitLab.com. 如需詳細資訊，請參閱[建立連至 GitLab 的連線](connections-create-gitlab.md)。

**重要**  
GitLab 的連線支援包括 15.x 版和更新版本。

## 支援的 GitLab 自我管理供應商類型
<a name="supported-versions-connections-gitlab-managed"></a>

您可以使用 GitLab 自我管理安裝的連接 (適用於企業版或社群版)。如需詳細資訊，請參閱[建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。

# 與 AWS CodeConnections 的產品和服務整合
<a name="integrations-connections"></a>

AWS CodeConnections 已與許多 AWS 服務和合作夥伴產品和服務整合。使用下列各節中的資訊，協助您設定連線以整合您要使用的產品和服務。

以下相關資源可協助您使用此服務。

**Topics**
+ [Amazon CodeGuru Reviewer](#integrations-connections-codeguru)
+ [Amazon Q Developer](#integrations-connections-codewhisperer)
+ [Amazon SageMaker](#integrations-connections-sagemaker)
+ [AWS App Runner](#integrations-connections-apprunner)
+ [AWS CloudFormation](#integrations-connections-cloudformation)
+ [AWS CodeBuild](#integrations-connections-codebuild)
+ [AWS CodePipeline](#integrations-connections-codepipeline)
+ [Service Catalog](#integrations-connections-servicecatalog)
+ [AWS Proton](#integrations-connections-proton)

## Amazon CodeGuru Reviewer
<a name="integrations-connections-codeguru"></a>

[CodeGuru Reviewer](https://aws.amazon.com/codeguru/) 是用於監控儲存庫程式碼的服務。您可以使用連線與含有您想要審查之程式碼的第三方儲存庫建立關聯。如需瞭解如何設定 CodeGuru Reviewer 以監控 GitHub 儲存庫中原始碼的教學課程，以便建立改善程式碼的建議，請參閱 *Amazon CodeGuru Reviewer 使用者指南*中的[教學課程：監控 GitHub 儲存庫中的原始碼](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/tutorial-github-reviewer.html)。

## Amazon Q Developer
<a name="integrations-connections-codewhisperer"></a>

Amazon Q Developer 是採用 AI 技術的生成式對話式助理，可協助您了解、建置、擴展和操作 AWS 應用程式。如需詳細資訊，請參閱《Amazon Q Developer 使用者指南》**中的 [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html) 部分。

## Amazon SageMaker
<a name="integrations-connections-sagemaker"></a>

[Amazon SageMaker](https://aws.amazon.com/sagemaker/) 是一項用於建置、訓練和部署機器學習語言模型的服務。如需設定 GitHub 儲存庫連線的教學課程，請參閱《Amazon SageMaker 開發人員指南》**中的[使用第三方 Git 儲存庫的 SageMaker MLOps 專案逐步解說](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html)。

## AWS App Runner
<a name="integrations-connections-apprunner"></a>

[AWS App Runner](https://aws.amazon.com/apprunner/) 這項服務提供快速、簡單且符合成本效益的方式，可在 AWS 雲端中直接將原始碼或容器映像部署到可擴展的安全 Web 應用程式上。您可以使用 App Runner 自動整合和交付管道，從儲存庫部署應用程式的程式碼。您可以使用連線從私有 GitHub 儲存庫將原始碼部署至 App Runner 服務。如需詳細資訊，請參閱在 *AWS App Runner 開發人員指南*中的[原始碼儲存庫提供者](https://docs.aws.amazon.com/apprunner/latest/dg/service-source-code.html)。

## AWS CloudFormation
<a name="integrations-connections-cloudformation"></a>

[AWS CloudFormation](https://aws.amazon.com/cloudformation/) 是一項服務，可協助您建立和設定 AWS 資源的模型，以減少管理這些資源的時間，並有更多時間專注於在 中執行的應用程式 AWS。您可以建立範本來描述您想要的所有 AWS 資源 （例如 Amazon EC2 執行個體或 Amazon RDS 資料庫執行個體），而 CloudFormation 會負責為您佈建和設定這些資源。

您可以使用 CloudFormation 中的 Git 同步連線來建立同步組態，以監控您的 Git 儲存庫。如需使用 Git 同步進行堆疊部署的教學課程，請參閱*CloudFormation 《 使用者指南*》中的[使用 CloudFormation Git 同步](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/git-sync.html)。

 如需 CloudFormation 的詳細資訊，請參閱[CloudFormation 命令列界面使用者指南》中的註冊您的帳戶以發佈 CloudFormation 延伸](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html)模組。 *CloudFormation *

## AWS CodeBuild
<a name="integrations-connections-codebuild"></a>

[AWS CodeBuild](https://aws.amazon.com/codebuild/) 是一項用於建置和測試程式碼的服務。CodeBuild 不需要佈建、管理和擴展您自己的組建伺服器，並為熱門程式設計語言和組建工具提供預先封裝的組建環境。如需搭配 GitLab 連線使用 CodeBuild 的詳細資訊，請參閱*AWS CodeBuild 《 使用者指南*》中的 [GitLab 連線](https://docs.aws.amazon.com/codebuild/latest/userguide/connections-gitlab.html)。

## AWS CodePipeline
<a name="integrations-connections-codepipeline"></a>

[CodePipeline](https://aws.amazon.com/codepipeline/) 是一種持續交付的服務，讓您能夠將發行軟體所需的步驟模型化、視覺化和自動化。您可以使用連線為 CodePipeline 來源動作設定第三方儲存庫。

進一步了解：
+ `SourceConnections` 動作請參閱 CodePipeline 動作組態參考頁面。若要檢視設定參數和範例 JSON/YAML 程式碼片段，請參閱 *AWS CodePipeline 使用者指南*的 [CodeStarSourceConnection](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html)。
+ 若要檢視使用第三方來源儲存庫建立管道的**入門**教學，請參閱 [開始使用連線](getting-started-connections.md)。

## Service Catalog
<a name="integrations-connections-servicecatalog"></a>

[Service Catalog](https://aws.amazon.com/servicecatalog/) 可讓組織建立和管理已核准用於 的產品目錄 AWS。

當您授權 AWS 帳戶 GitHub Enterprise 或 Bitbucket 等外部儲存庫提供者之間的連線時，該連線可讓您將 Service Catalog 產品同步至透過第三方儲存庫管理的範本檔案。

如需詳細資訊，請參閱《Service Catalog 使用者指南》**中[將 Service Catalog 產品同步至 GitHub、GitHub Enterprise 或 Bitbucket 中的範本檔案](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/git-synced-sc-products.html)。

## AWS Proton
<a name="integrations-connections-proton"></a>

[AWS Proton](https://aws.amazon.com/proton/) 是用於部署到雲端基礎架構的雲端服務。您可以使用連線為 AWS Proton範本中的資源建立第三方儲存庫的連結。如需詳細資訊，請參閱 *AWS Proton 使用者指南*中的[建立儲存庫的連結](https://docs.aws.amazon.com/proton/latest/userguide/ag-create-repo.html)。

# 設定連線
<a name="setting-up-connections"></a>

完成本節中的任務，進行設定以建立和使用開發人員工具主控台中的連線功能。

**Topics**
+ [註冊 AWS](#setting-up-aws-sign-up)
+ [建立並套用具有建立連線許可的策略](#setting-up-connections-iamuser)

## 註冊 AWS
<a name="setting-up-aws-sign-up"></a>

### 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

### 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 建立並套用具有建立連線許可的策略
<a name="setting-up-connections-iamuser"></a>



**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

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

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

# 開始使用連線
<a name="getting-started-connections"></a>

開始使用連線的最簡單方法是設定連線，將您的第三方來源儲存庫與您的 AWS 資源建立關聯。如果您想要將管道連線至 AWS 來源，例如 CodeCommit，您可以將管道做為來源動作連接到該管道。但是如果您有外部儲存庫，則必須建立連線來為儲存庫與管道建立關聯。在本教學課程中，您將設定與您的 Bitbucket 儲存庫和管道間的連線。

在本節中，您會透過下列項目使用連線：
+ AWS CodePipeline：在這些步驟中，您可以使用 Bitbucket 儲存庫做為管道來源建立管道。
+ [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)：接下來，您可以將 Bitbucket 儲存庫與 CodeGuru Reviewer 中的意見回饋和分析工具建立關聯。

**Topics**
+ [先決條件](#getting-started-connections-prerequisites)
+ [步驟 1：編輯來源檔案](#getting-started-connections-edit)
+ [步驟 2：建立管道](#getting-started-connections-pipeline)
+ [步驟 3：為儲存庫與 CodeGuru Reviewer 建立關聯](#getting-started-connections-analysis)

## 先決條件
<a name="getting-started-connections-prerequisites"></a>

開始之前，請完成 [設定](setting-up.md) 中的步驟。您也需要要連線至 AWS 服務的第三方來源儲存庫，並允許連線為您管理身分驗證。例如，您可能想要將 Bitbucket 儲存庫連接到與來源儲存庫整合的 AWS 服務。
+ 使用您的 Bitbucket 帳戶建立一個 Bitbucket 儲存庫。
+ 準備好您的 Bitbucket 憑證。當您使用 AWS 管理主控台 設定連線時，系統會要求您使用 Bitbucket 登入資料登入。

## 步驟 1：編輯來源檔案
<a name="getting-started-connections-edit"></a>

建立 Bitbucket 儲存庫時會內含一個預設的 `README.md` 檔案，您需編輯這個檔案。

1. 登入您的 Bitbucket 儲存庫並選擇 **Source (來源)**。

1. 選擇 `README.md` 檔案並選擇頁面頂端的 **Edit (編輯)**。刪除現有的文字，並新增下列文字。

   ```
   This is a Bitbucket repository!
   ```

1. 選擇 **Commit** (遞交)。

   確定 `README.md` 檔案位於儲存庫的根層級。

## 步驟 2：建立管道
<a name="getting-started-connections-pipeline"></a>

在本節中，您可以採取下列動作建立管道：
+ 使用連至 Bitbucket 儲存庫和動作的連線之來源階段。
+ 具有建置動作的 AWS CodeBuild 建置階段。

**使用精靈建立管道**

1. 前往 [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/) 登入 CodePipeline 主控台。

1. 在 **Welcome (歡迎)** 頁面、**Getting started (入門)** 頁面、或者 **Pipelines (管道)** 頁面上，選擇 **Create pipeline (建立管道)**。

1. 在 **Step 1: Choose pipeline settings (步驟 1：選擇管道設定)** 的 **Pipeline name (管道名稱)** 中，輸入 **MyBitbucketPipeline**。

1. 在 **Service role (服務角色)** 中，選擇 **New service role (新服務角色)**。
**注意**  
如果您選擇改用現有的 CodePipeline 服務角色，請確定您已將 `codeconnections:UseConnection` IAM 許可新增至您的服務角色政策。如需 CodePipeline 服務角色的說明，請參閱[為 CodePipeline 服務角色新增許可](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services)。

1. 在**進階設定**底下，請保留預設值。在**Artifact store (成品存放區)** 中，針對您為管道所選取區域中的管道，選擇 **Default location (預設位置)**，即可使用預設成品存放區 (例如指定為預設值的 ​Amazon S3 成品儲存貯體)。
**注意**  
這不是原始碼的來源儲存貯體。這是管道的成品存放區。每個管道都需要有個別成品存放區，例如 S3 儲存貯體。

   選擇 **Next (下一步)**。

1. 在 **Step 2: Add source stage (步驟 2：新增來源階段)** 頁面上，新增來源階段：

   1. 在 **Source provider (來源供應商)** 中，選擇 **Bitbucket**。

   1. 在 **Connection (連線)** 底下，選擇 **Connect to Bitbucket (連線至 Bitbucket)**。

   1. 在 **Connect to Bitbucket (連線至 Bitbucket)** 頁面的 **Connection name (連線名稱)** 中，輸入您要建立的連線名稱。此名稱可協助您稍後識別此連線。

      在 **Bitbucket apps (Bitbucket 應用程式)** 底下中，選擇 **Install a new app (安裝新應用程式)**。

   1. 在應用程式安裝頁面上，訊息顯示 AWS CodeStar 應用程式正在嘗試連線到您的 Bitbucket 帳戶。選擇 **Grant access (授與存取權)**。授權連線之後，就會偵測到 Bitbucket 上的儲存庫，您可以選擇將儲存庫與 AWS 資源建立關聯。

   1. 隨即顯示新安裝的連線 ID。選擇 **Complete connection (完成連線)**。您將返回 CodePipeline 主控台。

   1. 在 **Repository name (儲存庫名稱)** 中，選擇 Bitbucket 儲存庫的名稱。

   1. 在 **Branch name (分支名稱)** 中，選擇儲存庫的分支。

   1. 請確認已選取**在原始程式碼變更時啟動管道**選項。

   1. 在**輸出成品格式**底下，選擇下列其中一項：**CodePipeline 預設**。
      + 選擇 **CodePipeline 預設**，以針對管道中的成品使用預設 zip 格式。
      + 選擇**完整複製**，以包含與管道中成品的儲存庫相關的 Git 中繼資料。只有 CodeBuild 動作支援此項。

   選擇**下一步**。

1. 在 **Add build stage (新增建置階段)** 中，新增建置階段：

   1. 在 **Build provider (建置供應商)** 中，選擇 **AWS CodeBuild**。允許 **Region (區域)** 預設為管道區域。

   1. 選擇**建立專案**。

   1. 在 **Project name (專案名稱)** 中，輸入此建置專案的名稱。

   1. 在 **Environment image (環境映像)** 中，選擇 **Managed image (受管映像)**。針對 **Operating system (作業系統)**，選擇 **Ubuntu**。

   1. 針對 **Runtime (執行時間)**，選擇 **Standard (標準)**。針對**映像**，選擇 **aws/codebuild/standard:5.0**。

   1. 對於 **Service role (服務角色)**，選擇 **New service role (新服務角色)**。

   1. 在 **BuildSpec** 底下，針對 **Build specifications (建置規格)** 選擇 **Insert build commands (插入建置命令)**。選擇 **Switch to editor (切換到編輯器)**，並將下方內容貼到 **Build commands (建置命令)** 底下：

      ```
      version: 0.2
      
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
            # name: version
          #commands:
            # - command
            # - command
        pre_build:
          commands:
            - ls -lt
            - cat README.md
        # build:
          #commands:
            # - command
            # - command
        #post_build:
          #commands:
            # - command
            # - command
      #artifacts:
        #files:
          # - location
          # - location
        #name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. 選擇 **Continue to CodePipeline (繼續 CodePipeline)**。這會傳回 CodePipeline 主控台，並建立使用您的建置命令進行設定的 CodeBuild 專案。建置專案使用服務角色來管理 AWS 服務許可。此步驟可能需要數分鐘。

   1. 選擇**下一步**。

1. 在 **Step 4: Add deploy stage (步驟 4：新增部署階段)** 頁面上，選擇 **Skip deploy stage (跳過部署階段)**，然後再次選擇 **Skip (跳過)** 來接受警告訊息​。選擇**下一步**。

1. 在 **Step 5: Review (步驟 5：檢閱)** 上，選擇 **Create pipeline (建立管道)**。

1. 成功建立管道後，管道就會開始執行。  
![\[顯示透過 Bitbucket 來源成功完成之管道的主控台螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/pipeline-wizard-bitbucket.png)

1. 在成功的建置階段上，選擇 **Details (詳細資訊)**。

   在 **Execution details (執行詳細資訊)** 底下，檢視 CodeBuild 建置輸出。這些命令會輸出 `README.md` 檔案內容，如下所示：

   ```
   This is a Bitbucket repository!
   ```  
![\[顯示成功完成建置輸出範例的主控台螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/pipeline-wizard-bitbucket-output.png)

## 步驟 3：為儲存庫與 CodeGuru Reviewer 建立關聯
<a name="getting-started-connections-analysis"></a>

建立連線後，您可以將該連線用於相同帳戶中的所有 AWS 資源。例如，您可以針對管道中的 CodePipeline 來源動作使用相同的 Bitbucket 連線，並在 CodeGuru Reviewer 中執行儲存庫遞交分析。

1. 登入 CodeGuru Reviewer 主控台。

1. 在 **CodeGuru Reviewer** 底下，選擇**Associate repository (為儲存庫建立關聯)**。

   隨即會開啟單頁式精靈。

1. 在 **Select source provider (選取來源提供程式)** 底下，選擇 **Bitbucket**。

1. 在**連線至 Bitbucket (with AWS CodeConnections)** 下，選擇您為管道建立的連線。

1. 在 **Repository location (儲存庫位置)** 底下，選擇 Bitbucket 儲存庫的名稱，然後選擇 **Associate (建立關聯)**。

   您可以繼續設定程式碼檢閱。如需詳細資訊，請參閱 [Amazon CodeGuru Reviewer 使用者指南](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/create-bitbucket-association.html)中的*連線至 Bitbucket 並為儲存庫與 CodeGuru Reviewer 建立關聯*。

# 使用連線
<a name="connections"></a>

*連線*是用於將 AWS 資源連線到外部程式碼儲存庫的組態。每個連線都是可以提供給 等 服務的資源 AWS CodePipeline ，以連線至 Bitbucket 等第三方儲存庫。例如，您可以在 CodePipeline 中新增連線，以便在第三方程式碼儲存庫發生程式碼變更時觸發管道。您也可以將 AWS 資源連線至已安裝的提供者類型，例如 GitHub Enterprise Server。

**注意**  
對於 GitHub 或 GitHub Enterprise Server 中的組織，您無法在多個 GitHub Organizations 中安裝 GitHub 應用程式。GitHub Organization 映射的應用程式是 1：1 映射。一個組織一次只能有一個應用程式；不過，您可以有多個連線指向相同的應用程式。如需詳細資訊，請參閱[AWS CodeConnections 中的連線如何與組織搭配使用](welcome-connections-how-it-works-github-organizations.md)。

如果您想要建立連至安裝式供應商類型 (例如 GitHub Enterprise Server) 的連線，主控台會為您建立主機。主機是您建立的資源，用來代表安裝供應商的伺服器。如需詳細資訊，請參閱[使用主機](connections-hosts.md)。

當您建立連線時，您可以使用主控台中的精靈，將連線應用程式與您的第三方供應商一起安裝，並將其與新的連線建立關聯。如果您已安裝 應用程式，則可以直接使用。

**注意**  
若要在歐洲 （米蘭） 使用連線 AWS 區域，您必須：  
安裝區域特定的應用程式
啟用區域
此區域特定的應用程式支援歐洲 (米蘭) 區域中的連線。它會在第三方供應商網站上發佈，並且它會與支援其他區域連線的現有應用程式分開。透過安裝此應用程式，您授權第三方提供商僅使用該區域服務來共用您的資料，並且您可以透過解除安裝該應用程式來隨時撤銷許可。  
除非您啟用區域，否則服務不會處理或儲存您的資料。啟用此區域，即表示您授予我們服務許可來處理和儲存您的資料。  
即使未啟用該區域，如果仍已安裝區域特定的應用程式，第三方供應商仍然可以使用我們的服務來共用您的資料，因此請確保在停用該區域後解除安裝該應用程式。如需詳細資訊，請參閱[啟用區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

如需連線的詳細資訊，請參閱 [AWS CodeConnections API 參考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。如需適用於 Bitbucket 的 CodePipeline 來源動作詳細資訊，請參閱*《AWS CodePipeline 使用者指南》*中的 [CodestarConnectionSource](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html)。

若要建立政策或將政策連接至具有使用連線所需許可的 AWS Identity and Access Management (IAM) 使用者或角色，請參閱 [AWS CodeConnections 許可參考](security-iam.md#permissions-reference-connections)。根據 CodePipeline 服務角色的建立時間，您可能需要更新其許可來支援 AWS CodeConnections。如需說明，請參閱《*AWS CodePipeline 使用者指南*》中的[更新服務角色](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-update-role-new-services.html)。

**Topics**
+ [建立連線](connections-create.md)
+ [建立與 Azure DevOps 的連線](connections-create-azure.md)
+ [建立連至 Bitbucket 的連線](connections-create-bitbucket.md)
+ [建立連至 GitHub 的連線](connections-create-github.md)
+ [建立連至 GitHub Enterprise Server 的連線](connections-create-gheserver.md)
+ [建立連至 GitLab 的連線](connections-create-gitlab.md)
+ [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)
+ [更新待定連線](connections-update.md)
+ [列出連線](connections-list.md)
+ [刪除一個連線](connections-delete.md)
+ [標記連線資源](connections-tag.md)
+ [檢視連線詳細資訊](connections-view-details.md)
+ [與 共用連線 AWS 帳戶](connections-share.md)

# 建立連線
<a name="connections-create"></a>

您可以建立連至下列第三方供應商類型的連線：
+ 若要建立連至 Bitbucket 的連線，請參閱「[建立連至 Bitbucket 的連線](connections-create-bitbucket.md)」。
+ 若要建立連至 GitHub 或 GitHub Enterprise Cloud 的連線，請參閱「[建立連至 GitHub 的連線](connections-create-github.md)」。
+ 若要建立連至 GitHub Enterprise Server 的連線，包括建立主機資源，請參閱「[建立連至 GitHub Enterprise Server 的連線](connections-create-gheserver.md)」。
+ 若要建立連至 GitLab 的連線，請參閱 [建立連至 GitLab 的連線](connections-create-gitlab.md)。
+ 若要建立與 Azure DevOps 的連線，請參閱[建立與 Azure DevOps 的連線](connections-create-azure.md)。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

# 建立與 Azure DevOps 的連線
<a name="connections-create-azure"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 來建立與 Azure DevOps 上託管之儲存庫的連線。

開始之前：
+ 您必須已使用 Azure DevOps 建立 帳戶。
+ 您必須已在 Azure DevOps 入口網站上建立專案和 Azure 儲存庫。您的帳戶必須具有儲存庫的管理員存取權。
**注意**  
您可以建立與 Azure DevOps 儲存庫的連線。不支援已安裝 （在主機上） Azure 提供者類型，例如 Azure Cloud Hosting。請參閱 [AWS CodeConnections 支援的提供者和版本](supported-versions-connections.md)。

**注意**  
連線只能存取用於建立連線之帳戶擁有的儲存庫。

**Topics**
+ [建立與 Azure DevOps 的連線 （主控台）](#connections-create-azure-console)
+ [建立 Azure DevOps (CLI) 的連線](#connections-create-azure-cli)

## 建立與 Azure DevOps 的連線 （主控台）
<a name="connections-create-azure-console"></a>

您可以使用 主控台來建立與 Azure DevOps 的連線。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**步驟 1：建立連線**

1. 登入 AWS 管理主控台，並在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇 **Settings > Connections (設定 > 連線)**，然後選擇 **Create connection (建立連線)**。

1. 若要建立與 Azure DevOps 儲存庫的連線，請在**選取提供者**下選擇 **Azure DevOps**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。選擇**連線至 Azure DevOps**，然後繼續進行步驟 2。  
![\[主控台螢幕擷取畫面，顯示針對 Azure DevOps 選取的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-azure-updated.png)

**步驟 2：連線至 Azure DevOps**

1. 在**連線至 Azure DevOps** 設定頁面上，會顯示您的連線名稱。

   

1. 如果顯示 Microsoft 的登入頁面，請使用您的登入資料登入，然後選擇繼續。

   如果這是您第一次從中建立與 Azure DevOps 的連線，您可能需要授予許可 AWS 管理主控台。  
![\[建立 Azure DevOps 連線時，第一次使用者的 Microsoft 許可請求螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/permissions_request_azure.png)

1. 選擇 **Accept (接受)**。

1. 在連線頁面上，會顯示新安裝的連線 ID。

1. 選擇**連線**以建立連線。建立的連線會顯示在連線清單中，現在處於可用狀態且可供使用。

## 建立 Azure DevOps (CLI) 的連線
<a name="connections-create-azure-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立連線。

若要這麼做，請使用 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**建立與 Azure DevOps 的連線**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--provider-type`和 。在此範例中，第三方供應商名稱為 `AzureDevOps`，而指定的連線名稱為 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type AzureDevOps --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用主控台完成連線。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 建立連至 Bitbucket 的連線
<a name="connections-create-bitbucket"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 來建立與 bitbucket.org 上託管之儲存庫的連線。

開始之前：
+ 您必須已建立 Bitbucket 帳戶。
+ 您必須已在 bitbucket.org 上建立程式碼儲存庫。
**注意**  
您可以建立連至 Bitbucket Cloud 儲存庫的連線。不支援安裝式 Bitbucket 供應商類型，例如 Bitbucket 伺服器。請參閱 [AWS CodeConnections 支援的提供者和版本](supported-versions-connections.md)。

**注意**  
連線只能存取用於建立連線之帳戶擁有的儲存庫。  
若應用程式正安裝於 Bitbucket 工作區中，則需要 **Administer workspace** (管理工作區) 許可。否則，安裝該應用程式的選項將不會顯示。

**Topics**
+ [建立連至 Bitbucket 的連線 (主控台)](#connections-create-bitbucket-console)
+ [建立連至 Bitbucket 的連線 (CLI)](#connections-create-bitbucket-cli)

## 建立連至 Bitbucket 的連線 (主控台)
<a name="connections-create-bitbucket-console"></a>

您可以使用 主控台來建立 Bitbucket 的連線。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**步驟 1：建立連線**

1. 登入 AWS 管理主控台，並在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇 **Settings > Connections (設定 > 連線)**，然後選擇 **Create connection (建立連線)**。

1. 若要建立連至 Bitbucket 儲存庫的連線，請在 **Select a provider (選取供應商)** 底下選擇 **Bitbucket**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。選擇 **Connect to Bitbucket (連線至 Bitbucket)**，然後繼續進行步驟 2。  
![\[主控台螢幕擷取畫面顯示為 Bitbucket 選擇的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-bitbucket.png)

**步驟 2：連線至 Bitbucket**

1. **Connect to Bitbucket (連線至 Bitbucket)** 設定頁面上會顯示您的連線名稱。

   在 **Bitbucket apps (Bitbucket 應用程式)** 底下，選擇應用程式安裝，或選擇 **Install a new app (安裝新應用程式)** 以建立安裝。
**注意**  
您只能為每個 Bitbucket 工作區或帳戶安裝一次應用程式。如果您已安裝 Bitbucket 應用程式，請選擇該應用程式並移至本節的最後一個步驟。  
![\[主控台螢幕擷取畫面顯示「Connect to Bitbucket (連線至 Bitbucket)」對話方塊，包含安裝新應用程式的按鈕。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. 如果顯示 Bitbucket 的登入頁面，請使用您的憑證登入，然後選擇繼續進行。

1. 在應用程式安裝頁面上，訊息顯示 AWS CodeStar 應用程式正在嘗試連線到您的 Bitbucket 帳戶。

   若您使用的是 Bitbucket 工作區，請將 **Authorize for** (授權) 選項變更為工作區。僅會顯示您具有管理員存取權的工作區。

   選擇 **Grant access (授與存取權)**。  
![\[主控台螢幕擷取畫面，顯示連接器存取請求。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/bitbucket-access-popup.png)

1. 在 **Bitbucket apps (Bitbucket 應用程式)** 中，會顯示新安裝的連線 ID。選擇 **Connect (連線)**。建立的連線會顯示在連線清單中。  
![\[主控台螢幕擷取畫面，顯示連接器存取請求。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/create-connection-bitbucket-app-ID.png)

## 建立連至 Bitbucket 的連線 (CLI)
<a name="connections-create-bitbucket-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立連線。

若要這麼做，請使用 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**建立連至 Bitbucket 的連線**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--provider-type`和 。在此範例中，第三方供應商名稱為 `Bitbucket`，而指定的連線名稱為 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type Bitbucket --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用主控台完成連線。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 建立連至 GitHub 的連線
<a name="connections-create-github"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 建立 GitHub 的連線。

開始之前：
+ 您必須已建立 GitHub 帳戶。
+ 您必須已建立第三方程式碼儲存庫。

**注意**  
如要建立連線，您必須是 GitHub 組織擁有者。對於不在組織下的儲存庫，您必須是儲存庫擁有者。

**Topics**
+ [建立連至 GitHub 的連線 (主控台)](#connections-create-github-console)
+ [建立連至 GitHub 的連線 (CLI)](#connections-create-github-cli)

## 建立連至 GitHub 的連線 (主控台)
<a name="connections-create-github-console"></a>



您可以使用 主控台建立與 GitHub 的連線。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

1. 登入 AWS 管理主控台，然後開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇 **Settings > Connections (設定 > 連線)**，然後選擇 **Create connection (建立連線)**。

1. 若要建立連至 GitHub 或 GitHub Enterprise Cloud 儲存庫的連線，請在 **Select a provider (選取供應商)** 底下選擇 **GitHub**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。選擇 **Connect to GitHub (連線至 GitHub)**，然後繼續進行步驟 2。  
![\[主控台螢幕擷取畫面顯示為 Bitbucket 選擇的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/github-conn.png)

**建立連至 GitHub 的連線**

1. 在 **GitHub connection settings** (GitHub 連線設定) 之下，您的連線名稱會顯示於 **Connection name** (連線名稱) 中。選擇**連線到 GitHub**。隨即會顯示存取請求頁面。  
![\[主控台螢幕擷取畫面顯示 GitHub 帳戶存取頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/github-conn-access.png)

1. 選擇**授權 AWS GitHub 連接器**。連線頁面會出現，並顯示 **GitHub Apps (GitHub 應用程式)** 欄位。  
![\[主控台螢幕擷取畫面顯示包含 GitHub 應用程式欄位的初始 GitHub 連線頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/github-conn-access-app.png)

1. 在 **GitHub Apps (GitHub 應用程式)** 底下，選擇應用程式安裝，或選擇 **Install a new app (安裝新應用程式)** 以建立安裝。
**注意**  
您可以為您連至特定供應商的所有連線安裝一個應用程式。如果您已安裝 AWS Connector for GitHub 應用程式，請選擇它並略過此步驟。

1. 在**安裝適用於 GitHub 的AWS Connector** 頁面上，選擇要安裝應用程式的帳戶。  
![\[主控台螢幕擷取畫面，顯示 AWS Connector for GitHub 安裝頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/github-conn-access-app-install1.png)
**注意**  
您只能為每個 GitHub 帳戶安裝一次應用程式。如果您先前已安裝應用程式，可以選擇 **Configure (設定)**，繼續前往應用程式安裝的修改頁面，或者您可以使用上一步按鈕返回主控台。

1. 在**安裝 GitHub AWS 連接器**頁面上，保留預設值，然後選擇**安裝**。  
![\[主控台螢幕擷取畫面，顯示第二個 AWS Connector for GitHub 安裝頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/github-conn-access-app-install2.png)

   完成此步驟後，更新的許可頁面可能會顯示在 GitHub 中。

1. 如果顯示的頁面顯示適用於 GitHub 應用程式的 AWS 連接器已更新許可，請選擇 **Accept new permissions** (接受新許可)。  
![\[主控台螢幕擷取畫面顯示 AWS Connector for GitHub 已更新許可頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/accept-new-permissions.png)

1. 您會返回 **Connect to GitHub** (連線至 GitHub) 頁面。新安裝的連線 ID 會顯示在 **GitHub Apps** (GitHub 應用程式) 中。選擇**連線**。

### 檢視您建立的連線
<a name="connections-create-github-console-view"></a>
+ 建立的連線會顯示在連線清單中。  
![\[主控台螢幕擷取畫面顯示成功建立連線的連線列表。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghe-complete.png)

## 建立連至 GitHub 的連線 (CLI)
<a name="connections-create-github-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 建立 GitHub 的連線。

若要這麼做，請使用 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**建立連至 GitHub 的連線**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--provider-type`和 。在此範例中，第三方供應商名稱為 `GitHub`，而指定的連線名稱為 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type GitHub --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用主控台完成連線。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 建立連至 GitHub Enterprise Server 的連線
<a name="connections-create-gheserver"></a>

您可以使用連線將您的 AWS 資源與第三方儲存庫建立關聯。您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 建立 GitHub Enterprise Server 的連線。

連線僅可存取 GitHub Enterprise Server 帳戶所擁有的儲存庫，該帳戶在連線建立過程中用於授權 GitHub 應用程式的安裝。

開始之前：
+ 您必須已有一個 GitHub Enterprise Server 執行個體且其中包含一個儲存庫。
+ 您需為 GitHub Enterprise Server 執行個體的管理員，才能建立 GitHub 應用程式並建立主機資源，如本節所示。

**重要**  
您為 GitHub Enterprise Server 設定主機時，系統會為您建立 Webhook 事件資料的 VPC 端點。如果您是在 2020 年 11 月 24 日之前建立主機，且想要使用 VPC PrivateLink Webhook 端點，您必須先[刪除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主機，然後[建立](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主機。

**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [建立連至 GitHub Enterprise Server 的連線 (主控台)](connections-create-gheserver-console.md)
+ [建立連至 GitHub Enterprise Server 的連線 (CLI)](connections-create-gheserver-cli.md)

# 建立連至 GitHub Enterprise Server 的連線 (主控台)
<a name="connections-create-gheserver-console"></a>

若要建立 GitHub Enterprise Server 連線，您可以提供 GitHub Enterprise Server 安裝位置的資訊，並授權使用您的 GitHub Enterprise 憑證連線建立。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**Topics**
+ [建立 GitHub Enterprise Server 連線 (主控台)](#connections-create-gheserver-connection)

## 建立 GitHub Enterprise Server 連線 (主控台)
<a name="connections-create-gheserver-connection"></a>

若要建立連至 GitHub Enterprise Server 的連線，請準備好您的伺服器 URL 和 GitHub Enterprise 憑證。<a name="proc-host-create-console-steps"></a>

**建立主機**

1. 登入 AWS 管理主控台，並在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 在 **Hosts (主機)** 索引標籤中，選擇 **Create host (建立主機)**。

1. 在 **Host name (主機名稱)** 中，輸入您想要使用的主機名稱。

1. 在**選取提供者**中，選擇下列其中一項：
   + **GitHub Enterprise Server**
   + **GitLab 自我管理**

1. 在 **URL** 中，輸入安裝供應商之基礎設施的端點。

1. 如果您的伺服器是在 Amazon VPC 內設定的，而您想要與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**。否則，請選擇 **No VPC (無 VPC)**。

1. 如果您已將執行個體啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**，然後完成以下操作。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝執行個體的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取執行個體的 VPC。

   1. 如果您已設定私有 VPC，且已將執行個體設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS certificate (TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

1. 選擇 **Create host (建立主機)**。

1. 主機詳細資訊頁面顯示後，主機狀態會隨主機建立而變更。
**注意**  
如果您的主機設定包含 VPC 組態，需花幾分鐘的時間來佈建主機網路元件。

   等待您的主機到達 **Pending (待定)** 狀態，然後完成設定。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。  
![\[主控台螢幕擷取畫面顯示主機的詳細資訊，主機處於待定狀態。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-host-pending.png)

**步驟 2：建立 GitHub Enterprise Server 連線 (主控台)**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇 **Settings > Connections (設定 > 連線)**，然後選擇 **Create connection (建立連線)**。

1. 若要建立連至已安裝 GitHub Enterprise Server 儲存庫的連線，請選擇 **GitHub Enterprise Server**。

**連線至 GitHub Enterprise Server**

1. 針對 **Connection name (連線名稱**)，請輸入連線的名稱。  
![\[主控台螢幕擷取畫面顯示沒有 VPC 的「Create host settings (建立主機設定)」頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-screen.png)

1. 在 **URL** 中，輸入伺服器的端點。
**注意**  
如果提供的 URL 已經用於為連線設定 GitHub Enterprise Server，系統將提示您選擇先前為該端點建立的主機資源 ARN。

1. （選用）如果您已將伺服器啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**，然後完成以下操作。
**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝 GitHub Enterprise Server 執行個體的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取 GitHub Enterprise Server 執行個體的 VPC。

   1. 在 **Subnet ID (子網路 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的子網路 ID。您最多可選擇 10 個子網路。

      請務必選擇安裝 GitHub Enterprise Server 執行個體的基礎設施之子網路，或是可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。

   1. 在 **Security group IDs (安全群組 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的安全群組。您最多可以選擇 10 個安全群組。

      請務必選擇安裝 GitHub Enterprise Server 執行個體的基礎設施之安全群組，或是可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。

   1. 如果您已設定私有 VPC，且已將 GitHub Enterprise Server 執行個體設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS certificate (TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。  
![\[主控台螢幕擷取畫面顯示設定 VPC 選項的建立 GitHub Enterprise Server 連線頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-screen-vpc.png)

1. 選擇 **Connect to GitHub Enterprise Server (連線至 GitHub Enterprise Server)**。建立的連線會顯示 **Pending (待定)** 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。主機名稱會使用 URL。

1.  選擇 **Update pending connection (更新待定連線)**。  
![\[主控台螢幕擷取畫面顯示待定 GitHub Enterprise Server 連線頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-pending.png)

1. 如果出現提示，請在 GitHub Enterprise 登入頁面上使用您的 GitHub Enterprise 憑證登入。

1. 在 **Create GitHub App (建立 GitHub 應用程式)** 頁面上，為應用程式選擇名稱。  
![\[主控台螢幕擷取畫面顯示應用程式建立頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-app-name.png)

1. 在 GitHub 授權頁面上，選擇**Authorize <app-name> (授權 <應用程式名稱>)**。  
![\[主控台螢幕擷取畫面顯示應用程式授權頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-app-authorize.png)

1. 在應用程式安裝頁面上，訊息顯示連接器應用程式已準備好進行安裝。如果您有多個組織，系統可能會提示您選擇要安裝應用程式的組織。

   選擇您要安裝應用程式的儲存庫設定。選擇 **Install (安裝)**。  
![\[主控台螢幕擷取畫面顯示應用程式授權頁面。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-ghes-app-install.png)

1. 連線頁面會顯示建立的連線處於 **Available (可用)** 狀態。

# 建立連至 GitHub Enterprise Server 的連線 (CLI)
<a name="connections-create-gheserver-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立連線。

若要這麼做，請使用 **create-host** 與 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**步驟 1：建立用於 GitHub Enterprise Server 的主機 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 來執行 **create-host**命令，`--provider-endpoint`為您的連線指定 `--name`、 `--provider-type`和 。在此範例中，第三方供應商名稱為 `GitHubEnterpriseServer`，而端點為 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"
   ```

   如果成功，此命令會傳回類似下列內容的主機 Amazon Resource Name (ARN) 資訊。

   ```
   {
       "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   完成此步驟後，主機會處於 `PENDING` 狀態。

1. 使用主控台完成主機設定，並將主機變為 `Available` 狀態。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。

**步驟 2：在主控台中設定待處理主機**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台完成主機設定，並將主機變為 `Available` 狀態。請參閱 [設定待定主機](connections-host-setup.md)。

**步驟 3：建立 GitHub Enterprise Server 的連線 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--host-arn`和 。

   ```
   aws codeconnections create-connection --host-arn arn:aws:codeconnections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 使用主控台來設定待定連線。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

**步驟 4：在主控台中完成 GitHub Enterprise Server 的連線**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台來設定待處理連線，並將連線移動到 `Available` 狀態。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 建立連至 GitLab 的連線
<a name="connections-create-gitlab"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 來建立與 gitlab.com 上託管之儲存庫的連線。

**注意**  
在 GitLab 中授權此連線安裝，即表示您授權我們的服務處理您的資料，您隨時可以解除安裝應用程式以撤銷許可。

開始之前：
+ 您必須已在 GitLab 建立帳戶。
**注意**  
連線只能存取用於建立和授權連線之帳戶。
**注意**  
您可以對在 GitLab 中具有**擁有者**的角色建立連線，然後該連線可以與具有 CodePipeline 等資源的儲存庫搭配使用。如果是群組中的儲存庫，您不需要為群組擁有者。

**Topics**
+ [建立連至 GitLab 的連線 (主控台)](#connections-create-gitlab-console)
+ [建立連至 GitLab 的連線 (CLI)](#connections-create-gitlab-cli)

## 建立連至 GitLab 的連線 (主控台)
<a name="connections-create-gitlab-console"></a>

您可以使用 主控台來建立連線。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**步驟 1：建立連線**

1. 登入 AWS 管理主控台，然後在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇**設定**，然後選擇**連線**。選擇**建立連線**。

1. 若要建立連至 GitLab 儲存庫的連線，請在**選取供應商**底下選擇 **GitLab**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。選擇**連線至 GitLab**。  
![\[主控台螢幕擷取畫面中顯示針對 GitLab 選擇的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-gitlab.png)

1. GitLab 的登入頁面顯示時，使用您的憑證登入，然後選擇**登入**。

1. 此時會顯示授權頁面，當中包含請求連線授權以存取您的 GitLab 帳戶的訊息。

   選擇 **Authorize** (授權)。  
![\[螢幕擷取畫面中顯示授權您的 GitLab 帳戶連線的訊息。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/gitlab-authorization.png)

1. 瀏覽器會返回連線主控台頁面。新連線會出現在**建立 GitLab 連線**底下的**連線名稱**中。

1. 選擇**連線至 GitLab**。

   成功建立連線後，會顯示成功橫幅。連線詳細資訊會在**連線設定**頁面上顯示。

## 建立連至 GitLab 的連線 (CLI)
<a name="connections-create-gitlab-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立連線。

若要這麼做，請使用 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**建立連至 GitLab 的連線**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--provider-type`和 。在此範例中，第三方供應商名稱為 `GitLab`，而指定的連線名稱為 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type GitLab --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用主控台完成連線。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 建立連至 GitLab 自我管理的連線
<a name="connections-create-gitlab-managed"></a>

您可以使用 GitLab 自我管理安裝來為 GitLab 企業版或社群版建立連線。

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 為 GitLab 自我管理建立連線和主機。

**注意**  
在 GitLab 自我管理中授權此連線應用程式，即表示您授權我們的服務處理您的資料，您隨時可以解除安裝應用程式以撤銷許可。

建立 GitLab 自我管理連線之前，需先建立用於該連線的主機，詳情請見下列步驟。如需為已安裝供應商建立主機工作流程的概觀，請參閱 [建立或更新主機的工作流程](welcome-hosts-workflow.md)。

您可以選擇性地使用 VPC 來設定主機。如需主機資源網路與 VPC 組態的詳細資訊，請參閱 [(選用) 先決條件：連線的網路或 Amazon VPC 組態](connections-host-create.md#connections-create-host-prereq) 和 [針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc) 中的 VPC 先決條件。

開始之前：
+ 您必須先在 GitLab 建立帳戶，並擁有具自我管理安裝的 GitLab 企業版或 GitLab 社群版。如需詳細資訊，請參閱 [https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/)。
**注意**  
連線只能存取用於建立和授權連線之帳戶。
**注意**  
您可以對在 GitLab 中具有**擁有者**角色的儲存庫建立連線，然後該連線可以與具有 CodePipeline 等資源搭配使用。如果是群組中的儲存庫，您不需要為群組擁有者。
+ 您必須已使用下列縮小範圍許可建立 GitLab 個人存取字符 (PAT)：`api`、`admin_mode`。如需詳細資訊，請參閱 [https://docs.gitlab.com/ee/user/profile/personal\$1access\$1tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。您必須是管理員，才能建立和使用 PAT。
**注意**  
您的 PAT 會用於授權主機，不會以其他方式儲存或由連線使用。若要設置主體，您可以建立臨時 PAT，然後在設置主體後刪除 PAT。

**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [建立 GitLab 自我管理的連線 (主控台)](#connections-create-gitlab-managed-console)
+ [建立連至 GitLab 自我管理的連線 (CLI)](#connections-create-gitlab-managed-cli)

## 建立 GitLab 自我管理的連線 (主控台)
<a name="connections-create-gitlab-managed-console"></a>

在主控台中用這些步驟建立主機與連至 GitHub 自我管理的連線。針對在 VPC 中設定主機的考量事項，請參閱 [(選用) 先決條件：連線的網路或 Amazon VPC 組態](connections-host-create.md#connections-create-host-prereq)。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**注意**  
您為單個 GitLab 自我管理安裝建立主機，然後可以管理與該主機的一個或多個 GitLab 自我管理連線。

**步驟 1：建立您的主機**

1. 登入 AWS 管理主控台，然後在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 在 **Hosts (主機)** 索引標籤中，選擇 **Create host (建立主機)**。

1. 在 **Host name (主機名稱)** 中，輸入您想要使用的主機名稱。

1. 在**選取提供者**中，選擇 **GitLab 自我管理**。

1. 在 **URL** 中，輸入安裝供應商之基礎設施的端點。

1. 如果您的伺服器是在 Amazon VPC 內設定的，而您想要與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**。否則，請選擇 **No VPC (無 VPC)**。

1. （選用）如果您已將主機啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **使用 VPC**，然後完成以下操作。
**注意**  
對於 GitHub Enterprise Server 或 GitLab 自我管理中的組織，您不會傳遞可用的主機。您為組織中的每個連線建立新的主機，而且務必在主機的網路欄位中輸入相同的資訊 (VPC ID、子網路 IDs 和安全群組 IDs)。如需詳細資訊，請參閱[支援組織的已安裝供應商的連線和主機設定](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝主機的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取執行個體的 VPC。

   1. 如果您已設定私有 VPC，且已將主機設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

1. 選擇 **Create host (建立主機)**。

1. 主機詳細資訊頁面顯示後，主機狀態會隨主機建立而變更。
**注意**  
如果您的主機設定包含 VPC 組態，需花幾分鐘的時間來佈建主機網路元件。

   等待您的主機到達 **Pending (待定)** 狀態，然後完成設定。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。  
![\[主控台螢幕擷取畫面顯示 GitLab 自我管理主機的詳細資訊，主機處於待定狀態。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-host.png)

**步驟 2：設定待處理主機**

1. 選擇**設定主機**。

1. 將顯示**設定 *host\$1name*** 頁面。在**提供個人存取字符**中，僅提供 GitLab PAT 以下縮小範圍的許可： `api`和 `admin_mode`。
**注意**  
只有管理員可以建立和使用 PAT。  
![\[顯示新主機的 GitLab 個人存取權杖條目之主控台螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-pat.png)

1. 主機成功註冊後，會出現主機詳細資訊頁面，並顯示主機狀態為 **Available (可用)**。  
![\[顯示新主機可用狀態的主控台螢幕截圖\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm-host-available.png)

**步驟 3：建立連線**

1. 登入 AWS 管理主控台，然後在 開啟 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇**設定**，然後選擇**連線**。選擇**建立連線**。

1. 若要建立連至 GitLab 儲存庫的連線，請在**選取提供者**下選擇 **GitLab 自我管理**。在 **Connection name (連線名稱)** 底下，輸入您要建立的連線名稱。  
![\[主控台螢幕截圖中顯示針對 GitLab 自我管理的連線選項。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-glsm.png)

1. 在 **URL** 中，輸入伺服器的端點。

1. 如果您已將伺服器啟動到 Amazon VPC 中，且想與 VPC 連線，請選擇 **Use a VPC (使用 VPC)**，然後完成以下操作。

   1. 在 **VPC ID** 底下，選擇您的 VPC ID。請務必選擇安裝主機的基礎設施之 VPC，或是可透過 VPN 或 Direct Connect 存取主機的 VPC。

   1. 在 **Subnet ID (子網路 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的子網路 ID。您最多可選擇 10 個子網路。

      請務必選擇安裝主機的基礎設施之子網路，或是可透過 VPN 或 Direct Connect 存取已安裝主機的子網路。

   1. 在 **Security group IDs (安全群組 ID)** 底下，選擇 **Add (新增)**。在欄位中，選擇您要用於主機的安全群組。您最多可以選擇 10 個安全群組。

      請務必選擇安裝主機的基礎設施之安全群組，或是可透過 VPN 或 Direct Connect 存取已安裝主機的安全群組。

   1. 如果您已設定私有 VPC，且已將主機設定為使用非公有憑證授權機構執行 TLS 驗證，請在 **TLS 憑證)** 中輸入您的憑證 ID。TLS 憑證值應該是憑證的公有金鑰。

1. 選擇**連線 GitLab 自我管理**。建立的連線會顯示 **Pending (待定)** 狀態。系統會利用您提供的伺服器資訊為連線建立主機資源。主機名稱會使用 URL。

1. 選擇 **Update pending connection (更新待定連線)**。

1. GitLab 的登入頁面顯示時，使用您的憑證登入，然後選擇**登入**。

1. 此時會顯示授權頁面，當中包含請求連線授權以存取您的 GitLab 帳戶的訊息。

   選擇 **Authorize** (授權)。

1. 瀏覽器會返回連線主控台頁面。新連線會出現在**建立 GitLab 連線**底下的**連線名稱**中。

1. 選擇**連線 GitLab 自我管理**。

   成功建立連線後，會顯示成功橫幅。連線詳細資訊會在**連線設定**頁面上顯示。

## 建立連至 GitLab 自我管理的連線 (CLI)
<a name="connections-create-gitlab-managed-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 為 GitLab 自我管理建立主機和連線。

若要這麼做，請使用 **create-host** 與 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**步驟 1：為 GitLab 自我管理建立主機 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 來執行 **create-host**命令，`--provider-endpoint`為您的連線指定 `--name`、 `--provider-type`和 。在此範例中，第三方供應商名稱為 `GitLabSelfManaged`，而端點為 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

   如果成功，此命令會傳回類似下列內容的主機 Amazon Resource Name (ARN) 資訊。

   ```
   {
       "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   完成此步驟後，主機會處於 `PENDING` 狀態。

1. 使用主控台完成主機設定，並依下列步驟將主機變為 `Available` 狀態。

**步驟 2：在主控台中設定待處理主機**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台完成主機設定，並將主機變為 `Available` 狀態。請參閱 [設定待定主機](connections-host-setup.md)。

**步驟 3：為 GitLab 自我管理建立連線 (CLI)**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--host-arn`和 。

   ```
   aws codeconnections create-connection --host-arn arn:aws:codeconnections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 在下列步驟使用主控台來設定待處理連線。

**步驟 4：在主控台中完成 GitLab 自我管理的連線**

1. 登入 AWS 管理主控台 並開啟位於 的開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用主控台來設定待處理連線，並將連線移動到 `Available` 狀態。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

# 更新待定連線
<a name="connections-update"></a>

根據預設，透過 AWS Command Line Interface (AWS CLI) 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 AWS CLI 或 的連線後 CloudFormation，請使用 主控台來更新連線，使其成為狀態 `AVAILABLE`。

**注意**  
您必須使用主控台更新待定連線。您無法使用 AWS CLI更新待定連線。

第一次使用主控台將新連線新增至第三方供應商時，您必須使用與連線相關聯的安裝來完成與第三方供應商的 OAuth 交握。

您可以使用開發人員工具主控台來完成待定連線。

**完成連線**

1. 開啟位於 的 AWS 開發人員工具主控台[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 選擇 **Settings > Connections (設定 > 連線)**。

   與 AWS 您的帳戶相關聯的所有連線名稱都會顯示。

1. 在 **Name (名稱)** 中，選擇您要更新的待定連線名稱。

   選擇處於 **Pending (待定)** 狀態的連線時，會啟用 **Update a pending connection (更新待定連線)**。

1. 選擇 **Update pending connection (更新待定連線)**。

1. 在 **Connect to Bitbucket (連線至 Bitbucket)** 頁面的 **Connection name (連線名稱)** 中，確認連線的名稱。

   在 **Bitbucket apps (Bitbucket 應用程式)** 底下，選擇應用程式安裝，或選擇 **Install a new app (安裝新應用程式)** 以建立安裝。  
![\[主控台螢幕擷取畫面顯示「Connect to Bitbucket (連線至 Bitbucket)」對話方塊，包含安裝新應用程式的按鈕。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. 在應用程式安裝頁面上，訊息顯示 AWS CodeStar 應用程式正在嘗試連線到您的 Bitbucket 帳戶。選擇 **Grant access (授與存取權)**。  
![\[主控台螢幕擷取畫面顯示 AWS CodeStar 請求存取。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/bitbucket-access-popup.png)

1. 隨即顯示新安裝的連線 ID。選擇 **Complete connection (完成連線)**。

# 列出連線
<a name="connections-list"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **list-connections** 命令來檢視帳戶中的連線清單。

## 列出連線 (主控台)
<a name="connections-list-console"></a>

**列出連線**

1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Settings > Connections (設定 > 連線)**。

1. 檢視連線的名稱、狀態和 ARN。

## 列出連線 (CLI)
<a name="connections-list-cli"></a>

您可以使用 AWS CLI 列出與第三方程式碼儲存庫的連線。針對與主機資源相關聯的連線 (例如連至 GitHub Enteprise Server 的連線)，輸出會額外傳回主機 ARN。

若要這麼做，請使用 **list-connections** 命令。

**列出連線**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows)，然後使用 AWS CLI 執行**list-connections**命令。

  ```
  aws codeconnections list-connections --provider-type Bitbucket
  --max-results 5 --next-token: next-token
  ```

  此命令會傳回下列輸出。

  ```
  {
       "Connections": [
           {
               "ConnectionName": "my-connection",
               "ProviderType": "Bitbucket",
               "Status": "PENDING",
               "ARN": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
               "OwnerAccountId": "account_id"
           },
           {
               "ConnectionName": "my-other-connection",
               "ProviderType": "Bitbucket",
               "Status": "AVAILABLE",
               "ARN": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
               "OwnerAccountId": "account_id"
            },
        ],
       "NextToken": "next-token"
  }
  ```

# 刪除一個連線
<a name="connections-delete"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **delete-connection** 命令來刪除連線。

**Topics**
+ [刪除連線 (主控台)](#connections-delete-console)
+ [刪除連線 (CLI)](#connections-delete-cli)

## 刪除連線 (主控台)
<a name="connections-delete-console"></a>

**刪除連線**



1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Settings > Connections (設定 > 連線)**。

1. 在 **Connection name (連線名稱)** 中，選擇您要刪除的連線名稱。

1. 選擇 **刪除**。

1. 在欄位中輸入 **delete** 以確認，然後選擇 **Delete (刪除)**。
**重要**  
這個操作無法復原。

## 刪除連線 (CLI)
<a name="connections-delete-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來刪除連線。

若要這麼做，請使用 **delete-connection** 命令。

**重要**  
執行命令之後，就會刪除連線。不會顯示確認對話方塊。您可以建立新連線，但是 Amazon Resource Name (ARN) 永遠不會重複使用。

**刪除連線**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **delete-connection**命令，指定您要刪除之連線的 ARN。

  ```
  aws codeconnections delete-connection --connection-arn arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
  ```

  此命令不會傳回任何結果。

# 標記連線資源
<a name="connections-tag"></a>

*標籤*是您或 AWS 指派給 AWS 資源的自訂屬性標籤。每個 AWS 標籤有兩個部分：
+ *標籤鍵* (例如，`CostCenter`、`Environment` 或 `Project`)。標籤金鑰會區分大小寫。
+ 一個名為*標籤值* (例如，`111122223333`、`Production` 或團隊名稱) 的選用欄位。忽略標籤值基本上等同於使用空字串。與標籤鍵相同，標籤值會區分大小寫。

這些合稱為*鍵值組*。

您可以使用主控台或 CLI 以標記資源。

您可以在 AWS CodeConnections 中標記下列資源類型：
+ 連線
+ 主機

這些步驟假設您已安裝最新版本的 AWS CLI 或已更新至目前版本。如需詳細資訊，請參閱「AWS Command Line Interface 使用者指南」**中的[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

除了使用標籤來識別、組織和追蹤資源之外，您還可以使用 AWS Identity and Access Management (IAM) 政策中的標籤來協助控制誰可以檢視資源並與之互動。如需以標籤為基礎的存取政策範例，請參閱[使用標籤控制對 AWS CodeConnections 資源的存取](connections-tag-based-access-control.md)。

**Topics**
+ [標記資源 (主控台)](#connections-tag-console)
+ [標記資源 ( CLI)](#connections-tag-cli)

## 標記資源 (主控台)
<a name="connections-tag-console"></a>

您可以使用主控台來新增、更新或移除連線資源的標籤。

**Topics**
+ [將標籤新增至連線資源 (主控台)](#connections-tag-console-add)
+ [檢視連線資源的標籤 (主控台)](#connections-tag-console-view)
+ [編輯連線資源的標籤 (主控台)](#connections-tag-console-edit)
+ [移除連線資源的標籤 (主控台)](#connections-tag-console-remove)

### 將標籤新增至連線資源 (主控台)
<a name="connections-tag-console-add"></a>

您可以使用主控台將標籤新增到現有連線或主機。

**注意**  
當您為安裝式供應商 (例如 GitHub Enterprise Server) 建立連線，而且系統也為您建立了主機資源時，建立期間的標籤只會新增至連線。如果您想要將標籤重複用於新連線，這可讓您分別標記主機。如果您想要將標籤新增到主機，請使用這裡說明的步驟。

****為連線新增標籤****

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Connections (連線)** 索引標籤。

1. 選擇您要編輯的連線。隨即會顯示連線設定頁面。

1. 在 **Connection tags (連線標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Edit Connection tags (編輯連線標籤)** 頁面。

1. 在 **Key (索引鍵)** 和Value**Value (值)** 欄中，在你想新增的各組標籤中輸入金鑰對。(**Value (值)** 欄為選用。) 例如，在 **Key (索引鍵)** 中輸入 **Project**。在 **Value (值)** 中輸入 **ProjectA**。  
![\[Connection tags interface with fields for Key and Value, and buttons to Add tag and Remove tag.\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-tags.png)

1. (選用) 選擇 **Add tag (新增標籤)**，新增更多列，然後輸入更多標籤。

1. 選擇**提交**。標籤會列在連線設定之下。

****為主機新增標籤****

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Hosts (主機)** 索引標籤。

1. 選擇您要編輯的主機。隨即會顯示主機設定頁面。

1. 在 **Host tags(主機標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Host tags (主機標籤)** 頁面。

1. 在 **Key (索引鍵)** 和Value**Value (值)** 欄中，在你想新增的各組標籤中輸入金鑰對。(**Value (值)** 欄為選用。) 例如，在 **Key (索引鍵)** 中輸入 **Project**。在 **Value (值)** 中輸入 **ProjectA**。  
![\[Edit Host tags interface with fields for Key and Value, and buttons to Add tag and Remove tag.\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/hosts-tag.png)

1. (選用) 選擇 **Add tag (新增標籤)**，新增更多列，然後為主機輸入更多標籤。

1. 選擇**提交**。標籤列在主機設定之下。

### 檢視連線資源的標籤 (主控台)
<a name="connections-tag-console-view"></a>

您可以使用主控台檢視現有資源的標籤。

**檢視連線的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Connections (連線)** 索引標籤。

1. 選擇您要檢視的連線。隨即會顯示連線設定頁面。

1. 在 **Connection tags (連線標籤)** 底下，檢視 **Key (索引鍵)** 和 **Value (值)** 欄下方的連線標籤。

**檢視主機的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Hosts (主機)** 索引標籤。

1. 選擇您要檢視的主機。

1. 在 **Host tags (主機標籤)** 底下，檢視 **Key (索引鍵)** 和 **Value (值)** 欄下方的主機標籤。

### 編輯連線資源的標籤 (主控台)
<a name="connections-tag-console-edit"></a>

您可以使用主控台來編輯已新增到連線資源的標籤。

**編輯連線的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Connections (連線)** 索引標籤。

1. 選擇您要編輯的連線。隨即會顯示連線設定頁面。

1. 在 **Connection tags (連線標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Connection tags (連線標籤)** 頁面。

1. 在 **Key (金鑰)** 和 **Value (加值)** 欄，視需要更新每個欄位的值。例如，針對 **Project** 索引鍵，在 **Value (值)** 中將 **ProjectA** 變為 **ProjectB**。

1. 選擇**提交**。

**編輯主機的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Hosts (主機)** 索引標籤。

1. 選擇您要編輯的主機。隨即會顯示主機設定頁面。

1. 在 **Host tags(主機標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Host tags (主機標籤)** 頁面。

1. 在 **Key (金鑰)** 和 **Value (加值)** 欄，視需要更新每個欄位的值。例如，針對 **Project** 索引鍵，在 **Value (值)** 中將 **ProjectA** 變為 **ProjectB**。

1. 選擇**提交**。

### 移除連線資源的標籤 (主控台)
<a name="connections-tag-console-remove"></a>

您可以使用主控台或移除連線資源的標籤。當您從關聯的資源移除標籤時，將會刪除這些標籤。

**移除連線的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Connections (連線)** 索引標籤。

1. 選擇您要編輯的連線。隨即會顯示連線設定頁面。

1. 在 **Connection tags (連線標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Connection tags (連線標籤)** 頁面。

1. 在您要刪除的金鑰和值的每個標籤旁邊，選擇 **移除標籤 (Remove tag)**。

1. 選擇**提交**。

**移除主機的標籤**

1. 登入主控台。從導覽窗格中，選擇 **Settings (設定)**。

1. 在 **Settings (設定)** 底下，選擇 **Connections (連線)**。選擇 **Hosts (主機)** 索引標籤。

1. 選擇您要編輯的主機。隨即會顯示主機設定頁面。

1. 在 **Host tags(主機標籤)** 底下，選擇 **Edit (編輯)**。隨即會顯示 **Host tags (主機標籤)** 頁面。

1. 在您要刪除的金鑰和值的每個標籤旁邊，選擇 **移除標籤 (Remove tag)**。

1. 選擇**提交**。

## 標記資源 ( CLI)
<a name="connections-tag-cli"></a>

您可以使用 CLI 來檢視、新增、更新或移除連線資源的標籤。

**Topics**
+ [將標籤新增至連線資源 (CLI)](#connections-tag-add)
+ [檢視連線資源的標籤 (CLI)](#connections-tag-view)
+ [編輯連線資源的標籤 (CLI)](#connections-tag-edit)
+ [移除連線資源的標籤 (CLI)](#connections-tag-delete)

### 將標籤新增至連線資源 (CLI)
<a name="connections-tag-add"></a>

您可以使用 AWS CLI 來標記連線中的資源。

在終端機或命令列，執行 **tag-resource** 命令，為您要新增標籤的資源指定 Amazon Resource Name (ARN)，以及您想新增之標籤的索引鍵和數值。您可以新增一個以上的標籤。

****為連線新增標籤****

1. 為您的資源取得 ARN。使用 [列出連線](connections-list.md) 中顯示的 **list-connections** 命令來取得連線 ARN。

1. 在終端機或命令列上執行 **tag-resource** 命令。

   例如，使用下列命令來標記具有兩個標籤的連線，一個名為 *Project* 的標籤鍵且標籤值為 *Project*，以及一個名為 *ReadOnly* 的標籤鍵且標籤值為 *true*。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tags Key=Project,Value=ProjectA Key=IscontainerBased,Value=true
   ```

   若成功，此命令不會傳回任何內容。

****為主機新增標籤****

1. 為您的資源取得 ARN。使用 [列出主機](connections-host-list.md) 中顯示的 **list-hosts** 命令來取得主機 ARN。

1. 在終端機或命令列上執行 **tag-resource** 命令。

   例如，使用下列命令來標記具有兩個標籤的主機，一個名為 *Project* 的標籤鍵且標籤值為 *ProjectA*，以及一個名為 *IscontainerBased* 的標籤鍵且標籤值為 *true*。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605 --tags Key=Project,Value=ProjectA Key=IscontainerBased,Value=true
   ```

   若成功，此命令不會傳回任何內容。

### 檢視連線資源的標籤 (CLI)
<a name="connections-tag-view"></a>

您可以使用 AWS CLI 檢視連線資源的 AWS 標籤。若未新增標籤，傳回的清單空白。使用 **list-tags-for-resource** 命令檢視已新增至連線或主機的標籤。

****檢視連線的標籤****

1. 為您的資源取得 ARN。使用 [列出連線](connections-list.md) 中顯示的 **list-connections** 命令來取得連線 ARN。

1. 在終端機或命令列上執行 **list-tags-for-resource** 命令。例如，使用下列命令來檢視連線的標籤索引鍵和標籤值清單。

   ```
   aws codestar-connections list-tags-for-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
   ```

   這個命令會傳回與資源相關聯的標籤。這個範例會顯示針對連線傳回的兩個索引鍵值組。

   ```
   {
       "Tags": [
           {
               "Key": "Project",
               "Value": "ProjectA"
           },
           {
               "Key": "ReadOnly",
               "Value": "true"
           }
       ]
   }
   ```

****檢視主機的標籤****

1. 為您的資源取得 ARN。使用 [列出主機](connections-host-list.md) 中顯示的 **list-hosts** 命令來取得主機 ARN。

1. 在終端機或命令列上執行 **list-tags-for-resource** 命令。例如，使用下列命令來檢視主機的標籤索引鍵和標籤值清單。

   ```
   aws codestar-connections list-tags-for-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605
   ```

   這個命令會傳回與資源相關聯的標籤。此範例顯示針對主機傳回的兩個索引鍵值組。

   ```
   {
       "Tags": [
           {
               "Key": "IscontainerBased",
               "Value": "true"
           },
           {
               "Key": "Project",
               "Value": "ProjectA"
           }
       ]
   }
   ```

### 編輯連線資源的標籤 (CLI)
<a name="connections-tag-edit"></a>

您可以使用 AWS CLI 編輯資源的標籤。您可以變更現有索引鍵的值或新增其他索引鍵。

在終端機或命令列，執行 **tag-resource** 命令，指定您要更新標籤的資源 ARN，並指定要更新的標籤索引鍵和標籤值。

編輯標籤時，任何未指定的標籤索引鍵都會保留，任何項目的索引鍵都相同，但會以新值更新。使用 edit 命令新增的索引鍵會新增為一對新的鍵值組。

****編輯連線的標籤****

1. 為您的資源取得 ARN。使用 [列出連線](connections-list.md) 中顯示的 **list-connections** 命令來取得連線 ARN。

1. 在終端機或命令列上執行 **tag-resource** 命令。

   在這個範例中，索引鍵 `Project` 的數值會變更為 `ProjectB`。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tags Key=Project,Value=ProjectB
   ```

   若成功，此命令不會傳回任何內容。若要驗證與連線相關聯的標籤，請執行 **list-tags-for-resource** 命令。

****編輯主機的標籤****

1. 為您的資源取得 ARN。使用 [列出主機](connections-host-list.md) 中顯示的 **list-hosts** 命令來取得主機 ARN。

1. 在終端機或命令列上執行 **tag-resource** 命令。

   在這個範例中，索引鍵 `Project` 的數值會變更為 `ProjectB`。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605 --tags Key=Project,Value=ProjectB
   ```

   若成功，此命令不會傳回任何內容。若要驗證與主機相關聯的標籤，請執行 **list-tags-for-resource** 命令。

### 移除連線資源的標籤 (CLI)
<a name="connections-tag-delete"></a>

請依照下列步驟，使用 從資源 AWS CLI 中移除標籤。當您從關聯的資源移除標籤時，將會刪除這些標籤。

**注意**  
如果您刪除連線資源，則會從刪除的資源中移除所有標籤關聯。刪除連線資源之前，您不需要移除標籤。

在終端機或命令列，執行 **untag-resource** 命令，指定您想移除標籤的資源 ARN，和您想移除的標籤的標籤金鑰。例如，若要在具有標籤鍵 *Project* 和 *ReadOnly* 的連線上移除多個標籤，請使用下列命令。

```
aws codestar-connections untag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tag-keys Project ReadOnly
```

若成功，此命令不會傳回任何內容。若要驗證與管道相關的標籤，請執行 **list-tags-for-resource** 命令。輸出顯示所有標籤皆已移除。

```
{
    "Tags": []
}
```

# 檢視連線詳細資訊
<a name="connections-view-details"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **get-connection** 命令來檢視連線的詳細資訊。若要使用 AWS CLI，您必須已安裝最新版本的 AWS CLI 或更新至目前版本。如需詳細資訊，請參閱《*AWS Command Line Interface 使用者指南*》中的[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

**檢視連線 (主控台)**

1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Settings > Connections (設定 > 連線)**。

1. 選擇您要檢視的連線旁邊的按鈕，然後選擇 **View details (檢視詳細資訊)**。

1. 隨即會顯示連線的下列資訊：
   + 連線名稱。
   + 連線的供應商類型。
   + VPN 連線狀態。
   + 連線 ARN。
   + 如果連線是針對安裝式供應商 (例如 GitHub Enterprise Server) 建立的，則會顯示與連線相關聯的主機資訊。
   + 如果連線是針對安裝式供應商 (例如 GitHub Enterprise Server) 建立的，則會顯示與連線的主機相關聯的端點資訊。

1. 如果連線處於 **Pending (待定)** 狀態，若要完成連線，請選擇 **Update pending connection (更新待定連線)**。如需詳細資訊，請參閱[更新待定連線](connections-update.md)。

**檢視連線 (CLI)**
+ 在終端機或命令列上執行 **get-connection** 命令。例如，使用下列命令來檢視具有 `arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f` ARN 值之連線的詳細資訊。

  ```
  aws codeconnections get-connection --connection-arn arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
  ```

  如果成功，此命令會傳回連線詳細資訊。

  Bitbucket 連線的輸出範例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/cdacd948-EXAMPLE",
          "ProviderType": "Bitbucket",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "AVAILABLE"
      }
  }
  ```

  GitHub 連線的輸出範例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyGitHubConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/ebcd4a13-EXAMPLE",
          "ProviderType": "GitHub",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "AVAILABLE"
      }
  }
  ```

  GitHub Enterprise Server 連線的輸出範例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/2d178fb9-EXAMPLE",
          "ProviderType": "GitHubEnterpriseServer",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "PENDING",
          "HostArn": "arn:aws:ccodeconnections:us-west-2:account_id:host/sdfsdf-EXAMPLE"
      }
  }
  ```

# 與 共用連線 AWS 帳戶
<a name="connections-share"></a>

您可以使用 資源共用與 AWS RAM 共用，與另一個 AWS 帳戶 或組織中的帳戶共用現有連線。您可以將共用連線與針對第三方來源連線 AWS 所管理的 中的資源搭配使用，例如 CodePipeline。

**重要**  
`codestar-connections `資源不支援連線共用。這僅支援 `codeconnections` 資源。

開始之前：
+ 您必須已建立與 的連線 AWS 帳戶。
+ 您必須啟用資源共用。
+ 您必須設定必要的許可。如需詳細資訊，請參閱[支援連線共用的許可](security-iam.md#permissions-reference-connections-sharing)。

**注意**  
若要共用連線，如果不是在組織下，您必須是組織擁有者或儲存庫擁有者。您要共用的帳戶也需要儲存庫的許可。

**Topics**
+ [共用連線 （主控台）](#connections-share-console)
+ [共用連線 (CLI)](#connections-share-cli)
+ [檢視共用連線 （主控台）](#connections-view-console)
+ [檢視共用連線 (CLI)](#connections-view-cli)

## 共用連線 （主控台）
<a name="connections-share-console"></a>

您可以使用 主控台來建立共用連線資源。

1. 登入 AWS 管理主控台。

   在 主控台的**[「由我共用」：「共用資源」頁面上，選擇](https://console.aws.amazon.com/ram/home#OwnedResources:)****「建立資源共用**」。 AWS RAM 

1. 由於 AWS RAM 資源共用存在於特定 AWS 區域中，請從主控台右上角的下拉式清單中選擇適當的 AWS 區域。若要建立包含全域資源的資源共用，您必須將 AWS 區域設定為美國東部 （維吉尼亞北部），

   如需共用全域資源的詳細資訊，請參閱[與全域資源相比共用區域資源](https://docs.aws.amazon.com/ram/latest/userguide/working-with-regional-vs-global.html)。

1. 在建立頁面上的名稱中****，輸入資源共享的名稱。在**資源**下，選擇**程式碼連線**。  
![\[\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-share-create.png)

1. 選擇您的連線資源，並指派您要與其共用的委託人。

1. 選擇**建立**。

## 共用連線 (CLI)
<a name="connections-share-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 與其他帳戶共用現有的連線，並檢視您擁有或已與您共用的連線。

若要這樣做，請使用 的 **create-resource-share**和 `accept-resource-share-invitation `命令 AWS RAM。

**共用連線**

1. 使用將共用連線的帳戶登入。

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-resource-share**命令，`--principals`為您的連線共用指定 `--name`、 `--resource-arns`和 。在此範例中，名稱為 ，`my-shared-resource`且指定的連線名稱位於資源 ARN `MyConnection`中。在 中`principals`，提供您要共用的目的地帳戶。

   ```
   aws ram create-resource-share --name my-shared-resource --resource-arns connection_ARN --principals destination_account
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "resourceShare": {
           "resourceShareArn": "arn:aws:ram:us-west-2:111111111111:resource-share/4476c27d-8feb-4b21-afe9-7de23EXAMPLE",
           "name": "MyNewResourceShare",
           "owningAccountId": "111111111111",
           "allowExternalPrincipals": true,
           "status": "ACTIVE",
           "creationTime": 1634586271.302,
           "lastUpdatedTime": 1634586271.302
       }
   }
   ```

1. 可以接受共用的請求，如下一個程序中詳述。

**驗證並接受與目的地帳戶的連線共用**

對於屬於相同組織的目的地帳戶，以及在 Organizations 中啟用資源共用，下列程序是選用的。

1. 使用將收到邀請的目的地帳戶登入。

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **get-resource-share-invitations**命令。

   ```
   aws ram get-resource-share-invitations
   ```

   擷取下一個步驟的資源共享邀請 ARN。

1. 執行 **accept-resource-share-invitation**命令，指定 `--resource-share-invitation-arn`。

   ```
   aws ram accept-resource-share-invitation --resource-share-invitation-arn invitation_ARN
   ```

   如果成功，此命令會傳回下列輸出。

   ```
   {
       "resourceShareInvitation": {
           "resourceShareInvitationArn": "arn:aws:ram:us-west-2:111111111111:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE",
           "resourceShareName": "MyResourceShare",
           "resourceShareArn": "arn:aws:ram:us-west-2:111111111111:resource-share/27d09b4b-5e12-41d1-a4f2-19dedEXAMPLE",
           "senderAccountId": "111111111111",
           "receiverAccountId": "222222222222",
           "invitationTimestamp": "2021-09-22T15:07:35.620000-07:00",
           "status": "ACCEPTED"
       }
   }
   ```

## 檢視共用連線 （主控台）
<a name="connections-view-console"></a>

您可以使用 主控台來檢視共用連線資源。

1. 登入 AWS 管理主控台。

   在 AWS RAM 主控台中開啟**[由我共用：共用資源](https://console.aws.amazon.com/ram/home#OwnedResources:)**頁面。

1. 由於 AWS RAM 資源共用存在於特定 AWS 區域中，請從主控台右上角的下拉式清單中選擇適當的 AWS 區域。若要查看包含全域資源的資源共用，您必須將 AWS 區域設定為美國東部 （維吉尼亞北部），

   如需共用全域資源的詳細資訊，請參閱[與全域資源相比共用區域資源](https://docs.aws.amazon.com/ram/latest/userguide/working-with-regional-vs-global.html)。

1. 針對每項共用的資源，下列資訊可供使用：
   + **資源 ID** – 資源的 ID。選擇資源的 ID 以開啟新的瀏覽器索引標籤，以檢視其原生服務主控台中的資源。
   + **資源類型** – 資源的類型。
   + **上次共用日期** – 資源上次共用的日期。
   + **資源共用** – 包含資源的資源共用數目。若要查看資源共用的清單，請選擇號碼。
   + **主體** – 可存取資源的主體數量。選擇值以檢視委託人。

## 檢視共用連線 (CLI)
<a name="connections-view-cli"></a>

您可以使用 AWS CLI 來檢視您擁有或已與您共用的連線。

若要這麼做，請使用 **get-resource-shares** 命令。

**檢視共用連線**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **get-resource-shares**命令。

  ```
  aws ram get-resource-shares
  ```

  輸出會傳回您帳戶的資源共享清單。

# 使用主機
<a name="connections-hosts"></a>

若要建立連至安裝式供應商類型 (例如 GitHub Enterprise Server) 的連線，請先使用 AWS 管理主控台建立一個主機。主機是您建立的資源，用來表示安裝供應商的基礎設施。然後使用該主機建立連線。如需詳細資訊，請參閱[使用連線](connections.md)。

例如，您可以為連線建立主機，讓供應商的第三方應用程式能註冊並代表您的基礎設施。為某個供應商類型建立一個主機，然後使用這個主機建立連至該供應商類型的所有連線。

使用主控台來建立連至安裝式供應商類型 (例如 GitHub Enterprise Server) 的連線時，主控台會為您建立主機資源。

**Topics**
+ [建立主機](connections-host-create.md)
+ [設定待定主機](connections-host-setup.md)
+ [列出主機](connections-host-list.md)
+ [編輯主機](connections-host-edit.md)
+ [刪除主機](connections-host-delete.md)
+ [檢視主機詳細資訊](connections-host-view.md)

# 建立主機
<a name="connections-host-create"></a>

您可以使用 AWS 管理主控台 或 AWS Command Line Interface (AWS CLI) 來建立與安裝在基礎設施上之第三方程式碼儲存庫的連線。例如，您可能在 Amazon EC2 執行個體上將 GitHub Enterprise Server 做為虛擬機器執行。建立連至 GitHub Enterprise Server 的連線之前，需先建立用於該連線的主機。

如需為已安裝供應商建立主機工作流程的概觀，請參閱 [建立或更新主機的工作流程](welcome-hosts-workflow.md)。

開始之前：
+ (選用) 如果要使用 VPC 建立主機，您必須先建立好網路或虛擬私有雲端 (VPC)。
+ 您必須先建立好執行個體，且如果打算與 VPC 連線，須先將主機啟動到 VPC 中。
**注意**  
每個 VPC 一次只能與一個主機相關聯。

您可以選擇性地使用 VPC 來設定主機。如需主機資源網路與 VPC 組態的詳細資訊，請參閱 [(選用) 先決條件：連線的網路或 Amazon VPC 組態](#connections-create-host-prereq) 和 [針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc) 中的 VPC 先決條件。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。

## (選用) 先決條件：連線的網路或 Amazon VPC 組態
<a name="connections-create-host-prereq"></a>

如果您的基礎設施已設定網路連線，您可以略過本節。

如果您的主機只能在 VPC 中存取，請遵循這些 VPC 要求再繼續進行。

### VPC 要求
<a name="connections-create-host-prereq-vpc"></a>

您可以選擇性地使用 VPC 建立主機。以下是一般 VPC 要求，具體取決於您為安裝設定的 VPC。
+ 您可以透過公有和私有子網路設定*公有* VPC。如果您沒有慣用的 CIDR 區塊或子網路，您可以使用 AWS 帳戶 的預設 VPC。
+ 如果您已設定*私有* VPC，且已將 GitHub Enterprise Server 執行個體設定為使用非公有憑證授權機構執行 TLS 驗證，則需要為您的主機資源提供 TLS 憑證。
+ 連線建立主機時，會為您建立 Webhook 的 VPC 端點 (PrivateLink)。如需詳細資訊，請參閱[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)。
+ 安全群組組態：
  + 主機建立期間使用的安全群組需要傳入和傳出規則，以允許網路介面連線到您的 GitHub Enterprise Server 執行個體
  + 連接到 GitHub Enterprise Server 執行個體 (不是主機設定的一部分) 的安全群組需要從連線所建立的網路介面進行傳入和傳出的權限。
+ VPC 子網路必須位於您區域中的不同可用區域。可用區域是不同的位置，與其他可用區域的故障隔離。各個子網必須完全位於某一可用區域內，不得跨越多個區域。

如需使用 VPC 和子網路的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [IPv4 的 VPC 和子網路規模調整](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**您為主機設定提供的 VPC 資訊**

在下一個步驟中為連線建立主機資源時，您需要提供下列項目：
+ **VPC ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之 VPC ID，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的 VPC。
+ **子網路 ID 或 ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之子網路 ID，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。
+ **安全群組或群組：**安裝 GitHub Enterprise Server 執行個體的伺服器之安全群組，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。
+ **端點：**準備好您的伺服器端點，繼續執行下一個步驟。

如需包含 VPC 或主機連線疑難排解在內的詳細資訊，請參閱「[針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc)」。

### 許可要求
<a name="connections-create-host-prereq-permissions"></a>

在主機建立程序中， 會代表您 AWS CodeConnections 建立網路資源，以促進 VPC 連線。這包括 AWS CodeConnections 讓 從主機查詢資料的網路界面，以及讓主機透過 Webhook 將事件資料傳送至連線的 VPC 端點或 *PrivateLink*。若要建立這些網路資源，請確定建立主機所使用的角色具有下列許可：

```
ec2:CreateNetworkInterface
ec2:CreateTags
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
ec2:DescribeSubnets
ec2:DeleteNetworkInterface
ec2:DescribeVpcs
ec2:CreateVpcEndpoint
ec2:DeleteVpcEndpoints
ec2:DescribeVpcEndpoints
```

如需針對 VPC 中許可或主機連線進行疑難排解的詳細資訊，請參閱「[針對主機的 VPC 組態進行疑難排解](troubleshooting-connections.md#troubleshooting-connections-host-vpc)」。

如需 Webhook VPC 端點的詳細資訊，請參閱「[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)」。

**Topics**
+ [(選用) 先決條件：連線的網路或 Amazon VPC 組態](#connections-create-host-prereq)
+ [為連線建立主機 (主控台)](#connections-host-create-console)
+ [為連線建立主機 (CLI)](#connections-host-create-cli)

## 為連線建立主機 (主控台)
<a name="connections-host-create-console"></a>

針對安裝連線 (如 GitHub Enterprise Server 或 GitLab 自我管理)，您可以使用主機來代表安裝第三方供應商的基礎設施之端點。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

若要了解在 VPC 中設定主機的考量事項，請參閱「[建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)」。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。

**注意**  
一個 GitHub Enterprise Server 或 GitLab 自我管理帳戶一次只能建立一個主機。所有連至特定 GitHub Enterprise Server 或 GitLab 自我管理帳戶的連線都會使用相同的主機。

## 為連線建立主機 (CLI)
<a name="connections-host-create-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 為已安裝的連線建立主機。

**注意**  
一個 GitHub Enterprise Server 帳戶只能建立一個主機。所有連至特定 GitHub Enterprise Server 帳戶的連線都會使用相同的主機。

您可以使用主機來代表安裝第三方供應商的基礎設施之端點。若要使用 CLI 建立主機，請使用 **create-host** 命令。主機建立完成後，該主機會處於 **Pending (待定)** 狀態。接著需*設定*主機，以將其變為 **Available (可用)** 狀態。主機變為可用後，便可完成建立連線的步驟。

**重要**  
根據預設，透過 建立的主機 AWS CLI 處於 `Pending` 狀態。使用 CLI 建立主機後，需使用主控台將主機狀態設為 `Available`。

若要使用主控台建立主機與連至 GitHub Enterprise Server 的連線，請參閱 [建立 GitHub Enterprise Server 連線 (主控台)](connections-create-gheserver-console.md#connections-create-gheserver-connection)。主控台會為您建立一個主機。

若要使用主控台建立主機與連至 GitHub 自我管理的連線，請參閱 [建立連至 GitLab 自我管理的連線](connections-create-gitlab-managed.md)。主控台會為您建立一個主機。

# 設定待定主機
<a name="connections-host-setup"></a>

透過 AWS Command Line Interface (AWS CLI) 或 SDK 建立的主機預設處於 `Pending` 狀態。建立與 主控台 AWS CLI或 SDK 的連線後，請使用 主控台來設定主機使其狀態為 `Available`。

您必須已建立主機。如需詳細資訊，請參閱[建立主機](connections-host-create.md)。<a name="proc-host-setup-steps"></a>

**設定待定主機**

主機建立後會處於 **Pending (待定)** 狀態。若要讓主機從 **Pending (待定)** 變為 **Available (可用)**，請完成以下步驟。此程序會與第三方供應商執行交握，以在主機上註冊 AWS 連線應用程式。

1. 在 AWS 開發人員工具主控台上主機達到**待**定狀態後，請選擇**設定主機**。

1. 如果要為 GitLab 自我管理建立主機，則會顯示 **設置** 頁面。在**提供個人存取字符**中，僅向您的 GitLab PAT 提供下列範圍縮小許可：api。

1. 在第三方安裝式供應商登入頁面上 (例如 **GitHub Enterprise Server** 登入頁面)，如果出現提示，請使用您的帳戶憑證登入。

1. 在應用程式安裝頁面上，於 **GitHub App name (GitHub 應用程式名稱)** 中，輸入您要為主機安裝的應用程式名稱。選擇 **Create GitHub App (建立 GitHub 應用程式)**。

1. 主機成功註冊後，會出現主機詳細資訊頁面，並顯示主機狀態為 **Available (可用)**。  
![\[主控台螢幕擷取畫面顯示主機設定完成且處於可用狀態。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-create-host-register-complete.png)

1. 主機變為可用後，您可以繼續建立連線。在成功橫幅上，選擇 **Create connection (建立連線)**。完成 [Create connection (建立連線)](connections-create-gheserver-console.md) 中的步驟。

# 列出主機
<a name="connections-host-list"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **list-connections** 命令來檢視帳戶中的連線清單。

## 列出主機 (主控台)
<a name="connections-host-list-console"></a>

**列出主機**

1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Hosts (主機)** 索引標籤。檢視主機的名稱、狀態和 ARN。

## 列出主機 (CLI)
<a name="connections-host-list-cli"></a>

您可以使用 AWS CLI 來列出主機，以進行已安裝的第三方供應商連線。

若要這麼做，請使用 **list-hosts** 命令。

**列出主機**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows)，然後使用 AWS CLI 執行**list-hosts**命令。

  ```
  aws codeconnections list-hosts
  ```

  此命令會傳回下列輸出。

  ```
  {
      "Hosts": [
          {
              "Name": "My-Host",
              "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605",
              "ProviderType": "GitHubEnterpriseServer",
              "ProviderEndpoint": "https://my-instance.test.dev",
              "Status": "AVAILABLE"
          }
      ]
  }
  ```

# 編輯主機
<a name="connections-host-edit"></a>

您可以為處於 `Pending` 狀態的主機編輯主機設定。您可以編輯主機名稱、URL 或 VPC 組態。

您不能為多個主機使用相同的 URL。

**注意**  
若要了解在 VPC 中設定主機的考量事項，請參閱「[(選用) 先決條件：連線的網路或 Amazon VPC 組態](connections-host-create.md#connections-create-host-prereq)」。

**編輯主機**

1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Settings > Connections (設定 > 連線)**。

1. 選擇 **Hosts (主機)** 索引標籤。

   隨即顯示與 AWS 您的帳戶相關聯的主機，以及在所選 AWS 區域中建立的主機。

1. 若要編輯主機名稱，請在 **Name (名稱)** 中輸入新值。

1. 若要編輯主機端點，請在 **URL** 中輸入新值。

1. 若要編輯主機 VPC 組態，請在 **VPC ID** 中輸入新值。

1. 選擇 **Edit host (編輯主機)**。

1. 隨即會顯示更新的設定。選擇 **Set up Pending host (設定待定主機)**。

# 刪除主機
<a name="connections-host-delete"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **delete-host** 命令來刪除主機。

**Topics**
+ [刪除主機 (主控台)](#connections-host-delete-console)
+ [刪除主機 (CLI)](#connections-host-delete-cli)

## 刪除主機 (主控台)
<a name="connections-host-delete-console"></a>

**刪除主機**



1. 開啟位於 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 的開發人員工具主控台。

1. 選擇 **Hosts (主機)** 索引標籤。在 **Name (名稱)** 中，選擇您想刪除的主機名稱。

1. 選擇 **刪除** 。

1. 在欄位中輸入 **delete** 以確認，然後選擇 **Delete (刪除)**。
**重要**  
這個操作無法復原。

## 刪除主機 (CLI)
<a name="connections-host-delete-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來刪除主機。

若要這麼做，請使用 **delete-host** 命令。

**重要**  
您必須先刪除與主機相關聯的所有連線，才能刪除該主機。  
執行命令之後，就會刪除主機。不會顯示確認對話方塊。

**刪除主機**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **delete-host**命令，指定您要刪除之主機的 Amazon Resource Name (ARN)。

  ```
  aws codeconnections delete-host --host-arn "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
  ```

  此命令不會傳回任何結果。

# 檢視主機詳細資訊
<a name="connections-host-view"></a>

您可以使用開發人員工具主控台或 AWS Command Line Interface (AWS CLI) 中的 **get-host** 命令來檢視主機的詳細資訊。



**檢視主機詳細資訊 (主控台)**

1. 前往 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)，登入 AWS 管理主控台 並開啟開發人員工具主控台。

1. 選擇 **Settings > Connections (設定 > 連線)**，然後選擇 **Hosts (主機)** 索引標籤。

1. 選擇您要檢視的主機旁邊的按鈕，然後選擇 **View details (檢視詳細資訊)**。

1. 隨即會顯示主機的下列資訊：
   + 主機名稱。
   + 連線的供應商類型。
   + 安裝供應商的基礎設施之端點。
   + 主機的設定狀態。準備用於連線的主機處於 **Available (可用)** 狀態。如果您的主機已建立但未完成安裝，該主機可能處於不同的狀態。

     可使用的狀態如下：
     + PENDING - 主機已完成建立，並準備好在主機上註冊提供商應用程式以啟動設定。
     + AVAILABLE - 主機已完成建立和設定，可與連線搭配使用。
     + ERROR - 主機建立或註冊期間發生錯誤。
     + VPC\$1CONFIG\$1VPC\$1INITIALIZING - 正在建立主機的 VPC 組態。
     + VPC\$1CONFIG\$1VPC\$1FAILED\$1INITIALIZATION - 主機的 VPC 組態發生錯誤並失敗。
     + VPC\$1CONFIG\$1VPC\$1AVAILABLE - 主機的 VPC 組態已完成設定且可使用。
     + VPC\$1CONFIG\$1VPC\$1DELETING - 正在刪除主機的 VPC 組態。  
![\[主控台螢幕擷取畫面顯示主機的詳細資訊，主機處於可用狀態。\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/connections-view-host-screen.png)

1. 選擇 **Delete (刪除)** 即可刪除主機。

1. 如果主機處於 **Pending (待定)** 狀態，若要完成設定，請選擇 **Set up host (設定主機)**。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。

**檢視主機詳細資訊 (CLI)**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows)，然後使用 AWS CLI 執行 **get-host**命令，指定您要檢視其詳細資訊的主機 Amazon Resource Name (ARN)。

  ```
  aws codeconnections get-host --host-arn arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605
  ```

  此命令會傳回下列輸出。

  ```
  {
      "Name": "MyHost",
      "Status": "AVAILABLE",
      "ProviderType": "GitHubEnterpriseServer",
      "ProviderEndpoint": "https://test-instance-1.dev/"
  }
  ```

# 使用連結儲存庫的同步組態
<a name="configurations"></a>

在 AWS CodeConnections 中，您可以使用連線將 AWS 資源關聯至第三方儲存庫，例如 GitHub、Bitbucket Cloud、GitHub Enterprise Server 和 GitLab。使用 `CFN_STACK_SYNC` 同步類型，您可以建立同步組態，允許 AWS 從 Git 儲存庫同步內容以更新指定的 AWS 資源。 會與連線 CloudFormation 整合，因此您可以使用 Git 同步來管理您同步之連結儲存庫中的範本和參數檔案。

建立連線後，您可以使用連線 CLI 或 CloudFormation 主控台來建立儲存庫連結和同步組態。
+ 儲存庫連結：儲存庫連結會在連線和外部 Git 儲存庫之間建立關聯。儲存庫連結可讓 Git 同步監控並同步指定 Git 儲存庫中檔案的變更。
+ 同步組態：使用同步組態從 Git 儲存庫同步內容以更新指定的 AWS 資源。

如需詳細資訊，請參閱 [https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。

如需使用 CloudFormation 主控台建立 CloudFormation 堆疊同步組態的教學課程，請參閱 *CloudFormation 使用者指南*中的[使用 CloudFormation Git 同步](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/git-sync.html)。

**Topics**
+ [使用儲存庫連結](repositorylinks.md)
+ [使用同步組態](syncconfigurations.md)

# 使用儲存庫連結
<a name="repositorylinks"></a>

儲存庫連結會在連線和外部 Git 儲存庫之間建立關聯。儲存庫連結可讓 Git 同步監控指定 Git 儲存庫中的檔案變更，並將變更同步至 CloudFormation 堆疊。

如需儲存庫連結的詳細資訊，請參閱 [AWS CodeConnections API 參考](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html)。

**Topics**
+ [建立儲存庫連結](repositorylinks-create.md)
+ [更新儲存庫連結](repositorylinks-update.md)
+ [列出儲存庫連結](repositorylinks-list.md)
+ [刪除儲存庫連結](repositorylinks-delete.md)
+ [檢視儲存庫連結詳細資訊](repositorylinks-view-details.md)

# 建立儲存庫連結
<a name="repositorylinks-create"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **create-repository-link**命令，在連線與要同步的外部儲存庫之間建立連結。

在建立儲存庫連結之前，您必須先使用第三方提供者 (例如 GitHub) 建立外部儲存庫。

**建立儲存庫連結**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-repository-link**命令。指定關聯連線的 ARN、擁有者 ID 和儲存庫名稱。

   ```
   aws codeconnections create-repository-link --connection-arn  arn:aws:codeconnections:us-east-1:account_id:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e --owner-id account_id --repository-name MyRepo 
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codeconnections:us-east-1:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
           "OwnerId": "account_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codeconnections:us-east-1:account_id:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 更新儲存庫連結
<a name="repositorylinks-update"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **update-repository-link**命令來更新指定的儲存庫連結。

您可以更新儲存庫連結的下列資訊：
+ `--connection-arn`
+ `--owner-id`
+ `--repository-name`

當您想要變更與儲存庫相關聯的連線時，可以更新儲存庫連結。若要使用不同的連線，您需要指定連線 ARN。如需檢視連線 ARN 的步驟，請參閱[檢視連線詳細資料](connections-view-details.md)。

**更新儲存庫連結**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **update-repository-link**命令，指定儲存庫連結要更新的值。例如，下列命令會更新與儲存庫連結 ID 相關聯的連線。這會使用 `--connection` 參數指定新連線 ARN。

   ```
   aws codestar-connections update-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173 --connection-arn arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-f055-4843-adef-4ceaefcb2167 
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-f055-4843-adef-4ceaefcb2167",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 列出儲存庫連結
<a name="repositorylinks-list"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **list-repository-links**命令來列出帳戶的儲存庫連結。

**列出儲存庫連結**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **list-repository-links **命令。

   ```
   aws codeconnections list-repository-links
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "RepositoryLinks": [
           {
               "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e",
               "OwnerId": "owner_id",
               "ProviderType": "GitHub",
               "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryName": "MyRepo",
               "Tags": []
           }
       ]
   }
   ```

# 刪除儲存庫連結
<a name="repositorylinks-delete"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **delete-repository-link**命令來刪除儲存庫連結。

刪除儲存庫連結之前，您必須先刪除與儲存庫連結相關聯的所有同步組態。

**重要**  
執行命令之後，就會刪除儲存庫連結。不會顯示確認對話方塊。您可以建立新儲存庫連結，但是 Amazon Resource Name (ARN) 不會重複使用。

**刪除儲存庫連結**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **delete-repository-link**命令，指定要刪除的儲存庫連結 ID。

  ```
  aws codeconnections delete-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173
  ```

  此命令不會傳回任何結果。

# 檢視儲存庫連結詳細資訊
<a name="repositorylinks-view-details"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **get-repository-link**命令來檢視儲存庫連結的詳細資訊。

**檢視儲存庫連結詳細資訊**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **get-repository-link**命令，指定儲存庫連結 ID。

   ```
   aws codestar-connections get-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 使用同步組態
<a name="syncconfigurations"></a>

同步組態會在指定的儲存庫和連線之間建立關聯。使用同步組態來同步 Git 儲存庫中的內容，以更新指定的 AWS 資源。

如需連線的詳細資訊，請參閱 [AWS CodeConnections API 參考](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html)。

**Topics**
+ [建立同步組態](syncconfigurations-create.md)
+ [更新同步組態](syncconfigurations-update.md)
+ [列出同步組態](syncconfigurations-list.md)
+ [刪除同步組態](syncconfigurations-delete.md)
+ [檢視同步組態詳細資訊](syncconfigurations-view-details.md)

# 建立同步組態
<a name="syncconfigurations-create"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **create-repository-link**命令，在連線與要同步的外部儲存庫之間建立連結。

建立同步組態之前，您必須先在連線和第三方儲存庫之間建立儲存庫連結。

**建立同步組態**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-repository-link**命令。指定關聯連線的 ARN、擁有者 ID 和儲存庫名稱。下列命令會為 CloudFormation中的資源建立具有同步類型的同步組態。這也會指定儲存庫中的儲存庫分支和組態檔案。在此範例中，資源是命名為 **`mystack`** 的堆疊。

   ```
   aws codeconnections create-sync-configuration --branch main --config-file filename --repository-link-id be8f2017-b016-4a77-87b4-608054f70e77 --resource-name mystack --role-arn arn:aws:iam::account_id:role/myrole --sync-type CFN_STACK_SYNC
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "main",
           "ConfigFile": "filename",
           "OwnerId": "account_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   ```

# 更新同步組態
<a name="syncconfigurations-update"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **update-sync-configuration** 命令來更新指定的同步組態。

您可以更新同步組態的下列資訊：
+ `--branch`
+ `--config-file`
+ `--repository-link-id`
+ `--resource-name`
+ `--role-arn`

**更新同步組態**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **update-sync-configuration**命令，指定您要更新的值，以及資源名稱和同步類型。例如，下列命令會使用 `--branch` 參數更新與同步組態相關聯的分支名稱。

   ```
   aws codeconnections update-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack --branch feature-branch
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "feature-branch",
           "ConfigFile": "filename.yaml",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   ```

# 列出同步組態
<a name="syncconfigurations-list"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **list-sync-configurations** 命令列出您帳戶的儲存庫連結。

**列出儲存庫連結**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **list-sync-configurations**命令，指定同步類型和儲存庫連結 ID。

   ```
   aws codeconnections list-sync-configurations --repository-link-id 6053346f-8a33-4edb-9397-10394b695173  --sync-type CFN_STACK_SYNC 
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "SyncConfigurations": [
           {
               "Branch": "main",
               "ConfigFile": "filename.yaml",
               "OwnerId": "owner_id",
               "ProviderType": "GitHub",
               "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryName": "MyRepo",
               "ResourceName": "mystack",
               "RoleArn": "arn:aws:iam::account_id:role/myrole",
               "SyncType": "CFN_STACK_SYNC"
           }
       ]
   }
   ```

# 刪除同步組態
<a name="syncconfigurations-delete"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **delete-sync-configuration** 命令來刪除同步組態。

**重要**  
執行命令之後，就會刪除同步組態。不會顯示確認對話方塊。您可以建立新同步組態，但是 Amazon Resource Name (ARN) 不會重複使用。

**刪除同步組態**
+ 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **delete-sync-configuration**命令，指定您要刪除之同步組態的同步類型和資源名稱。

  ```
  aws codeconnections delete-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack
  ```

  此命令不會傳回任何結果。

# 檢視同步組態詳細資訊
<a name="syncconfigurations-view-details"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的 **get-sync-configuration**命令來檢視同步組態的詳細資訊。

**檢視同步組態的詳細資訊**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **get-sync-configuration**命令，指定儲存庫連結 ID。

   ```
   aws codeconnections get-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack
   ```

1. 此命令會傳回下列輸出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "main",
           "ConfigFile": "filename",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   }
   ```

# 使用 記錄 AWS CodeConnections API 呼叫 AWS CloudTrail
<a name="logging-using-cloudtrail-connections"></a>

AWS CodeConnections 已與 服務整合 AWS CloudTrail，此服務可提供使用者、角色或服務所採取動作的記錄 AWS 。CloudTrail 會擷取通知的 API 呼叫當作事件。擷取的呼叫包括從開發人員工具主控台進行的呼叫，以及對 AWS CodeConnections API 操作的程式碼呼叫。

如果您建立追蹤記錄，就可以將 CloudTrail 事件持續交付到 Amazon Simple Storage Service (Amazon S3) 儲存貯體，包括通知的事件。即使您未設定追蹤，仍可透過 CloudTrail 主控台中的 **Event history (事件歷史記錄)** 檢視最新事件。您可利用 CloudTrail 所收集的資訊來判斷向 AWS CodeConnections發出的請求，以及發出請求的 IP 地址、人員、時間和其他詳細資訊。

如需詳細資訊，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## AWS CodeConnections CloudTrail 中的資訊
<a name="service-name-info-in-cloudtrail-connections"></a>

當您建立 AWS 帳戶時，會在您的帳戶上啟用 CloudTrail。當活動在 中發生時 AWS CodeConnections，該活動會與**事件歷史記錄**中的其他 AWS 服務事件一起記錄在 CloudTrail 事件中。您可以在 AWS 帳戶中檢視、搜尋和下載最近的事件。如需詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的 [使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄您 AWS 帳戶中的事件，包括 的事件 AWS CodeConnections，請建立追蹤。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設，當您在主控台中建立追蹤時，該追蹤會套用至所有的 AWS 區域。線索會記錄 AWS 分割區中所有區域的事件，並將日誌檔案傳送到您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。

如需詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的以下主題：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [從多個區域接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [從多個帳戶接收 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄所有 AWS CodeConnections 動作，並記錄在 [AWS CodeConnections API 參考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)中。例如，對 `CreateConnection`、`DeleteConnection` 和 `GetConnection` 動作發出的呼叫會在 CloudTrail 記錄檔案中產生專案。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 該請求是否使用根或其他 IAM 憑證提出。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 請求是否由其他 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解 日誌檔案項目
<a name="understanding-service-name-entries-connections"></a>

*追蹤*是一種組態，能讓事件以日誌檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個*事件*為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

## `CreateConnection` 範例
<a name="w2aab5c25c39c13"></a>

以下範例顯示的是展示 `CreateConnection` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "b4374fde-c544-4d43-b511-7d899568e55a",
    "EventName": "CreateConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-09T15:13:46-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:user/Mary_Major",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-09T23:03:08Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-09T23:13:46Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.create-connection",
        "requestParameters": {
            "providerType": "GitHub",
            "connectionName": "my-connection"
        },
        "responseElements": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "requestID": "57640a88-97b7-481d-9665-cfd79a681379",
        "eventID": "b4374fde-c544-4d43-b511-7d899568e55a",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `CreateHost` 範例
<a name="w2aab5c25c39c15"></a>

以下範例顯示的是展示 `CreateHost` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "af4ce349-9f21-43fb-8003-267fbf9b1a93",
    "EventName": "CreateHost",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:43:06-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:43:06Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.137",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.create-host",
        "requestParameters": {
            "name": "Demo1",
            "providerType": "GitHubEnterpriseServer",
            "providerEndpoint": "IP"
        },
        "responseElements": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "requestID": "974459b3-8a04-4cff-9c8f-0c88647831cc",
        "eventID": "af4ce349-9f21-43fb-8003-267fbf9b1a93",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `CreateSyncConfiguration` 範例
<a name="w2aab5c25c39c17"></a>

以下範例顯示的是展示 `CreateSyncConfiguration` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "be1397e1-eefb-49f0-b4ee-2708c45e94e7",
    "EventName": "CreateSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:38:30+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:38:30Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.create-sync-configuration",
        "requestParameters": {
            "branch": "master",
            "configFile": "filename",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "resourceName": "mystack",
            "roleArn": "arn:aws:iam::123456789012:role/my-role",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "main",
                "configFile": "filename",
                "ownerId": "owner_ID",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "bad2f662-3f2a-42c0-b638-6115384896f6",
        "eventID": "be1397e1-eefb-49f0-b4ee-2708c45e94e7",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteConnection` 範例
<a name="w2aab5c25c39c19"></a>

以下範例顯示的是展示 `DeleteConnection` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "672837cd-f977-4fe2-95c7-14280b2af76c",
    "EventName": "DeleteConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-10T13:00:50-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::001919387613:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-10T20:41:16Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-10T21:00:50Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-connection",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "responseElements": null,
        "requestID": "4f26ceab-d665-41df-9e15-5ed0fbb4eca6",
        "eventID": "672837cd-f977-4fe2-95c7-14280b2af76c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteHost` 範例
<a name="w2aab5c25c39c21"></a>

以下範例顯示的是展示 `DeleteHost` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "6018ba5c-6f24-4a30-b201-16ec19a1687a",
    "EventName": "DeleteHost",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:56:47-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:56:47Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "responseElements": null,
        "requestID": "1b244528-143a-4028-b9a4-9479e342bce5",
        "eventID": "6018ba5c-6f24-4a30-b201-16ec19a1687a",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteSyncConfiguration` 範例
<a name="w2aab5c25c39c23"></a>

以下範例顯示的是展示 `DeleteSyncConfiguration` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "588660c7-3202-4998-a906-7bb72bcf4438",
    "EventName": "DeleteSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:41:59+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:41:59Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.142",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.delete-sync-configuration",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": null,
        "requestID": "221e0b1c-a50e-4cf0-ab7d-780154e29c94",
        "eventID": "588660c7-3202-4998-a906-7bb72bcf4438",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetConnection` 範例
<a name="w2aab5c25c39c25"></a>

以下範例顯示的是展示 `GetConnection` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "672837cd-f977-4fe2-95c7-14280b2af76c",
    "EventName": "DeleteConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-10T13:00:50-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-10T20:41:16Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-10T21:00:50Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-connection",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "responseElements": null,
        "requestID": "4f26ceab-d665-41df-9e15-5ed0fbb4eca6",
        "eventID": "672837cd-f977-4fe2-95c7-14280b2af76c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "001919387613",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetHost` 範例
<a name="w2aab5c25c39c27"></a>

以下範例顯示的是展示 `GetHost` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "faa147e7-fe7c-4ab9-a11b-2568a2883c01",
    "EventName": "GetHost",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:44:34-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:44:34Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.137",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.get-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "responseElements": null,
        "requestID": "0ad61bb6-f88f-4f96-92fe-997f017ec2bb",
        "eventID": "faa147e7-fe7c-4ab9-a11b-2568a2883c01",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetRepositoryLink` 範例
<a name="w2aab5c25c39c29"></a>

以下範例顯示的是展示 `GetRepositoryLink` 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "b46acb67-3612-41c7-8987-adb6c9ed4ad4",
    "EventName": "GetRepositoryLink",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T02:59:28+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T02:58:52Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T02:59:28Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetRepositoryLink",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-repository-link",
        "requestParameters": {
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173"
        },
        "responseElements": {
            "repositoryLinkInfo": {
                "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                "ownerId": "123456789012",
                "providerType": "GitHub",
                "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo"
            }
        },
        "requestID": "d46704dd-dbe9-462f-96a6-022a8d319fd1",
        "eventID": "b46acb67-3612-41c7-8987-adb6c9ed4ad4",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-ea-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetRepositorySyncStatus` 範例
<a name="w2aab5c25c39c31"></a>

下列範例顯示示範 [GetRepositorySyncStatus](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetRepositorySyncStatus.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "3e183b74-d8c4-4ad3-9de3-6b5721c522e9",
    "EventName": "GetRepositorySyncStatus",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:41:44+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:41:44Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetRepositorySyncStatus",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.138",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-repository-sync-status",
        "errorCode": "ResourceNotFoundException",
        "errorMessage": "Could not find a sync status for repository link:6053346f-8a33-4edb-9397-10394b695173",
        "requestParameters": {
            "branch": "feature-branch",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": null,
        "requestID": "e0cee3ee-31e8-4ef5-b749-96cdcabbe36f",
        "eventID": "3e183b74-d8c4-4ad3-9de3-6b5721c522e9",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetResourceSyncStatus` 範例
<a name="w2aab5c25c39c33"></a>

下列範例顯示示範 [GetResourceSyncStatus](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetResourceSyncStatus.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "9c47054e-f6f6-4345-96d0-9a5af3954a8d",
    "EventName": "GetResourceSyncStatus",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:44:11+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:44:11Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetResourceSyncStatus",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-resource-sync-status",
        "requestParameters": {
            "resourceName": "mystack",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": null,
        "requestID": "e74b5503-d651-4920-9fd2-0f40fb5681e0",
        "eventID": "9c47054e-f6f6-4345-96d0-9a5af3954a8d",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetSyncBlockerSummary` 範例
<a name="w2aab5c25c39c35"></a>

下列範例顯示示範 [GetSyncBlockerSummary](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetSyncBlockerSummary.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "c16699ba-a788-476d-8c6c-47511d76309e",
    "EventName": "GetSyncBlockerSummary",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:03:02+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:03:02Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetSyncBlockerSummary",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-sync-blocker-summary",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": {
            "syncBlockerSummary": {
                "resourceName": "mystack",
                "latestBlockers": []
            }
        },
        "requestID": "04240091-eb25-4138-840d-776f8e5375b4",
        "eventID": "c16699ba-a788-476d-8c6c-47511d76309e",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetSyncConfiguration` 範例
<a name="w2aab5c25c39c37"></a>

下列範例顯示示範 [GetSyncConfiguration](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetSyncConfiguration.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "bab9aa16-4553-4206-a1ea-88219233dd25",
    "EventName": "GetSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:40:40+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:40:40Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.142",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.get-sync-configuration",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "main",
                "configFile": "filename",
                "ownerId": "123456789012",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "0aa8e43a-6e34-4d8f-89fb-5c2d01964b35",
        "eventID": "bab9aa16-4553-4206-a1ea-88219233dd25",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListConnections` 範例
<a name="w2aab5c25c39c39"></a>

下列範例顯示示範 [ListConnections](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListConnections.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "3f8d80fe-fbe1-4755-903c-4f58fc8262fa",
    "EventName": "ListConnections",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-08T14:11:23-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-08T22:11:02Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-08T22:11:23Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListConnections",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/1.18.147 Python/2.7.18 Linux/5.10.201-168.748.amzn2int.x86_64 botocore/1.18.6",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": null,
        "requestID": "5d456d59-3e92-44be-b941-a429df59e90b",
        "eventID": "3f8d80fe-fbe1-4755-903c-4f58fc8262fa",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListHosts` 範例
<a name="w2aab5c25c39c41"></a>

下列範例顯示示範 [ListHosts](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListHosts.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "f6e9e831-feaf-4ad1-ac47-51681109c401",
    "EventName": "ListHosts",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T13:00:55-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T21:00:55Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListHosts",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.list-hosts",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": null,
        "requestID": "ea87e2cf-6bf1-4cc7-9666-f3fad85d6d83",
        "eventID": "f6e9e831-feaf-4ad1-ac47-51681109c401",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListRepositoryLinks` 範例
<a name="w2aab5c25c39c43"></a>

下列範例顯示示範 [ListRepositoryLinks](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListRepositoryLinks.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "4f714bbb-0716-4f6e-9868-9b379b30757f",
    "EventName": "ListRepositoryLinks",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T01:57:29+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T01:43:49Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T01:57:29Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListRepositoryLinks",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.list-repository-links",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": {
            "repositoryLinks": [
                {
                    "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e",
                    "ownerId": "123456789012",
                    "providerType": "GitHub",
                    "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
                    "repositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
                    "repositoryName": "MyGitHubRepo"
                },
                {
                    "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                    "ownerId": "owner",
                    "providerType": "GitHub",
                    "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryName": "MyGitHubRepo"
                }
            ]
        },
        "requestID": "7c8967a9-ec15-42e9-876b-0ef58681ec55",
        "eventID": "4f714bbb-0716-4f6e-9868-9b379b30757f",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListRepositorySyncDefinitions` 範例
<a name="w2aab5c25c39c45"></a>

下列範例顯示示範 [ListRepositorySyncDefinitions](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListRepositorySyncDefinitions.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "12e52dbb-b00d-49ad-875a-3efec36e5aa1",
    "EventName": "ListRepositorySyncDefinitions",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T16:56:19+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T16:43:03Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T16:56:19Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListRepositorySyncDefinitions",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.list-repository-sync-definitions",
        "requestParameters": {
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC",
            "maxResults": 50
        },
        "responseElements": {
            "repositorySyncDefinitions": []
        },
        "requestID": "df31d11d-5dc7-459b-9a8f-396b4769cdd9",
        "eventID": "12e52dbb-b00d-49ad-875a-3efec36e5aa1",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
```

## `ListSyncConfigurations` 範例
<a name="w2aab5c25c39c47"></a>

下列範例顯示示範 [ListSyncConfigurations](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListSyncConfigurations.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "aa4ae557-ec31-4151-8d21-9e74dd01344c",
    "EventName": "ListSyncConfigurations",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:42:06+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:42:06Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListSyncConfigurations",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.804.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/offcommand/codeconnections.list-sync-configurations",
        "requestParameters": {
            "maxResults": 50,
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfigurations": [
                {
                    "branch": "feature-branch",
                    "configFile": "filename.yaml",
                    "ownerId": "owner",
                    "providerType": "GitHub",
                    "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryName": "MyGitHubRepo",
                    "resourceName": "dkstacksync",
                    "roleArn": "arn:aws:iam::123456789012:role/my-role",
                    "syncType": "CFN_STACK_SYNC"
                }
            ]
        },
        "requestID": "7dd220b5-fc0f-4023-aaa0-9555cfe759df",
        "eventID": "aa4ae557-ec31-4151-8d21-9e74dd01344c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListTagsForResource` 範例
<a name="w2aab5c25c39c49"></a>

下列範例顯示示範 [ListTagsForResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListTagsForResource.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "fc501054-d68a-4325-824c-0e34062ef040",
    "EventName": "ListTagsForResource",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T17:16:56+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "dMary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T16:43:03Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T17:16:56Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListTagsForResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.list-tags-for-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/9703702f-bebe-41b7-8fc4-8e6d2430a330"
        },
        "responseElements": null,
        "requestID": "994584a3-4807-47f2-bb1b-a64f0af6c250",
        "eventID": "fc501054-d68a-4325-824c-0e34062ef040",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `TagResource` 範例
<a name="w2aab5c25c39c51"></a>

下列範例顯示示範 [TagResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_TagResource.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "b7fbc943-2dd1-4c5b-a5ad-fc6d60a011f1",
    "EventName": "TagResource",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:22:11-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:22:11Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "TagResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.tag-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/8dcf69d1-3316-4392-ae09-71e038adb6ed",
            "tags": [
                {
                    "key": "Demo1",
                    "value": "hhvh1"
                }
            ]
        },
        "responseElements": null,
        "requestID": "ba382c33-7124-48c8-a23a-25816ce27604",
        "eventID": "b7fbc943-2dd1-4c5b-a5ad-fc6d60a011f1",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UnTagResource` 範例
<a name="w2aab5c25c39c53"></a>

下列範例顯示示範 [UntagResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UntagResource.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "8a85cdee-2586-4679-be18-eec34204bc7e",
    "EventName": "UntagResource",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:31:14-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:31:14Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UntagResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.untag-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/8dcf69d1-3316-4392-ae09-71e038adb6ed",
            "tagKeys": [
                "Project",
                "ReadOnly"
            ]
        },
        "responseElements": null,
        "requestID": "05ef26a4-8c39-4f72-89bf-0c056c51b8d7",
        "eventID": "8a85cdee-2586-4679-be18-eec34204bc7e",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateHost` 範例
<a name="w2aab5c25c39c55"></a>

下列範例顯示示範 [UpdateHost](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateHost.html) 動作的 CloudTrail 日誌項目。

```
"Events": [{
        "EventId": "4307cf7d-6d1c-40d9-a659-1bb41b31a2b6",
        "EventName": "UpdateHost",
        "ReadOnly": "false",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "EventTime": "2024-01-11T12:54:32-08:00",
        "EventSource": "codeconnections.amazonaws.com",
        "Username": "Mary_Major",
        "Resources": [],
        "CloudTrailEvent": "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:54:32Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.update-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-34e70ecb",
            "providerEndpoint": "https://54.218.245.167"
        },
        "responseElements": null,
        "requestID": "b17f46ac-1acb-44ab-a9f5-c35c20233441",
        "eventID": "4307cf7d-6d1c-40d9-a659-1bb41b31a2b6",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
```

## `UpdateRepositoryLink` 範例
<a name="w2aab5c25c39c57"></a>

下列範例顯示示範 [UpdateRepositoryLink](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateRepositoryLink.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "be358c9a-5a8f-467e-8585-2860070be4fe",
    "EventName": "UpdateRepositoryLink",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T02:03:24+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T01:43:49Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T02:03:24Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateRepositoryLink",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.update-repository-link",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173"
        },
        "responseElements": {
            "repositoryLinkInfo": {
                "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                "ownerId": "owner",
                "providerType": "GitHub",
                "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo"
            }
        },
        "additionalEventData": {
            "providerAction": "UpdateRepositoryLink"
        },
        "requestID": "e01eee49-9393-4983-89e4-d1b3353a70d9",
        "eventID": "be358c9a-5a8f-467e-8585-2860070be4fe",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateSyncBlocker` 範例
<a name="w2aab5c25c39c59"></a>

下列範例顯示示範 [UpdateSyncBlocker](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateSyncBlocker.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "211d19db-9f71-4d93-bf90-10f9ddefed88",
    "EventName": "UpdateSyncBlocker",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:01:05+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:01:05Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateSyncBlocker",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.update-sync-blocker",
        "requestParameters": {
            "id": "ID",
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack",
            "resolvedReason": "Reason"
        },
        "responseElements": null,
        "requestID": "eea03b39-b299-4099-ba55-608480f8d96d",
        "eventID": "211d19db-9f71-4d93-bf90-10f9ddefed88",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateSyncConfiguration` 範例
<a name="w2aab5c25c39c61"></a>

下列範例顯示示範 [UpdateSyncConfiguration](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateSyncConfiguration.html) 動作的 CloudTrail 日誌項目。

```
{
    "EventId": "d961c94f-1881-4fe8-83bf-d04cb9f22577",
    "EventName": "UpdateSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:40:55+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:40:55Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.update-sync-configuration",
        "requestParameters": {
            "branch": "feature-branch",
            "resourceName": "mystack",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "feature-branch",
                "configFile": "filename",
                "ownerId": "owner",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "2ca545ef-4395-4e1f-b14a-2750481161d6",
        "eventID": "d961c94f-1881-4fe8-83bf-d04cb9f22577",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

# AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

您可以在 VPC 和 之間建立私有連線， AWS CodeConnections 方法是建立*界面 VPC 端點*。介面端點採用 [AWS PrivateLink](https://aws.amazon.com/privatelink)技術，可讓您在沒有網際網路閘道、NAT 裝置、VPN 連接或 AWS Direct Connect 連接的情況下私下存取 AWS CodeConnections APIs。VPC 中的執行個體不需要公有 IP 地址即可與 AWS CodeConnections APIs通訊，因為 VPC 和 之間的流量 AWS CodeConnections 不會離開 Amazon 網路。

每個介面端點都是由您子網路中的一或多個[彈性網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)表示。

如需詳細資訊，請參閱《*Amazon* [VPC 使用者指南》中的界面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

## AWS CodeConnections VPC 端點的考量事項
<a name="vpc-endpoint-considerations"></a>

設定介面 VPC 端點之前 AWS CodeConnections，請務必檢閱《*Amazon VPC 使用者指南*》中的[介面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-actions)。

AWS CodeConnections 支援從您的 VPC 呼叫其所有 API 動作。

所有 AWS CodeConnections 區域都支援 VPC 端點。

## VPC 端點概念
<a name="vpc-endpoint-concepts"></a>

以下是 VPC 端點的重要概念：

VPC 端點  
VPC 中的進入點，可讓您以私密方式連線至服務。以下是不同類型的 VPC 端點。您可以建立受支援服務所需的 VPC 端點類型。  
+ [AWS CodeConnections 動作的 VPC 端點](https://docs.aws.amazon.com/dtconsole/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-actions)
+ [AWS CodeConnections Webhook 的 VPC 端點](https://docs.aws.amazon.com/dtconsole/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-webhooks)

AWS PrivateLink  
提供 VPC 和服務之間私有連線的技術。

## AWS CodeConnections 動作的 VPC 端點
<a name="vpc-endpoints-actions"></a>

您可以管理 AWS CodeConnections 服務的 VPC 端點。

### 建立 AWS CodeConnections 動作的介面 VPC 端點
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 主控台或 AWS Command Line Interface () 來建立 AWS CodeConnections 服務的 VPC 端點AWS CLI。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[建立介面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。

若要開始搭配 VPC 使用連線，請為 建立介面 VPC 端點 AWS CodeConnections。當您為 建立 VPC 端點時 AWS CodeConnections，請選擇**AWS 服務**，然後在**服務名稱**中選擇：
+ **com.amazonaws.*region*.codestar-connections.api**：此選項會建立 AWS CodeConnections API 操作的 VPC 端點。例如，如果您的使用者使用 AWS CLI、 AWS CodeConnections API 或 AWS SDKs 來與 互動 AWS CodeConnections ，例如 `CreateConnection`、 和 等操作`ListConnections`，請選擇此選項`CreateHost`。

對於**啟用 DNS 名稱**選項，如果您選取端點的私有 DNS，您可以使用 AWS CodeConnections 區域的預設 DNS 名稱向 提出 API 請求，例如 `codestar-connections.us-east-1.amazonaws.com`。

**重要**  
預設會針對為 AWS 服務和 AWS Marketplace 合作夥伴服務建立的端點啟用私有 DNS。

如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[透過介面端點存取服務](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)。

### 為 AWS CodeConnections 動作建立 VPC 端點政策
<a name="vpc-endpoint-policy"></a>

您可以將端點政策連接至控制 AWS CodeConnections存取權限的 VPC 端點。此政策會指定下列資訊：
+ 可執行動作的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[使用 VPC 端點控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

**注意**  
com.amazonaws.*region*.codestar-connections.webhooks 端點不支援政策。

**範例： AWS CodeConnections 動作的 VPC 端點政策**  
以下是 端點政策的範例 AWS CodeConnections。連接到端點時，此政策會授予所有資源上所有委託人所列出 AWS CodeConnections 動作的存取權。

```
{
  "Statement": [
    {
      "Sid": "GetConnectionOnly",
      "Principal": "*",
      "Action": [
        "codestar-connections:GetConnection"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

## AWS CodeConnections Webhook 的 VPC 端點
<a name="vpc-endpoints-webhooks"></a>

AWS CodeConnections 當您使用 VPC 組態建立或刪除主機時， 會為您建立 Webhook 端點。端點名稱為 **com.amazonaws.*region*.codestar-connections.webhooks**。

透過 GitHub Webhook 的 VPC 端點，主機可以透過 Webhook 透過 Amazon 網路將事件資料傳送到您的整合 AWS 服務。

**重要**  
當您為 GitHub Enterprise Server 設定主機時， AWS CodeConnections 會為您建立 Webhook 事件資料的 VPC 端點。如果您是在 2020 年 11 月 24 日之前建立主機，且想要使用 VPC PrivateLink Webhook 端點，您必須先[刪除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主機，然後[建立](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主機。

AWS CodeConnections 會管理這些端點的生命週期。若要刪除端點，您必須刪除對應的主機資源。

### 如何使用 AWS CodeConnections 主機的 Webhook 端點
<a name="vpc-webhook-endpoints"></a>

Webhook 端點會傳送來自第三方儲存庫的 Webhook 進行處理 AWS CodeConnections 。一個 Webhook 描述一個客戶動作。執行 `git push` 時，Webhook 端點會收到來自供應商的 Webhook 詳細解析該推送。例如， AWS CodeConnections 可以通知 CodePipeline 啟動您的管道。

對於不使用 VPC 的雲端提供者，例如 Bitbucket 或 GitHub Enterprise Server 主機，Webhook VPC 端點不適用，因為提供者正在將 Webhook 傳送到未使用 Amazon 網路 AWS CodeConnections 的位置。

# 對連線進行疑難排解
<a name="troubleshooting-connections"></a>

下列資訊可協助您針對 AWS CodeBuild AWS CodeDeploy、 和 中資源連線的常見問題進行疑難排解 AWS CodePipeline。

**Topics**
+ [我無法建立連線](#troubleshooting-connections-cannot-create)
+ [嘗試建立或完成連線時收到許可錯誤](#troubleshooting-connections-permissions-error-console)
+ [嘗試使用連線時收到許可錯誤](#troubleshooting-connections-permissions-error-useconnection)
+ [連線並非處於可用狀態或已脫離待定狀態](#troubleshooting-connections-error-notpending)
+ [新增 GitClone 的連線許可](#troubleshooting-connections-gitclone-permissions)
+ [主機並非處於可用狀態](#troubleshooting-connections-host-pending)
+ [針對發生連線錯誤的主機進行疑難排解](#troubleshooting-connections-host-errors)
+ [我無法為主機建立連線](#troubleshooting-connections-host-cannot-create)
+ [針對主機的 VPC 組態進行疑難排解](#troubleshooting-connections-host-vpc)
+ [針對 GitHub Enterprise Server 連線的 Webhook VPC 端點 (PrivateLink) 進行疑難排解](#troubleshooting-connections-host-vpc-webhook)
+ [針對 2020 年 11 月 24 日之前建立的主機進行疑難排解](#troubleshooting-connections-host-vpc-webhook-host)
+ [無法為 GitHub 儲存庫建立連線](#troubleshooting-connections-GitHub-admin)
+ [編輯 GitHub Enterprise Server 連線應用程式許可](#troubleshooting-GHES-app-permissions)
+ [連線至 GitHub 時發生連線錯誤：「發生問題，請確定您的瀏覽器已啟用 Cookie」或「組織擁有者必須安裝 GitHub 應用程式」](#troubleshooting-GitHub-organization-owner)
+ [資源中的連線服務字首可能需要更新 IAM 政策](#troubleshoot-service-prefix)
+ [使用主控台建立之資源中的服務字首導致許可錯誤](#troubleshoot-service-prefix-console-permissions)
+ [支援組織的已安裝供應商的連線和主機設定](#troubleshooting-organization-host)
+ [我想提高連線的限額](#troubleshooting-connections-limit-increase)

## 我無法建立連線
<a name="troubleshooting-connections-cannot-create"></a>

您可能沒有建立連線的許可。如需詳細資訊，請參閱[的許可和範例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## 嘗試建立或完成連線時收到許可錯誤
<a name="troubleshooting-connections-permissions-error-console"></a>

嘗試在 CodePipeline 主控台中建立或檢視連線時，可能會傳回下列錯誤訊息。

使用者：*使用者名稱*未獲授權在資源：*連線 ARN*上執行*許可*

如果顯示這則訊息，請確定您有足夠的許可。

在 AWS Command Line Interface (AWS CLI) 或 AWS 管理主控台 中建立和檢視連線的許可，只是您在主控台上建立和完成連線所需的許可的一部分。單純檢視、編輯或建立連線，然後完成待定連線所需的許可，範圍應該限制為只需要執行特定任務的使用者。如需詳細資訊，請參閱[的許可和範例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## 嘗試使用連線時收到許可錯誤
<a name="troubleshooting-connections-permissions-error-useconnection"></a>

如果您嘗試在 CodePipeline 主控台中使用連線，即使您具有列出、取得和建立許可，可能仍會傳回下列其中一個或兩個錯誤訊息。

無法驗證您的帳戶。

使用者：*使用者名稱*未獲授權在資源：*連線 ARN 上執行*：codestar-connections:UseConnection

如果出現此訊息，請確定您有足夠的許可。

請確定您擁有使用連線的許可，包括列出位於供應商位置的可用儲存庫。如需詳細資訊，請參閱[的許可和範例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## 連線並非處於可用狀態或已脫離待定狀態
<a name="troubleshooting-connections-error-notpending"></a>

如果主控台顯示連線並非處於可用狀態的訊息，請選擇 **Complete connection (完成連線)**。

如果您選擇完成連線，且出現連線不處於待定狀態的訊息，您可以取消請求，因為連線已處於可用狀態。

## 新增 GitClone 的連線許可
<a name="troubleshooting-connections-gitclone-permissions"></a>

當您在來源動作和 CodeBuild 動作中使用 AWS CodeStar 連線時，有兩種方式可以將輸入成品傳遞至組建：
+ 預設值：來源動作會產生 zip 檔，其中包含 CodeBuild 下載項目的程式碼。
+ Git 複製：來源程式碼可以直接下載到建置環境。

  Git 複製模式可讓您將原始程式碼當成工作中 Git 儲存庫來互動。若要使用此模式，您必須准許 CodeBuild 環境使用連線。

若要將許可新增至 CodeBuild 服務角色政策，請建立客戶受管政策以連接至 CodeBuild 服務角色。下列步驟建立政策，其中，`action` 欄位中指定 `UseConnection` 許可，而 `Resource` 欄位中指定連線的 Amazon Resource Name (ARN)。

**使用主控台新增 UseConnection 許可**

1. 若要尋找管道的連線 ARN，請開啟管道，然後選擇來源動作上的 (**i**) 圖示。「Configuration (組態)」窗格隨即會開啟，而連線 ARN 會顯示在 **ConnectionArn** 旁邊。您可以將連線 ARN 新增至 CodeBuild 服務角色政策。

1. 若要尋找 CodeBuild 服務角色，請開啟管道中使用的建置專案，然後瀏覽至 **Build details (建置詳細資訊)** 索引標籤。

1. 在「Environment (環境)」區段中，選擇 **Service role (服務角色)** 連結。這會開啟 AWS Identity and Access Management (IAM) 主控台，您可以在其中新增授予連線存取權的新政策。

1. 在 IAM 主控台，選擇 **Attach policies (連接政策)**，然後選擇 **Create policy (建立政策)**。

   使用下列政策範本範例。在 `Resource` 欄位中新增連線 ARN，如下列範例所示。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "codestar-connections:UseConnection",
               "Resource": "arn:aws:iam::*:role/Service*"
           }
       ]
   }
   ```

------

   在 **JSON** 索引標籤上，貼上您的政策。

1. 選擇**檢閱政策**。輸入政策的名稱 (例如 **connection-permissions**)，然後選擇 **Create policy (建立政策)**。

1. 返回服務角色的 **Attach Permissions (連接許可)** 頁面，重新整理政策清單，然後選取您剛建立的政策。選擇**連接政策**。

## 主機並非處於可用狀態
<a name="troubleshooting-connections-host-pending"></a>

如果主控台顯示訊息，指出主機並非處於 `Available` 狀態，請選擇 **Set up host (設定主機)**。

建立主機的第一個步驟會導致建立的主機現在處於 `Pending` 狀態。若要讓主機變為 `Available` 狀態，您必須選擇在主控台中設定主機。如需詳細資訊，請參閱[設定待定主機](connections-host-setup.md)。

**注意**  
您無法使用 AWS CLI 來設定`Pending`主機。

## 針對發生連線錯誤的主機進行疑難排解
<a name="troubleshooting-connections-host-errors"></a>

如果刪除或修改基礎 GitHub 應用程式，連線和主機可能會變為錯誤狀態。處於錯誤狀態的主機和連線無法復原，且必須重新建立主機。
+ 更改應用程式 pem 金鑰、更改應用程式名稱 (初始建立後) 等動作，會導致主機和所有相關聯的連線進入錯誤狀態。

如果主控台或 CLI 傳回處於 `Error` 狀態的主機或與主機相關的連線，您可能需要執行下列步驟：
+ 刪除並重新建立主機資源，然後重新安裝主機註冊應用程式。如需詳細資訊，請參閱[建立主機](connections-host-create.md)。

## 我無法為主機建立連線
<a name="troubleshooting-connections-host-cannot-create"></a>

 

若要建立連線或主機，必須符合以下條件。
+ 您的主機必須處於 **AVAILABLE (可用)** 狀態。如需詳細資訊，請參閱 
+ 必須在與主機相同的區域建立連線。

## 針對主機的 VPC 組態進行疑難排解
<a name="troubleshooting-connections-host-vpc"></a>

建立主機資源時，您必須提供安裝 GitHub Enterprise Server 執行個體的基礎設施之網路連線或 VPC 資訊。若要對主機的 VPC 或子網路組態進行疑難排解，請使用此處顯示的範例 VPC 資訊做為參考。

**注意**  
使用本節內容，對 Amazon VPC 內 GitHub Enterprise Server 主機組態相關問題進行疑難排解。如需針對設為使用 VPC 的 Webhook 端點 (PrivateLink) 之連線相關問題進行疑難排解，請參閱「[針對 GitHub Enterprise Server 連線的 Webhook VPC 端點 (PrivateLink) 進行疑難排解](#troubleshooting-connections-host-vpc-webhook)」。

在此範例中，您可以使用下列程序來設定 VPC 和伺服器 (GitHub Enterprise Server 執行個體的安裝位置)：

1. 建立 VPC。如需詳細資訊，請參閱[https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)。

1. 在 VPC 中建立子網路。如需詳細資訊，請參閱[https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)。

1. 將執行個體啟動至 VPC 中。如需詳細資訊，請參閱[https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Launch_Instance](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Launch_Instance)。

**注意**  
每個 VPC 一次只能與一個主機相關聯 (GitHub 企業伺服器執行個體) 相關聯。

下圖顯示使用 GitHub Enterprise AMI 啟動的 EC2 執行個體。

![\[主控台螢幕擷取畫面顯示執行個體描述\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/instance-vpc.png)


使用 VPC 進行 GitHub Enterprise Server 連線時，您必須在設定主機時為基礎設施提供下列資訊：
+ **VPC ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之 VPC，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的 VPC。
+ **子網路 ID 或 ID：**安裝 GitHub Enterprise Server 執行個體的伺服器之子網路，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的子網路。
+ **安全群組或群組：**安裝 GitHub Enterprise Server 執行個體的伺服器之安全群組，或可透過 VPN 或 Direct Connect 存取已安裝 GitHub Enterprise Server 執行個體的安全群組。
+ **端點：**準備好您的伺服器端點，繼續執行下一個步驟。

如需使用 VPC 和子網路的詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [IPv4 的 VPC 和子網路規模調整](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**Topics**
+ [我無法讓主機進入待定狀態](#troubleshooting-connections-host-vpc-failed)
+ [我無法讓主機進入可用狀態](#troubleshooting-connections-host-vpc-app)
+ [我的連線/主機本來正常運作，現在卻停止運作](#troubleshooting-connections-host-vpc-stopped)
+ [我無法刪除網路介面](#troubleshooting-connections-host-vpc-delete)

### 我無法讓主機進入待定狀態
<a name="troubleshooting-connections-host-vpc-failed"></a>

如果您的主機進入了 VPC\$1CONFIG\$1FAILED\$1INITIALIZATION 狀態，可能是因為您為主機選取的 VPC、子網路或安全群組出現問題。
+ VPC、子網路和安全群組都必須屬於建立主機的帳戶。
+ 子網路和安全群組必須屬於選取的 VPC。
+ 提供的每個子網路都必須位於不同的可用區域中。
+ 建立主機的使用者必須具有下列 IAM 權限：

  ```
  ec2:CreateNetworkInterface
  ec2:CreateTags
  ec2:DescribeDhcpOptionsec2:DescribeNetworkInterfaces
  ec2:DescribeSubnets
  ec2:DeleteNetworkInterface
  ec2:DescribeVpcs
  ec2:CreateVpcEndpoint
  ec2:DeleteVpcEndpoints
  ec2:DescribeVpcEndpoints
  ```

### 我無法讓主機進入可用狀態
<a name="troubleshooting-connections-host-vpc-app"></a>

如果您無法完成主機的 CodeConnections 應用程式設定，可能是因為 VPC 組態或 GitHub Enterprise Server 執行個體發生問題。
+ 如果您不是使用公有憑證授權機構，則需要為 GitHub Enterprise 執行個體所使用的主機提供 TLS 憑證。TLS 憑證值應該是憑證的公有金鑰。
+ 您需為 GitHub Enterprise Server 執行個體的管理員才能建立 GitHub 應用程式。

### 我的連線/主機本來正常運作，現在卻停止運作
<a name="troubleshooting-connections-host-vpc-stopped"></a>

如果連線/主機之前正常工作，現在卻無法正常運作，可能是因為 VPC 中的組態變更或 GitHub 應用程式經過修改。請檢查以下內容：
+ 連接至您為連線所建立主機資源的安全群組現在有所變更，或無法再存取 GitHub Enterprise Server。CodeConnections 需要可連線至 GitHub Enterprise Server 執行個體的安全群組。
+ DNS 伺服器 IP 最近有所變更。檢查連接至您為連線所建立主機資源中指定的 VPC 的 DHCP 選項，即可確認是否有變更。請注意，如果您最近從 AmazonProviedDNS 移轉至自訂 DNS 伺服器，或是開始使用新的自訂 DNS 伺服器，則主機/連線會停止運作。若要解決這個問題，請刪除您現有的主機並重新建立，這麼做會將最新的 DNS 設定存放在我的資料庫中。
+ 網路 ACL 設定已變更，不再允許 HTTP 連線到您的 GitHub Enterprise Server 基礎設施所在的子網路。
+ GitHub Enterprise Server 上 CodeConnections 應用程式的任何組態都已變更。修改任何組態，例如 URLs或應用程式秘密，可能會中斷已安裝的 GitHub Enterprise Server 執行個體與 CodeConnections 之間的連線。

### 我無法刪除網路介面
<a name="troubleshooting-connections-host-vpc-delete"></a>

如果您無法偵測到您的網路介面，請檢查下列項目：
+ CodeConnections 建立的網路界面只能透過刪除主機來刪除。使用者無法手動刪除這些網路介面。
+ 您必須具備下列許可：

  ```
  ec2:DescribeNetworkInterfaces
  ec2:DeleteNetworkInterface
  ```

## 針對 GitHub Enterprise Server 連線的 Webhook VPC 端點 (PrivateLink) 進行疑難排解
<a name="troubleshooting-connections-host-vpc-webhook"></a>

使用 VPC 組態建立主機時，系統會為您建立 Webhook VPC 端點。

**注意**  
使用本節內容，針對設為使用 VPC 的 Webhook 端點 (PrivateLink) 之連線相關問題進行疑難排解。如需對 Amazon VPC 內 GitHub Enterprise Server 主機組態相關問題進行疑難排解，請參閱「[針對主機的 VPC 組態進行疑難排解](#troubleshooting-connections-host-vpc)」。

當您建立與已安裝提供者類型的連線，且您已指定伺服器是在 VPC 內設定時， AWS CodeConnections 會建立您的主機，並為您建立 Webhook 的 VPC 端點 (PrivateLink)。這可讓主機透過 Webhook 透過 Amazon 網路將事件資料傳送至您的整合 AWS 服務。如需詳細資訊，請參閱[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)。

**Topics**
+ [我無法刪除 Webhook VPC 端點](#troubleshooting-connections-host-vpc-webhook-delete)

### 我無法刪除 Webhook VPC 端點
<a name="troubleshooting-connections-host-vpc-webhook-delete"></a>

AWS CodeConnections 會管理主機的 Webhook VPC 端點生命週期。若要刪除端點，您必須刪除對應的主機資源。
+ CodeConnections 建立的 Webhook VPC 端點 (PrivateLink) 只能透過刪除主機來[刪除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)。這些端點無法手動刪除。
+ 您必須具備下列許可：

  ```
  ec2:DescribeNetworkInterfaces
  ec2:DeleteNetworkInterface
  ```

## 針對 2020 年 11 月 24 日之前建立的主機進行疑難排解
<a name="troubleshooting-connections-host-vpc-webhook-host"></a>

截至 2020 年 11 月 24 日， AWS CodeConnections 設定您的主機時，會為您設定額外的 VPC 端點 (PrivateLink) 支援。對於在此更新之前建立的主機，請使用本節疑難排解內容。

如需詳細資訊，請參閱[AWS CodeConnections 和介面 VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)。

**Topics**
+ [我有一個 2020 年 11 月 24 日之前建立的主機，而且想將 VPC 端點 (PrivateLink) 用於 Webhook](#troubleshooting-connections-host-vpc-webhook-create)
+ [我無法讓主機進入可用狀態 (VPC 錯誤)](#troubleshooting-connections-host-vpc-error-pre-webhook)

### 我有一個 2020 年 11 月 24 日之前建立的主機，而且想將 VPC 端點 (PrivateLink) 用於 Webhook
<a name="troubleshooting-connections-host-vpc-webhook-create"></a>

您為 GitHub Enterprise Server 設定主機時，系統會為您建立 Webhook 端點。連線現在使用 VPC PrivateLink Webhook 端點。如果您是在 2020 年 11 月 24 日之前建立主機，且想要使用 VPC PrivateLink Webhook 端點，您必須先[刪除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主機，然後[建立](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主機。

### 我無法讓主機進入可用狀態 (VPC 錯誤)
<a name="troubleshooting-connections-host-vpc-error-pre-webhook"></a>

如果您的主機是在 2020 年 11 月 24 日之前建立的，而且您無法完成主機的 CodeConnections 應用程式設定，可能是因為 VPC 組態或 GitHub Enterprise Server 執行個體發生問題。

您的 VPC 需要一個 NAT 閘道 (或傳出網際網路存取權)，才能讓您的 GitHub Enterprise Server 執行個體傳送 GitHub Webhook 的輸出網路流量。

## 無法為 GitHub 儲存庫建立連線
<a name="troubleshooting-connections-GitHub-admin"></a>

**問題：**

由於 GitHub 儲存庫的連線使用 AWS Connector for GitHub，因此您需要儲存庫的組織擁有者許可或管理員許可，才能建立連線。

**可能的修正方式：**如需 GitHub 儲存庫許可層級的詳細資訊，請參閱 [https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)。

## 編輯 GitHub Enterprise Server 連線應用程式許可
<a name="troubleshooting-GHES-app-permissions"></a>

如果您在 2020 年 12 月 23 日或之前安裝 GitHub Enterprise Server 的應用程式，您可能需要將應用程式的唯讀存取權提供給組織成員。如果您是 GitHub 應用程式擁有者，請依照下列步驟編輯建立主機時所安裝應用程式的許可。

**注意**  
您必須在 GitHub Enterprise Server 執行個體上完成這些步驟，而且您必須是 GitHub 應用程式擁有者。

1. 在 GitHub Enterprise Server 中，從您個人檔案照片上的下拉式選項中，選擇 **​Settings (設定)**。

1. 選擇 **Developer settings (開發人員設定)**，然後選擇 **GitHub Apps (GitHub 應用程式)**。

1. 在應用程式清單中，為連線選擇應用程式名稱，然後在設定畫面中選擇 **Permissions and events (許可與事件)**。

1. 在 **Organization permissions** (組織許可) 下，對於 **Members** (成員)，從 **Access** (存取權) 下拉式清單中選擇 **Read-only** (唯讀)。  
![\[Organization permissions interface showing Members access set to Read-only from dropdown menu.\]](http://docs.aws.amazon.com/zh_tw/dtconsole/latest/userguide/images/ghes-app-permissions.png)

1. 在 **Add a note to users (為使用者新增附註)** 底下，新增更新原因說明。選擇**儲存變更**。

## 連線至 GitHub 時發生連線錯誤：「發生問題，請確定您的瀏覽器已啟用 Cookie」或「組織擁有者必須安裝 GitHub 應用程式」
<a name="troubleshooting-GitHub-organization-owner"></a>

**問題：**

如要建立 GitHub 儲存庫的連線，您必須是 GitHub 組織擁有者。對於不在組織下的儲存庫，您必須是儲存庫擁有者。由組織擁有者以外的其他人員建立連線時，會針對組織擁有者建立請求，並顯示下列其中一個錯誤：

發生問題，請確保您的瀏覽器已啟用 cookie

或

組織擁有者必須安裝 GitHub 應用程式

**可能修正：**對於 GitHub 組織中的儲存庫，組織擁有者必須建立與 GitHub 儲存庫的連線。對於不在組織下的儲存庫，您必須是儲存庫擁有者。

## 資源中的連線服務字首可能需要更新 IAM 政策
<a name="troubleshoot-service-prefix"></a>

服務已於 2024 年 3 月 29 日從 AWS CodeStar Connections 重新命名為 AWS CodeConnections。從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。使用主控台建立之資源的服務字首為 `codeconnections`。在資源 ARN `codeconnections`中使用 建立新的 SDK/CLI 資源。建立的資源會自動具有新的服務字首。

以下是在 AWS CodeConnections 中建立的資源：
+ 連線
+ 主機

**問題：**

在 ARN `codestar-connections`中使用 建立的資源不會自動重新命名為資源 ARN 中的新服務字首。建立新資源會建立具有連線服務字首的資源。不過，具有`codestar-connections`服務字首的 IAM 政策不適用於具有新服務字首的資源。

**可能的修正：**為了避免資源的存取或許可問題，請完成下列動作：
+ 更新新服務字首的 IAM 政策。否則，重新命名或建立的資源將無法使用 IAM 政策。
+ 使用主控台或 CLI/CDK/CFN 建立新服務字首，以更新資源。

視需要更新政策中的動作、資源和條件。在下列範例中，這兩個服務字首的 `Resource` 欄位已更新。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "codeconnections:UseConnection"
        ],
        "Resource": [
            "arn:aws:codestar-connections:*:*:connection/*",
            "arn:aws:codeconnections:*:*:connection/*"
        ]
    }
}
```

------

## 使用主控台建立之資源中的服務字首導致許可錯誤
<a name="troubleshoot-service-prefix-console-permissions"></a>

目前，使用主控台建立的連線資源只會有 `codestar-connections`服務字首。對於使用主控台建立的資源，政策陳述式動作必須包含 `codestar-connections`做為服務字首。

**注意**  
從 2024 年 7 月 1 日開始，主控台會在資源 ARN `codeconnections`中建立與 的連線。具有兩個服務字首的資源將繼續顯示在主控台中。

**問題：**

使用 主控台建立連線資源時，必須在政策中使用 `codestar-connections`服務字首。在政策中使用具有`codeconnections`服務字首的政策時，使用主控台建立的連線資源會收到下列錯誤訊息：

```
User: user_ARN is not authorized to perform: codestar-connections:action on resource: resource_ARN because no identity-based policy allows the codestar-connections:action action
```

**可能的修正：**對於使用主控台建立的資源，政策陳述式動作必須包含 `codestar-connections`做為服務字首，如 中的政策範例所示[範例： AWS CodeConnections 使用主控台建立 的政策](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-console)。

## 支援組織的已安裝供應商的連線和主機設定
<a name="troubleshooting-organization-host"></a>

對於支援組織，例如 GitHub Organizations 的已安裝供應商，您不會傳遞可用的主機。您可以為組織中的每個連線建立新的主機，並務必在下列網路欄位中輸入相同的資訊：
+ **VPC ID**
+ **子網路 ID**
+ **安全群組 IDs**

請參閱建立 [GHES 連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gheserver.html)或 [GitLab 自我管理連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab-managed.html)的相關步驟。

## 我想提高連線的限額
<a name="troubleshooting-connections-limit-increase"></a>

您可以在 CodeConnections 中請求提高特定限制的限制。如需詳細資訊，請參閱[連線的配額](limits-connections.md)。

# 連線的配額
<a name="limits-connections"></a>

下表列出開發人員工具主控台中連線的配額 (也稱為*限額*)。

此資料表中的配額適用於每個 AWS 區域 ，並且可以增加。若要取得 AWS 區域 資訊和可變更的配額，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。

**注意**  
您必須啟用歐洲 （米蘭）， AWS 區域 才能使用它。如需詳細資訊，請參閱[啟用區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。


| 資源 | 預設值限制 | 
| --- | --- | 
|  每個 的連線數上限 AWS 帳戶  |  250  | 

此表中的配額是固定的，而且無法變更。


| 資源 | 預設值限制 | 
| --- | --- | 
|  連線名稱字元上限  | 32 個字元 | 
|  每個 的主機數量上限 AWS 帳戶  | 50 | 
| 儲存庫連結的數目上限 | 100 | 
|  CloudFormation 堆疊同步組態的數目上限 | 100 | 
| 每個儲存庫連結的同步組態數目上限 | 100 | 
| 每個分支的同步組態數目上限 | 50 | 

# 要新增至允許清單的 IP 地址
<a name="connections-ip-address"></a>

如果您在 Amazon EC2 執行個體上實作 IP 篩選或允許特定 IP 地址，請將以下 IP 地址新增到允許清單中。這樣做就可以連線到提供者，例如 GitHub 和 Bitbucket。

下表按  AWS 區域 列出在開發人員工具主控台中連線的 IP 地址。

**注意**  
對於歐洲 (米蘭) 區域，您必須先啟用此區域，才能加以使用。如需詳細資訊，請參閱[啟用區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。


| 區域 | IP 地址 | 
| --- | --- | 
|  美國西部 (奧勒岡) (us-west-2)  |  35.160.210.199、54.71.206.108、54.71.36.205  | 
| 美國東部 (維吉尼亞北部) (us-east-1) |  3.216.216.90、3.216.243.220、3.217.241.85  | 
| 歐洲 (愛爾蘭) (eu-west-1) |  34.242.64.82、52.18.37.201、54.77.75.62  | 
| 美國東部 (俄亥俄) (us-east-2)  |  18.217.188.190、18.218.158.91、18.220.4.80  | 
| 亞太區域 (新加坡) (ap-southeast-1)  |  18.138.171.151、18.139.22.70、3.1.157.176  | 
| 亞太區域 (雪梨) (ap-southeast-2)  |  13.236.59.253、52.64.166.86、54.206.1.112  | 
| 亞太區域 (東京) (ap-northeast-1)  |  52.196.132.231、54.95.133.227、18.181.13.91  | 
| 歐洲 (法蘭克福) (eu-central-1)  |  18.196.145.1640、3.121.252.59、52.59.104.195  | 
| 亞太區域 (首爾) (ap-northeast-2)  |  13.125.8.239、13.209.223.177、3.37.200.23  | 
| 亞太區域 (孟買) (ap-south-1)  |  13.234.199.1520、13.235.29.220、35.00 154.230.124 13.00、13.00 和 35.00、200 13.0、200   | 
| 南美洲 (聖保羅) (sa-east-1)  |  18.229.77.260、54.233.226.520、54.00 233.207.69 18.00、18.00 和 18.00、200、200、2000   | 
| 加拿大 (中部) (ca-central-1)  |  15.222.219.210、35.182.166.138、99.79.111.198  | 
| 歐洲 (倫敦) (eu-west-2)  |  3.9.97.205、35.177.150.185、35.177.200.225  | 
| 美國西部 (加利佛尼亞北部) (us-west-1)  |  52.52.16.175、52.8.63.87  | 
| 歐洲 (巴黎) (eu-west-3)  |  35.181.127.138、35.181.145.22、35.181.20.200  | 
| 歐洲 (斯德哥爾摩) (eu-north-1) |  13.48.66.148、13.48.8.79、13.53.78.182  | 
| 歐洲 (米蘭) (eu-south-1) |  18.102.28.105、18.102.35.130、18.102.8.116  | 
| AWS GovCloud （美國東部） | 18.252.168.1570、18.252.207.77、18.00、18.253.185.119 | 