

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

# Amazon EventBridge 中 API 目標的連線
<a name="eb-target-connection"></a>

若要啟用事件匯流排和管道以自訂資源為目標，例如 HTTPS APIs，您可以建立連線。*連線*定義 EventBridge 用於連線至指定資源的授權方法和登入資料。如果您要連線到私有 API，例如 Amazon Virtual Private Cloud (Amazon VPC) 中的私有 API，您也可以使用連線來定義安全的point-to-point網路連線。

您可以建立目標的連線：
+ 公APIs，例如第三方 SaaS 應用程式。
+ 私有 APIs，例如位於 Amazon VPC 或內部部署中的自訂資源。

  EventBridge 會使用在 Amazon VPC Lattice 中建立*的資源組態*，建立與私有 HTTPS 端點的連線。資源組態是一種邏輯物件，可識別資源，並指定誰可以存取它及其方式。

搭配以下項目使用連線：
+ EventBridge 中的 API 目的地

  當您建立 API 目的地時，您可以指定要用於該目的地的連線。您可以從您的帳戶選擇現有的連線，或在建立 API 目的地時建立連線。

  如需詳細資訊，請參閱[API 目的地](eb-api-destinations.md)。
+ 中的 HTTP 端點任務 AWS Step Functions

  HTTP 端點任務是一種任務工作流程狀態，可讓您在工作流程中呼叫 HTTPS APIs。這些 APIs可以是公有的，例如 Salesforce 和 Stripe，或位於 Amazon VPC 或內部部署的私有 APIs。任務使用連線來指定授權類型和登入資料，以用於授權 API。對於私有 APIs，連線也會定義 API 的網路路徑。

  如需詳細資訊，請參閱《[Step Functions 使用者指南》中的 Step Functions 工作流程中的呼叫 HTTPS APIs](https://docs.aws.amazon.com/step-functions/latest/dg/connect-third-party-apis.html)。 **

![\[EventBridge 和 Step Functions 使用連線做為 HTTPS 端點的授權和網路連線組態。\]](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/images/connections-overview_eventbridge_conceptual.svg)


連線可重複使用。您可以針對多個 EventBridge API 目的地或 Step Functions 任務使用相同的 API 連線，只要身分驗證方法相同即可。如果 API 目的地或任務需要不同的身分驗證，則必須建立個別的連線。

## 在 中存放連線授權參數 AWS Secrets Manager
<a name="connection-secrets"></a>

當您設定授權設定並建立連線時，它會在 中建立秘密 AWS Secrets Manager ，以安全地存放授權資訊。您也可以根據 HTTPS 端點目標，新增要包含在連線中的其他參數。

EventBridge 連線支援下列身分驗證方法：基本、OAuth 和 API 金鑰。如需詳細資訊，請參閱[連線授權方法](eb-target-connection-auth.md)。

雖然依預設EventBridge 會使用 AWS 擁有的金鑰 來加密和解密連線秘密，但您可以指定客戶受管金鑰，讓 EventBridge 改為使用。如需詳細資訊，請參閱[加密連線](encryption-connections.md)。

# 連線至 EventBridge 中的私有 APIs
<a name="connection-private"></a>

您可以建立私有 HTTPS 端點的連線，以提供對 VPCs 或內部部署中資源的安全point-to-point網路存取，而不必周遊公有網際網路。例如，您可以建立連線來存取 Amazon Elastic Load Balancer 後方的 HTTPS 應用程式。

EventBridge 會使用在 VPC Lattice 中建立*的資源組態*，建立與私有 HTTPS 端點的連線。資源組態是邏輯物件，可識別資源並指定存取資源的方式和人員。若要在 EventBridge 中建立私有 API 的連線，您可以指定私有 API 的資源組態。如需詳細資訊，請參閱《*Amazon* [ VPC Lattice 使用者指南》中的 VPC Lattice 中的資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/resource-configuration.html)。

然後EventBridge 會建立*資源關聯*，讓 EventBridge 能夠存取私有 API。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[管理資源關聯](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-resource-config-associations)。

當 EventBridge 管理資源關聯時，它會使用您的登入資料建立關聯，因此您可以保留資源關聯操作的可見性。

![\[EventBridge 和 Step Functions 使用連線做為 HTTPS 端點的授權組態。\]](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/images/connections-private-destination_eventbridge_conceptual.svg)


您可以建立連線來存取其他 AWS 帳戶中APIs。如需詳細資訊，請參閱[跨帳戶私有 APIs](connection-private-cross-region.md)。

# 連線至其他 AWS 帳戶中APIs
<a name="connection-private-cross-region"></a>

EventBridge 支援在相同區域中跨帳戶連線至私有 APIs。

若要在其他 AWS 帳戶中建立與私有 API 的連線，該帳戶的擁有者必須先與您共用該私有 API 的 VPC Lattice 資源組態。若要這樣做，他們會與您共用資源 in AWS Resource Access Manager. AWS RAM enables 安全共用跨 AWS 帳戶、組織單位 (OUs) 內的資源，並與 AWS Identity and Access Management 角色和使用者整合。在 中接受資源共享後 AWS RAM ，您可以在建立連線時指定共用 VPC Lattice 資源組態。

如需詳細資訊 AWS RAM，請參閱*AWS Resource Access Manager 《 使用者指南*》中的下列主題：
+ [的優勢 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html#what-is-features)
+ [資源共用的運作方式](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html#what-is-how)
+ [存取與您共享的 AWS 資源](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html)

EventBridge 不支援跨區域的私有 API 連線。不過，若要以與事件匯流排位於不同區域的私有 API 為目標：，您可以：

1. 定義事件匯流排規則，以與所需私有 API 位於相同區域中的第二個事件匯流排為目標。

1. 建立第二個事件匯流排的連線以鎖定私有 API。

如需詳細資訊，請參閱[在 Amazon EventBridge 中的 AWS 區域之間傳送和接收事件](eb-cross-region.md)。

## 連線至私有 APIs許可
<a name="connection-private-permissions"></a>

下列政策範例包含建立私有 API 連線所需的最低許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "vpc-lattice:CreateServiceNetworkResourceAssociation",
                "vpc-lattice:GetResourceConfiguration",
                "vpc-lattice:AssociateViaAWSService-EventsAndStates",
                "events:CreateConnection"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

下列政策範例包含更新私有 API 連線所需的最低許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "vpc-lattice:CreateServiceNetworkResourceAssociation",
                "vpc-lattice:GetResourceConfiguration",               
                "vpc-lattice:AssociateViaAWSService-EventsAndStates",
                "events:UpdateConnection"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## 監控私有 APIs連線的建立
<a name="connection-private-monitoring-create"></a>

當您建立私有 API 的連線時，會產生下列日誌：

在建立連線的帳戶中， AWS CloudTrail 會記錄`CreateServiceNetworkResourceAssociation`事件。

在此日誌中， `sourceIPAddress`、 `userAgent`和 `serviceNetworkIdentifier` 會設定為 EventBridge 服務主體 `events.amazonaws.com`。

```
{
  "eventTime": "2024-11-21T00:00:00Z",
  "eventSource": "vpc-lattice.amazonaws.com",
  "eventName": "CreateServiceNetworkResourceAssociation",
  "awsRegion": "region",
  "sourceIPAddress": "events.amazonaws.com", 
  "userAgent": "events.amazonaws.com",
  "requestParameters": {
    "x-amzn-vpc-lattice-association-source-arn": "***",
    "x-amzn-vpc-lattice-service-network-identifier": "***",
    "clientToken": "token",
    "serviceNetworkIdentifier": "events.amazonaws.com",
    "resourceConfigurationIdentifier": "arn:partition:vpc-lattice:region:account-id:resourceconfiguration/resource-configuration-id",
    "tags": {
        "ManagedByServiceAWSEventBridge": "account-id:connection-name"
    }
}
```

在包含私有 API 的帳戶中， 會 AWS CloudTrail 記錄`CreateServiceNetworkResourceAssociationBySharee`事件。

此日誌包含：
+ `callerAccountId`：建立連線 AWS 的帳戶
+ `accountId`：包含私有 API AWS 的帳戶。
+ `resource-configuration-arn`：私有 API 的 VPC Lattice 資源組態。

```
{
  "eventTime": "2024-11-21T06:31:42Z",
  "eventSource": "vpc-lattice.amazonaws.com",
  "eventName": "CreateServiceNetworkResourceAssociationBySharee",
  "awsRegion": "region",
  "sourceIPAddress": "vpc-lattice.amazonaws.com",
  "userAgent": "user-agent",
  "additionalEventData": {
      "callerAccountId": "consumer-account-id"
  },
  "resources": [
      {
          "accountId": "provider-account-id",
          "type": "AWS::VpcLattice::ServiceNetworkResourceAssociation",
          "ARN": "resource-configuration-arn"
      }
  ]
}
```

在與私有 APIs的跨帳戶連線的情況下，包含連線的帳戶將不會收到呼叫私有 API 的 AWS CloudTrail 或 VPC Lattice 日誌。

## 管理連線的服務網路資源關聯
<a name="connection-private-snra"></a>

當您為要連線的私有 API 指定 VPC Lattice 資源組態時，EventBridge 會透過在 VPC Lattice 資源組態與 EventBridge 服務擁有的 VPC Lattice 服務網路之間建立資源關聯來啟用連線。當 EventBridge 管理資源關聯時，它會使用您的登入資料建立關聯，因此您可以保留資源關聯的可見性。這表示您可以列出和描述資源關聯。

使用 [describe-connection](https://docs.aws.amazon.com/cli/latest/reference/events/describe-connection.html) 傳回包含資源組態和資源關聯的 Amazon Resource Name (ARNs) 的連線描述。

您無法刪除 EventBridge 建立的資源關聯。如果您刪除連線，EventBridge 會刪除任何對應的資源關聯。

如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[管理資源關聯](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-resource-config-associations)。

## 連線至內部部署私有 APIs
<a name="connection-private-on-prem"></a>

使用透過 AWS PrivateLink 和 VPC Lattice 存取 VPC 資源，您可以連線到內部部署私有 APIs。若要這麼做，您必須設定 VPC 與內部部署環境之間的網路路由。例如，您可以使用 [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)或 [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 來建立此類路由。

# EventBridge 中跨帳戶連線的供應商考量事項
<a name="connection-private-rc-provider"></a>

若要建立與另一個 AWS 帳戶中私有 API 的連線，該帳戶的擁有者必須與您共用私有 API 的 VPC Lattice 資源組態。資源組態是一種邏輯物件，可識別 API，並指定存取 API 的方式和人員。*提供者*帳戶 - 也就是與另一個帳戶共用私有 API VPC Lattice 資源組態的帳戶 - 會使用 共用 VPC Lattice 資源組態 AWS RAM。

如果您的帳戶是 VPC Lattice 資源組態的供應商，請謹記下列考量事項：

## 跨帳戶私有 APIs 資源組態的資源政策
<a name="connection-private-rc-provider-policy"></a>

根據預設，建立 AWS RAM 資源共享包含必要的共享政策 `AWSRAMPermissionVpcLatticeResourceConfiguration`。如果您建立客戶受管許可政策，則必須包含必要的許可。

下列政策範例提供 EventBridge 建立連線至私有 API 所需的資源關聯所需的最低必要許可。
+ `vpc-lattice:GetResourceConfiguration` 允許 EventBridge 擷取您指定的 Amazon VPC Lattice 資源組態。
+ `vpc-lattice:CreateServiceNetworkResourceAssociation` 允許 EventBridge 從您指定的 VPC Lattice 資源組態建立資源關聯。
+ `vpc-lattice:AssociateViaAWSService-EventsAndStates` 允許 EventBridge 建立與服務所擁有 VPC Lattice 服務網路的資源關聯。

```
{
    "Effect": "Allow",
    "Action": [
      "vpc-lattice:CreateServiceNetworkResourceAssociation", 
      "vpc-lattice:GetResourceConfiguration", 
      "vpc-lattice:AssociateViaAWSService-EventsAndStates"
      ]
}
```

如需詳細資訊，請參閱*AWS Resource Access Manager 《 使用者指南*》中的[在 中管理許可 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/security-ram-permissions.html)。

## 連線建立的供應商監控
<a name="connection-private-provider-monitor"></a>

當另一個帳戶使用您已共用的 VPC Lattice 資源組態建立 EventBridge 連線時， 會 AWS CloudTrail 記錄`CreateServiceNetworkResourceAssociationBySharee`事件。如需詳細資訊，請參閱[監控連線建立](connection-private.md#connection-private-monitoring-create)。

## 設定安全群組以存取私有 APIs
<a name="connection-private-provider-security"></a>

使用 VPC Lattice，您可以建立和指派安全群組，以強制執行目標 API 和資源閘道的其他網路層級安全保護。為了讓 EventBridge 和 Step Functions 成功存取您的私有 API，目標 API 和資源閘道上的安全群組必須正確設定。如果未正確設定，服務會在嘗試呼叫 API 時傳回「連線逾時」錯誤。

針對您的目標 API，您的安全群組必須設定為允許來自資源閘道安全群組之連接埠 443 上的所有傳入 TCP 流量。

針對您的資源閘道，您的安全群組必須設定為允許下列項目：
+ 從 ：：/0 IPv6 CIDR 範圍跨所有連接埠的所有傳入 IPv6 TCP 流量。
+ 從 0.0.0.0/0 IPv6 CIDR 範圍跨所有連接埠的所有傳入 IPv4 TCP 流量。 IPv6 
+ 對於目標 API 接受的 IP 通訊協定 (IPv4 或 IPv6)，連接埠 443 上所有傳出 TCP 流量都會傳送到目標資源所使用的安全群組。

如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的下列主題：
+ [使用安全群組控制 VPC Lattice 中的流量](https://docs.aws.amazon.com/vpc-lattice/latest/ug/security-groups.html)
+ [VPC Lattice 中的資源閘道](https://docs.aws.amazon.com/vpc-lattice/latest/ug/resource-gateway.html)

# 建立私有 APIs連線
<a name="connection-private-create"></a>

下列步驟會逐步引導您建立私有 API 的連線。如需包含所有連線組態選項的詳細說明，包括建立公有 APIs連線，請參閱 [建立連線](eb-target-connection-create.md)。

## 定義連線
<a name="connection-private-create-define"></a>

下列步驟會逐步引導您建立私有 API 端點的連線。如需建立公有 APIs連線的說明，請參閱 [建立連線](eb-target-connection-create.md)。

1. 開啟 [EventBridge 主控台](https://console.aws.amazon.com/events)。

1. 在左側導覽窗格中的**整合**下，選擇**連線**。

1. 選擇**建立連線**。

1. 在**建立連線**頁面上，輸入**連線名稱**和**描述**。

## 設定調用端點
<a name="connection-private-create-invocation"></a>

接著，使用**設定調**用區段來指定您希望連線調用的 HTTPS 端點。

1. 針對 **API 類型**，選擇**私有**。

1. 指定用於連線的 Amazon VPC Lattice 資源組態。

   在**私有 API** 下：
   + 若要使用現有的 VPC Lattice 資源組態，請從下拉式功能表中選擇資源組態。
   + 若要建立新的 VPC Lattice 資源組態，請選擇**新增資源組態**。

     系統會將您導向至 Amazon VPC Lattice； 服務主控台，您可以在其中建立新的組態。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[建立資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/create-resource-configuration.html)。

## 設定端點授權
<a name="connection-private-create-auth"></a>

最後，指定用於存取端點的授權設定。

EventBridge 支援基本、OAuth 用戶端憑證和 API 金鑰身分驗證方法。

1. 在**設定授權**下，選擇**自訂組態**。

1. 針對**授權類型**，選取要使用的連線授權方法。

1. 指定您選擇的授權方法的授權組態詳細資訊：
   + **基本**

     輸入****用於授權 HTTPS 端點的**使用者名稱和密碼**。
   + **OAuth 用戶端登入資料**

     1. 針對 **OAuth 授權端點**，選擇用於連線授權的端點是公有或私有 (VPC) 端點。

        如果您選擇**私有**，請指定**私有 OAuth 端點資源組態**：
        + 若要使用現有的 VPC Lattice 資源組態，請從下拉式功能表中選擇資源組態。
        + 若要建立新的 VPC Lattice 資源組態，請選擇**新增資源組態**。

          系統會將您導向至 Amazon VPC Lattice 服務主控台，您可以在其中建立新的組態。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[建立資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/create-resource-configuration.html)。

     1. 指定下列授權資訊：
        + 授權端點
        + HTTPS 方法
        + 用戶端 ID
        + Client secret (用戶端密碼)

     1. 在 **OAuth HTTP 參數**下，新增要包含在授權端點中授權的任何其他參數。

        若要這麼做：
        + 從下拉式清單中選取**參數**。
        + 輸入**Key** (索引鍵) 和 **Value** (值)。

        若要包括其他參數，請選擇**新增參數**。
   + **API 金鑰**

     輸入 **API 金鑰名稱**和要用於 API 金鑰授權的相關聯**值**。

1. 在**調用 Http 參數**下，新增要包含在授權請求中的任何其他參數。

   若要新增參數：

   1. 從下拉式清單中選取**參數** 

   1. 輸入**金鑰**和**值**

   若要包括其他參數，請選擇**新增參數**。

1. 選擇**建立連線**。
**注意**  
對於私有端點的連線，EventBridge 會在建立連線時建立必要的資源關聯。這最多可能需要 90 秒。

# EventBridge 中連線的授權方法
<a name="eb-target-connection-auth"></a>

EventBridge 連線支援下列授權方法：
+ 基本
+ API 金鑰

  針對基本和 API 金鑰授權，EventBridge 會為您填入必要的授權標頭。
+ OAuth

  針對 OAuth 授權，EventBridge 還會將您的客戶端 ID 和機密交換為訪問權杖，然後安全地對其進行管理。

  當您建立使用 OAuth 授權的連線時，您可以選擇指定公有或私有授權端點。

## 使用 OAuth 時的考量事項
<a name="eb-target-connection-auth-oauth"></a>

使用 OAuth 做為連線的授權方法時，請注意下列事項：
+ EventBridge 重新整理 OAuth 權杖：
  + 傳回 `401`或 `407`回應時。
  + 在 HTTPS 調用期間，如果字符在 60 秒內過期，則主動進行。只有在 EventBridge 處理 API 目的地的事件時，才會發生此重新整理，這不是背景程序。如果在此時段內沒有事件到達，下一個事件會觸發同步權杖重新整理，這可能會增加調用延遲，或在連線重新授權時導致調用失敗。
+ 您可以使用 [連線事件](event-reference.md#event-reference-connections) 在連線變更狀態時收到通知，例如取消授權。
+ 對於使用需要 OAuth 的連線的規則，我們建議您將重試政策設定為大於 0。如此一來，如果 OAuth 權杖已過期，EventBridge 會在重試調用時重新整理權杖。

  如需為規則設定重試政策的詳細資訊，請參閱 [選取目標](eb-create-rule-wizard.md#eb-create-rule-target)。

## 連線授權的考量事項
<a name="eb-target-connection-auth-considerations"></a>

建立連線時，您也可以包含端點授權所需的標頭、主體和查詢參數。如果端點的授權相同，您可以對多個 HTTPS 端點使用相同的連線。

當您建立連線並新增授權參數時，EventBridge 會在 AWS Secrets Manager中建立機密。存儲和存取機密管理員機密的成本包含在使用 API 目的地的費用中。

如需有關如何在更新連線以解決授權或連線問題後讓 EventBridge 重新授權連線的資訊，請參閱 [更新連線](eb-target-connection-edit.md)。

**注意**  
若要成功建立或更新連線，您必須使用具有使用 Secrets Manager 許可的帳號。所需的許可包含在 [AWS 受管政策：AmazonEventBridgeFullAccess](eb-use-identity-based.md#eb-full-access-policy) 中。針對在您的帳戶中為連線建立的[服務連結角色](eb-api-destinations.md#eb-api-destination-slr)，也會授予相同的許可。

如需如何建立以身分驗證佈建 EventBridge 連線的 CloudFormation 範本範例，請參閱 *CloudFormation 使用者指南*中的 [AWS::Events::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)。

# EventBridge 中的連線狀態
<a name="eb-target-connection-states"></a>

以下是 EventBridge 在建立或重新授權連線時傳回的連線狀態。

為了成功連線至公APIs，EventBridge 會傳回 的狀態`AUTHORIZED`。為了成功連線至私有 APIs，EventBridge 會傳回 的狀態`ACTIVE`。

*連線失敗*是指涉及連線網路連線的錯誤。連線錯誤會導致連線狀態為 `FAILED_CONNECTIVITY`。*授權失敗*是指涉及為連線指定許可的錯誤。授權失敗會導致 狀態為 `DEAUTHORIZED`。

如需有關更新連線以解決授權或連線問題後如何讓 EventBridge 重新授權連線的資訊，請參閱 [更新連線](eb-target-connection-edit.md)。

EventBridge 會在連線狀態變更時發出事件。如需詳細資訊，請參閱[連線事件](event-reference.md#event-reference-connections)。

**公APIs**


| 授權方法 | 成功 | 連線失敗 | 授權失敗 | 
| --- | --- | --- | --- | 
|  基本或 API 金鑰  |  `AUTHORIZED`  |  N/A  |  `DEAUTHORIZED`  | 
|  OAuth （公有端點）  |  `AUTHORIZED`  |  N/A  |  `DEAUTHORIZED`  | 
|  OAuth （私有端點）  |  `AUTHORIZED`  |  `FAILED_CONNECTIVITY`  |  `DEAUTHORIZED`  | 

**私有 APIs**


| 授權方法 | 成功 | 連線失敗 | 授權失敗 | 
| --- | --- | --- | --- | 
|  基本或 API 金鑰  |  `ACTIVE`  |  `FAILED_CONNECTIVITY`  |  `DEAUTHORIZED`  | 
|  OAuth （公有端點）  |  `ACTIVE`  |  `FAILED_CONNECTIVITY`  |  `DEAUTHORIZED`  | 
|  OAuth （私有端點）  |  `ACTIVE`  |  `FAILED_CONNECTIVITY`  |  `DEAUTHORIZED`  | 

當您建立與私有 API 的連線時，從成功建立連線到成功對私有 API 進行 HTTPS 呼叫，可能會有最多幾分鐘的延遲。在此期間：
+ Private OAuth 連線將處於 `AUTHORIZING` 狀態，並在 OAuth 權杖交換成功完成`AUTHORIZED`時轉換為 。
+ 連線將更新為 `ACTIVE` 狀態，EventBridge 將重試來自事件匯流排或管道的任何調用。

如果您在 Step Functions 工作流程的 HTTP 任務中使用連線，您可以設定 上的重試`httpTimeoutExceptions`，以重試在此期間對私有 API 的任何呼叫。

# 在 EventBridge 中建立 API 目標的連線
<a name="eb-target-connection-create"></a>

下列步驟會逐步引導您如何建立與 HTTPS 端點的連線。

**Topics**
+ [定義連線](#eb-target-connection-create-define)
+ [設定調用端點](#eb-target-connection-create-invocation)
+ [設定端點授權](#eb-target-connection-create-auth)
+ [設定加密](#eb-target-connection-create-cmkms)

## 定義連線
<a name="eb-target-connection-create-define"></a>

1. 開啟 [EventBridge 主控台](https://console.aws.amazon.com/events)。

1. 在左側導覽窗格的**整合**下，選擇**連線**。

1. 選擇**建立連線**。

1. 在**建立連線**頁面上，輸入**連線名稱**和**描述**。

## 設定調用端點
<a name="eb-target-connection-create-invocation"></a>

接著，使用**設定調**用區段來指定您希望連線調用的 API 類型。EventBridge 連線支援公有和私有 APIs。
+ 針對 **API 類型**，選擇端點是公有還是私有 API。

  如果您選擇私有 API，請指定要用來連線到它的 VPC Lattice 資源組態。

  在**私有 API** 下：
  + 若要使用現有的 VPC Lattice 資源組態，請從下拉式功能表中選擇資源組態。
  + 若要建立新的 VPC Lattice 資源組態，請選擇**新資源組態**。

    系統會將您導向至 Amazon VPC Lattice 服務主控台，您可以在其中建立新的組態。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[建立資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/create-resource-configuration.html)。

## 設定端點授權
<a name="eb-target-connection-create-auth"></a>

接著，指定用來存取端點的授權設定。

EventBridge 支援基本、OAuth 用戶端登入資料和 API 金鑰身分驗證方法。

1. 針對**設定授權**，選擇您要連線的端點類型。

------
#### [ Custom endpoint ]

   如果連線是連線到合作夥伴端點以外的端點，請選擇**自訂組態**。

   1. 針對**授權類型**，選取要使用的連線授權方法。

   1. 指定您選擇的授權方法的授權組態詳細資訊：
      + **基本**

        輸入****用於授權 HTTPS 端點的**使用者名稱和密碼**。
      + **OAuth 用戶端登入資料**

        1. 針對 **OAuth 授權端點**，選擇用於連線授權的端點是公有或私有端點。

           如果您選擇**私有**，請指定**私有 OAuth 端點資源組態**：
           + 若要使用現有的資源組態，請從下拉式功能表中選擇資源組態。
           + 若要建立新的資源組態，請選擇**新增資源組態**。

             系統會將您導向至 Amazon VPC Lattice； 服務主控台，您可以在其中建立新的組態。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[建立資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/create-resource-configuration.html)。

        1. 指定下列授權資訊：
           + 授權端點
           + HTTP 方法
           + 用戶端 ID
           + Client secret (用戶端密碼)

        1. 在 **OAuth HTTP 參數**下，新增要包含以授權端點授權的任何其他參數。

           若要這麼做：
           + 從下拉式清單中選取**參數**。
           + 輸入**Key** (索引鍵) 和 **Value** (值)。

           若要包括其他參數，請選擇**新增參數**。
      + **API 金鑰**

        輸入 **API 金鑰名稱**和要用於 API 金鑰授權的相關聯**值**。

------
#### [ Partner endpoint ]

   如果連線是連線至合作夥伴端點，請選擇**使用合作夥伴範本**。如需可用合作夥伴端點的清單，請參閱 [API 目的地合作夥伴](eb-api-destination-partners.md)。

   1. 在**合作夥伴目的地**中，選取要連線的合作夥伴。

      在**授權類型**下，EventBridge 會啟用合作夥伴可用的授權方法。

   1. 針對**授權類型**，選取要使用的連線授權方法。

   1. 指定您選擇的授權方法的授權組態詳細資訊：
      + **基本**

        輸入****用於授權 HTTP 端點的**使用者名稱和密碼**。
      + **OAuth 用戶端登入資料**

        1. 針對 **OAuth 授權端點**，選擇用於連線授權的端點是公有或私有 (VPC) 端點。

           如果您選擇**私有**，請指定**私有 OAuth 端點資源組態**：
           + 若要使用現有的 VPC Lattice 資源組態，請從下拉式功能表中選擇資源組態。
           + 若要建立新的 VPC Lattice 資源組態，請選擇**新增資源組態**。

             系統會將您導向至 Amazon VPC Lattice 服務主控台，您可以在其中建立新的組態。如需詳細資訊，請參閱《*Amazon VPC Lattice 使用者指南*》中的[建立資源組態](https://docs.aws.amazon.com/vpc-lattice/latest/ug/create-resource-configuration.html)。

        1. 指定下列授權資訊：
           + 授權端點
           + HTTPS 方法
           + 用戶端 ID
           + Client secret (用戶端密碼)

        1. 在 **OAuth HTTP 參數**下，新增要包含以授權端點授權的任何其他參數。

           若要這麼做：
           + 從下拉式清單中選取**參數**。
           + 輸入**Key** (索引鍵) 和 **Value** (值)。

           若要包括其他參數，請選擇**新增參數**。
      + **API 金鑰**

        輸入 **API 金鑰名稱**和要用於 API 金鑰授權的相關聯**值**。

------

1. 在**調用 Http 參數**下，新增要包含在授權請求中的任何其他參數。

   若要新增參數：

   1. 從下拉式清單中選取**參數** 

   1. 輸入**索引鍵**和**值**

   若要包括其他參數，請選擇**新增參數**。

## 設定加密
<a name="eb-target-connection-create-cmkms"></a>

最後，指定您希望 EventBridge 在加密和解密儲存為秘密的授權參數時使用的 KMS 金鑰類型 AWS Secrets Manager。根據預設，EventBridge 會使用 AWS 擁有的金鑰。

如需詳細資訊，請參閱[加密連線](encryption-connections.md)。

1. 選擇加密連線秘密時 EventBridge 要使用的 KMS key 。
   + 選擇**使用 AWS 擁有的金鑰** EventBridge 以使用 加密秘密 AWS 擁有的金鑰。

      AWS 擁有的金鑰 這是 KMS key EventBridge 擁有和管理以在多個 AWS 帳戶中使用的 。一般而言，除非您需要稽核或控制保護資源的加密金鑰，否則 AWS 擁有的金鑰 是不錯的選擇。

     這是預設值。
   + 選擇**使用 客戶受管金鑰** EventBridge 以使用您指定或建立 客戶受管金鑰 的 來加密秘密。

     客戶受管金鑰 KMS keys 位於您建立、擁有和管理的 AWS 帳戶中。您可以完全控制這些項目 KMS keys。

     1. 指定現有的 客戶受管金鑰，或選擇**建立新的 KMS key** 。

       EventBridge 會顯示金鑰狀態，以及與指定 相關聯的任何金鑰別名 客戶受管金鑰。

1. 選擇**建立連線**。
**注意**  
對於私有端點的連線，EventBridge 會在建立連線時建立必要的資源關聯。這最多可能需要 90 秒的時間。

# 在 EventBridge 中更新連線
<a name="eb-target-connection-edit"></a>

您可以更新現有的連線。

## 更新連線的身分驗證
<a name="eb-target-connection-edit-auth"></a>

當您更新特定身分驗證參數時，EventBridge 會重新授權並驗證連線的網路連線。

使用不同授權類型的授權參數更新連線，而不更新授權類型本身，則不會有任何影響。

**當 EventBridge 重新驗證公有 APIs連線時**

對於公有 APIs連線，如果您有下列情況，EventBridge 會重新授權連線：
+ 更新連線以改為叫用私有 API。
+ 更新連線授權方法*和*授權參數。

**當 EventBridge 重新驗證私有 APIs連線時**

對於私有 APIs連線，如果您執行下列任何動作：
+ 更新連線以叫用不同的私有 API 或公有 API。
+ 更新連線授權方法。
+ 更新指定授權方法的連線授權參數。

EventBridge 會執行下列動作：
+ 重新授權連線。
+ 驗證連線的網路連線。

  如果您已更新連線以使用不同的私有 API 或公有 API，EventBridge 也會視需要移除或更新現有的網路連線成品。

**使用 EventBridge 主控台更新連線**

1.  AWS 使用具有管理 EventBridge 許可的帳戶登入 ，並開啟 [EventBridge 主控台](https://console.aws.amazon.com/events)。

1. 在左側導覽窗格中的**整合**下，選擇**連線**。

1. 在**連線**表格中，選擇要編輯的連線。

1. 在**連線詳細資訊**頁面上，選擇**編輯**。

1. 更新連線的值，然後選擇**更新**。

   如需更新 EventBridge 的 KMS 金鑰以在加密連線時使用的資訊，請參閱 [更新 AWS KMS 金鑰](encryption-connections-configure.md#encryption-connections-update)。

**使用 CLI AWS 更新連線**
+ 使用 `[update-connection](https://docs.aws.amazon.com/cli/latest/reference/events/update-connection.html)` 命令。

  若要將連線的呼叫或授權端點從私有 API 更新為公有 API，您必須為 `ResourceConfigurationArn` 參數指定空字串 (`""`)。`null` 指定此參數沒有效果。

  下列範例會將代表私有 API 資源組態`ResourceConfigurationArn`的 設定為空字串，藉此將連線更新為使用公有 API。

  ```
  aws events update-connection \                              
  --name myConnection \
  --authorization-type BASIC \
  --auth-parameters '{"BasicAuthParameters": {"Username": "username", "Password": "***"}}' \
  --region us-east-1 \
  --invocation-connectivity-parameters ResourceParameters={ResourceConfigurationArn=\"\"}
  ```

# 取消授權 EventBridge 中的連線
<a name="eb-target-connection-deauthorize"></a>

您可以取消授權連線。取消授權連線會移除所有授權參數。移除授權參數會從連線中移除機密，因此您可以重複使用它，而不必建立新的連線。

**注意**  
您必須更新任何使用未授權連線的 API 目的地或 Step Functions 工作流程任務，以使用不同的連線來成功將請求傳送至 HTTPS 端點。

除了手動取消授權之外，EventBridge 還會在發生下列情況時取消授權連線：
+ EventBridge 無法擷取秘密，因為它已刪除。
+ 對於使用 OAuth 身分驗證的連線，EventBridge 無法重新整理必要的 OAuth 字符。
+ 對於使用基本或 API 金鑰身分驗證的連線，EventBridge 會收到 `401 (UnAuthorize)`或 `407 (Proxy_Authentication_required)`錯誤碼。

  在此情況下，請使用適當的登入資料更新連線以解決錯誤。
+ 如果您已為 EventBridge 指定用於秘密加密的客戶受管金鑰，且 EventBridge 在加密或解密連線的秘密時收到 KMS 金鑰錯誤。如需詳細資訊，請參閱[客戶受管金鑰錯誤](encryption-connections.md#encryption-connections-deauth)。

**注意**  
EventBridge 會在連線狀態變更時發出事件。您可以使用這些事件來追蹤連線中的變更。  
如需詳細資訊，請參閱[連線事件](event-reference.md#event-reference-connections)。

**使用 EventBridge 主控台取消授權連線**

1.  AWS 使用具有管理 EventBridge 許可的帳戶登入 ，並開啟 [EventBridge 主控台](https://console.aws.amazon.com/events)。

1. 在左側導覽窗格中的**整合**下，選擇**連線**。

1. 在**連線**表格中，選擇連線。

1. 在**連線詳細資訊**頁面上，選擇**取消授權**。

1. 在**取消授權連線？**對話方塊中，輸入連線的名稱，然後選擇**取消授權**。

   連線的狀態會變更為**取消授權**，直到程序完成為止。然後狀態會變更為**已取消授權**。現在，您可以編輯連線以新增新的授權參數。

**使用 CLI AWS 取消授權連線**
+ 使用 `[deauthorize-connection](https://docs.aws.amazon.com/cli/latest/reference/events/deauthorize-connection.html)` 命令。

# 在 EventBridge 中刪除連線
<a name="eb-target-connection-delete"></a>

如果您不再使用連線，則可以將其刪除。

**使用 EventBridge 主控台刪除連線**

1.  AWS 使用具有管理 EventBridge 許可的帳戶登入 ，並開啟 [EventBridge 主控台](https://console.aws.amazon.com/events)。

1. 在左側導覽窗格中的**整合**下，選擇**連線**。

1. 在**連線**表格中，選擇連線。

1. 在**連線詳細資訊**頁面上，選擇**刪除**。

**使用 CLI AWS 刪除連線**
+ 使用 `[delete-connection](https://docs.aws.amazon.com/cli/latest/reference/events/delete-connection.html)` 命令。