本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
外部帳戶繫結
外部帳戶繫結 (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: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。
- 許可
-
角色需要
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:RoleSessionName和sts:SourceIdentity條件索引鍵。如需 ACM 使用的值,請參閱 ACME 憑證自動化的 IAM。
登入資料擷取
建立 EAB 之後,請使用 擷取其登入資料GetAcmeExternalAccountBindingCredentials。將傳回 。
-
金鑰 ID:EAB 的唯一識別符 (用作 ACME EAB
kid中的 )。 -
MAC 金鑰:用於在帳戶註冊期間建立 HMAC 簽章的私密金鑰 (用作
hmacKey)。
重要
將 MAC 金鑰視為秘密。僅將其分發至您授權使用端點的 ACME 用戶端。
選用過期時間
您可以設定 EAB 登入資料的過期時間:
-
值:正整數。
-
類型:
MINUTES、HOURS或DAYS。
如果在過期之前未使用登入資料,它們會變成無效。如果未設定過期,則登入資料會保持有效,直到撤銷或刪除 EAB 為止。
EAB 和 ACME 帳戶生命週期
一旦 ACME 用戶端使用 EAB 登入資料註冊帳戶,ACME 帳戶和 EAB 就會有獨立的生命週期:
-
撤銷 EAB 不會影響使用 EAB 建立的現有 ACME 帳戶。
-
刪除 EAB 不會停用帳戶。
-
ACME 帳戶可以在撤銷其原始 EAB 後繼續發行憑證。
注意
若要停止 ACME 帳戶發行更多憑證,請直接管理帳戶。您可以使用 RevokeAcmeAccount API 撤銷帳戶,或者帳戶持有人可以透過 ACME 通訊協定停用該帳戶。
建立外部帳戶繫結
您可以使用 ACM 主控台或 CLI AWS 建立 EAB。
建立 EAB (主控台)
-
登入 AWS 管理主控台並開啟 ACM 主控台。
-
在左側導覽窗格的 ACME 下,選擇端點。
-
選取端點。
-
選擇外部帳戶繫結標籤。
-
選擇建立外部帳戶繫結。
-
針對 IAM 角色,輸入或選取角色的 ARN。角色必須具有正確的信任政策。
-
(選用) 設定憑證的過期時間。
-
(選用) 在標籤下,將一或多個標籤新增至外部帳戶繫結。
-
選擇建立。
-
複製金鑰 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 帳戶。若要管理這些帳戶,請使用
RevokeAcmeAccountAPI 撤銷這些帳戶,或讓帳戶持有人透過 ACME 通訊協定停用這些帳戶。 - 刪除
-
完全移除 EAB 資源。任何已向 EAB 註冊的 ACME 帳戶都會繼續存在;刪除 EAB 只會阻止新的 ACME 帳戶註冊。