View a markdown version of this page

外部帳戶繫結 - AWS Certificate Manager

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

外部帳戶繫結

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

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

IAM 角色需求

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

信任政策

角色必須允許 ACME 服務主體 (acm-acme.amazonaws.com) 擔任該角色。信任政策必須授予 sts:AssumeRolests:TagSessionsts: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

許可

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

PassRole

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

如需完整的 IAM 政策範例,請參閱 ACME 憑證自動化的 IAM

如何使用 EAB 角色

當 ACME 用戶端發出或撤銷憑證時,ACM 會使用與用戶端 EAB 相關聯的 IAM 角色來授權操作。由於發行和撤銷在此角色下執行,ACME 的行為類似於標準 ACM API:

  • 您用於直接 ACM API 呼叫的相同 IAM 政策和條件金鑰適用於 ACME 發行和撤銷。

  • AWS Organizations 服務控制政策 SCPs) 會在發行時強制執行。

  • 發行和撤銷操作會記錄在 CloudTrail 中。

  • ACM 會在擔任角色時設定角色工作階段名稱和來源身分 (和工作階段標籤),您可以參考角色信任政策中的 sts:RoleSessionNamests:SourceIdentity條件索引鍵。如需 ACM 使用的值,請參閱 ACME 憑證自動化的 IAM

登入資料擷取

建立 EAB 之後,請使用 擷取其登入資料GetAcmeExternalAccountBindingCredentials。將傳回 。

  • 金鑰 ID:EAB 的唯一識別符 (用作 ACME EAB kid中的 )。

  • MAC 金鑰:用於在帳戶註冊期間建立 HMAC 簽章的私密金鑰 (用作 hmacKey)。

重要

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

選用過期時間

您可以設定 EAB 登入資料的過期時間:

  • 值:正整數。

  • 類型:MINUTESHOURSDAYS

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

EAB 和 ACME 帳戶生命週期

一旦 ACME 用戶端使用 EAB 登入資料註冊帳戶,ACME 帳戶和 EAB 就會有獨立的生命週期:

  • 撤銷 EAB 不會影響使用 EAB 建立的現有 ACME 帳戶。

  • 刪除 EAB 不會停用帳戶。

  • ACME 帳戶可以在撤銷其原始 EAB 後繼續發行憑證。

注意

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

建立外部帳戶繫結

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

建立 EAB (主控台)

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

  2. 在左側導覽窗格的 ACME 下,選擇端點

  3. 選取端點。

  4. 選擇外部帳戶繫結標籤

  5. 選擇建立外部帳戶繫結

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

  7. (選用) 設定憑證的過期時間。

  8. (選用) 在標籤下,將一或多個標籤新增至外部帳戶繫結。

  9. 選擇建立

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

重要

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

建立 EAB (AWS CLI)

執行下列命令來建立 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" }

管理外部帳戶繫結

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

描述

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

清單

檢視端點的所有 EABs。

撤銷

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

刪除

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