

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

# 外部帳戶繫結
<a name="acm-acme-eab"></a>

外部帳戶繫結 (EABs) 是授權 ACME 用戶端向 ACME 端點註冊帳戶的登入資料。ACME 用戶端無法在未先註冊帳戶的情況下從端點請求憑證，而且註冊需要有效的 EAB 憑證。當 PKI 管理員建立 EAB 時，他們會將其與 IAM 角色建立關聯，以控制 ACME 用戶端可執行的憑證操作。管理員接著會將out-of-band EAB 憑證分發給需要憑證的團隊或系統。

每個 EAB 都會產生金鑰識別符 （金鑰 ID) 和 MAC 金鑰。ACME 用戶端會在帳戶註冊期間使用這些登入資料來證明授權。建立 ACME 帳戶後，帳戶會獨立於 EAB 運作。撤銷或刪除 EAB 不會影響使用 EAB 建立的現有 ACME 帳戶。

## IAM 角色需求
<a name="acm-acme-eab-iam-role"></a>

每個 EAB 都與 IAM 角色相關聯。此角色決定 ACME 用戶端在發出或撤銷憑證時可以執行的動作。角色必須符合下列要求：

信任政策  
角色必須允許 ACME 服務主體 (`acm-acme.amazonaws.com`) 擔任該角色。信任政策必須授予 `sts:AssumeRole`、 `sts:TagSession`和 `sts:SetSourceIdentity`。上的 條件`sts:SourceIdentity`僅允許 ACM 為 ACME 建立的工作階段：  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "acm-acme.amazonaws.com"
            },
            "Action": [
                "sts:AssumeRole",
                "sts:TagSession",
                "sts:SetSourceIdentity"
            ],
            "Condition": {
                "StringLikeIfExists": {
                    "sts:SourceIdentity": "acm-acme-*"
                }
            }
        }
    ]
}
```
如需 ACM 設定的角色工作階段名稱、來源身分和工作階段標籤值，請參閱 [ACME 憑證自動化的 IAM](security-iam-acme.md)。

許可  
角色需要 `acm:RequestCertificate`（用於發出） 或 `acm:RevokeCertificate`（用於撤銷） 或兩者。這些是與標準 ACM APIs 搭配使用的相同許可和條件金鑰。如需詳細資訊，請參閱[搭配 ACM 使用條件索引鍵](acm-conditions.md)。

PassRole  
建立 EAB 的管理員需要角色的`iam:PassRole`許可。

如需完整的 IAM 政策範例，請參閱 [ACME 憑證自動化的 IAM](security-iam-acme.md)。

## 如何使用 EAB 角色
<a name="acm-acme-eab-role-assumption"></a>

當 ACME 用戶端發出或撤銷憑證時，ACM 會使用與用戶端 EAB 相關聯的 IAM 角色來授權操作。由於發行和撤銷在此角色下執行，ACME 的行為類似於標準 ACM API：
+ 您用於直接 ACM API 呼叫的相同 IAM 政策和條件金鑰適用於 ACME 發行和撤銷。
+ AWS Organizations 服務控制政策 SCPs) 會在發行時強制執行。
+ 發行和撤銷操作會記錄在 CloudTrail 中。
+ ACM 會在擔任角色時設定角色工作階段名稱和來源身分 （和工作階段標籤），您可以參考角色信任政策中的 `sts:RoleSessionName`和 `sts:SourceIdentity`條件索引鍵。如需 ACM 使用的值，請參閱 [ACME 憑證自動化的 IAM](security-iam-acme.md)。

## 登入資料擷取
<a name="acm-acme-eab-credentials"></a>

建立 EAB 之後，請使用 擷取其登入資料`GetAcmeExternalAccountBindingCredentials`。將傳回 。
+ **金鑰 ID：**EAB 的唯一識別符 （用作 ACME EAB `kid`中的 )。
+ **MAC 金鑰：**用於在帳戶註冊期間建立 HMAC 簽章的私密金鑰 （用作 `hmacKey`)。

**重要**  
將 MAC 金鑰視為秘密。僅將其分發至您授權使用端點的 ACME 用戶端。

## 選用過期時間
<a name="acm-acme-eab-expiration"></a>

您可以設定 EAB 登入資料的過期時間：
+ **值：**正整數。
+ **類型：**`MINUTES`、 `HOURS`或 `DAYS`。

如果在過期之前未使用登入資料，它們會變成無效。如果未設定過期，則登入資料會保持有效，直到撤銷或刪除 EAB 為止。

## EAB 和 ACME 帳戶生命週期
<a name="acm-acme-eab-lifecycle"></a>

一旦 ACME 用戶端使用 EAB 登入資料註冊帳戶，ACME 帳戶和 EAB 就會有獨立的生命週期：
+ 撤銷 EAB 不會影響使用 EAB 建立的現有 ACME 帳戶。
+ 刪除 EAB 不會停用帳戶。
+ ACME 帳戶可以在撤銷其原始 EAB 後繼續發行憑證。

**注意**  
若要停止 ACME 帳戶發行更多憑證，請直接管理帳戶。您可以使用 `RevokeAcmeAccount` API 撤銷帳戶，或者帳戶持有人可以透過 ACME 通訊協定停用該帳戶。

## 建立外部帳戶繫結
<a name="acm-acme-eab-create"></a>

您可以使用 ACM 主控台或 CLI AWS 建立 EAB。

### 建立 EAB （主控台）
<a name="acm-acme-eab-create-console"></a>

1. 登入 AWS 管理主控台並開啟 ACM 主控台。

1. 在左側導覽窗格的 **ACME** 下，選擇**端點**。

1. 選取端點。

1. 選擇**外部帳戶繫結標籤**。

1. 選擇**建立外部帳戶繫結**。

1. 針對 **IAM 角色**，輸入或選取角色的 ARN。角色必須具有正確的信任政策。

1. （選用） 設定憑證的過期時間。

1. （選用） 在**標籤**下，將一或多個標籤新增至外部帳戶繫結。

1. 選擇**建立**。

1. 複製金鑰 ID 和 MAC 金鑰。

**重要**  
將 MAC 金鑰視為秘密。您可以隨時呼叫 ，再次擷取金鑰識別符和 MAC 金鑰`GetAcmeExternalAccountBindingCredentials`。

### 建立 EAB (AWS CLI)
<a name="acm-acme-eab-create-cli"></a>

執行下列命令來建立 EAB：

```
aws acm create-acme-external-account-binding \
    --acme-endpoint-arn arn:aws:acm:{{region}}:{{111122223333}}:acme-endpoint/{{00000000-0000-0000-0000-000000000000}} \
    --role-arn arn:aws:iam::{{111122223333}}:role/{{AcmeIssuanceRole}} \
    --expiration '{"Value": 7, "Type": "DAYS"}'
```

然後擷取登入資料：

```
aws acm get-acme-external-account-binding-credentials \
    --acme-external-account-binding-arn arn:aws:acm:{{region}}:{{111122223333}}:acme-endpoint/{{00000000-0000-0000-0000-000000000000}}/acme-external-account-binding/{{22222222-2222-2222-2222-222222222222}}
```

回應包含您提供給 ACME 用戶端的金鑰識別符和 MAC 金鑰。您可以隨時呼叫 來再次擷取這些登入資料`GetAcmeExternalAccountBindingCredentials`。

```
{
    "KeyId": "{{e06b7974-a684-4cc2-b4b1-1fd87ac81baa}}",
    "MacKey": "{{txvweHF1-COvXAKNlGk-58SX6ZVzEaaXaBPrwNAKCTo}}"
}
```

## 管理外部帳戶繫結
<a name="acm-acme-eab-manage"></a>

您可以在 EABs上執行下列管理操作：

描述  
檢視 EAB 詳細資訊，包括角色 ARN、過期、建立時間和上次使用。

清單  
檢視端點的所有 EABs。

撤銷  
使 EAB 登入資料失效。這不會影響使用 EAB 建立的現有 ACME 帳戶。若要管理這些帳戶，請使用 `RevokeAcmeAccount` API 撤銷這些帳戶，或讓帳戶持有人透過 ACME 通訊協定停用這些帳戶。

刪除  
完全移除 EAB 資源。任何已向 EAB 註冊的 ACME 帳戶都會繼續存在；刪除 EAB 只會阻止新的 ACME 帳戶註冊。