請求私有 PKI 憑證 - AWS Certificate Manager

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

請求私有 PKI 憑證

如果您可以存取由建立的現有私有 CA AWS 私有 CA,ACM 可以要求適合在私有 PKI 中使用的憑證。CA 可能位於您的帳戶中,或透過其他帳戶與您共用。如需建立私有 CA 的相關資訊,請參閱建立私有憑證授權機構

預設情況下,私有 CA 簽署的憑證不受信任,且 ACM 不為此支援任何形式的驗證。因此,管理員必須採取行動,將其安裝至組織的用戶端信任存放區。

私有 ACM 憑證遵循 X.509 標準,且受制於下列各項限制:

  • 名稱:您必須使用符合 DNS 規範的主旨名稱。如需詳細資訊,請參閱 網域名稱

  • 演算法:針對加密,憑證私有金鑰演算法必須是 2048 位元 RSA、256 位元的 ECDSA 或 384 位元 ECDSA。

    注意

    指定簽署演算法系列 (RSA 或 ECDSA) 必須符合 CA 私密金鑰的演算法系列。

  • 有效期限:每個憑證的有效期限皆為 13 個月 (395 天)。簽署 CA 憑證的結束日期必須超過所請求憑證的結束日期,否則憑證請求將會失敗。

  • 續約:ACM 會在 11 個月後自動嘗試續約私有憑證。

用來簽署終端實體憑證的私有 CA 必須遵守其本身的限制:

  • CA 必須處於作用中狀態。

  • CA 私有金鑰演算法必須是 RSA 2048 或 RSA 4096。

注意

與公開信任的憑證不同,私有 CA 簽署的憑證不需要驗證。

設定私有 CA 的存取權

您可以使用 AWS 私有 CA 以下兩種情況之一來簽署 ACM 憑證:

  • 單一帳戶:簽署的 CA 和核發的 ACM 憑證位於相同的 AWS 帳戶中。

    若要啟用單一帳戶發行和續約功能, AWS 私有 CA 管理員必須授與許可給 ACM 服務主體,才能建立、擷取和列出憑證。這是使用 AWS 私有 CA API 動作CreatePermission或 AWS CLI 命令創建權限來完成的。帳戶擁有者會將這些許可指派給負責發行憑證的 IAM 使用者、群組或角色。

  • 跨帳戶:簽署的 CA 和核發的 ACM 憑證位於不同的 AWS 帳戶中,而且 CA 的存取權已授與憑證所在的帳戶。

    若要啟用跨帳戶核發和續訂, AWS 私有 CA 系統管理員必須使用 AWS 私有 CA API 動作PutPolicy或命令放入原則,將以資源為基礎的政策附加至 CA。 AWS CLI政策會指定其他帳戶中允許有限存取 CA 的委託人。如需詳細資訊,請參閱搭配 ACM Private CA 使用資源型政策

    跨帳戶案例也需要 ACM 設定服務連結角色 (SLR),才能以委託人身分與 PCA 政策互動。ACM 會在發行第一個憑證時自動建立 SLR。

    ACM 可能會提醒您無法判斷您的帳戶中是否存在 SLR。如果必要的 iam:GetRole 許可已授與給您帳戶的 ACM SLR,則 SLR 建立後就不會再次發出提醒。如果再次發出提醒,表示您或您的帳戶管理員可能需要授與 iam:GetRole 許可給 ACM,或為您的帳戶與由 ACM 管理的政策 AWSCertificateManagerFullAccess 建立關聯。

    如需詳細資訊,請參閱搭配 ACM 使用服務連結角色

重要

您的 ACM 憑證必須與支援的 AWS 服務主動關聯,才能自動續訂。如需有關 ACM 支援的資源的資訊,請參閱 服務整合 AWS Certificate Manager

使用 ACM 主控台請求私有 PKI 憑證

  1. 登入 AWS 管理主控台並開啟 ACM 主控台,網址為 https://console.aws.amazon.com/acm/home

    選擇 Request a certificate (請求憑證)

  2. Request certificate(請求憑證)頁面上,選擇 Request a private certificate(請求私有憑證),然後選擇 Next(下一步)以繼續進行。

  3. Certificate authority details(憑證授權單位詳細資訊)部分中,按一下 Certificate authority(憑證授權單位)功能表,然後選擇其中一個可用的私有 CA。如果 CA 是從另一個帳戶共用,ARN 前面會加上所有權資訊。

    系統隨即會顯示 CA 相關詳細資訊,協助您驗證是否已選擇正確者:

    • 擁有者

    • 類型

    • Common name (CN) (通用名稱 (CN))

    • Organization (O) (組織 (O))

    • Organization unit (OU) (組織單位 (OU))

    • Country name (C) (國家/地區名稱 (C))

    • State or province (州或省)

    • Locality name (地區名稱)

  4. Domain names(網域名稱)部分,輸入您的網域名稱。您可以使用完整網域名稱 (FQDN),例如 www.example.com 或 bare 或 apex 網域名稱,例如 example.com。您也可以在最左方使用星號 (*) 做為萬用字元,以保護相同網域中的多個網站名稱。例如,*.example.com 可保護 corp.example.comimages.example.com。萬用字元名稱會顯示於 ACM 憑證的 Subject (主體) 欄位和 ACM 憑證的 Subject Alternative Name (主體別名) 延伸。

    注意

    請求萬用字元憑證時,星號 (*) 必須在網域名稱的最左方,而且僅能保護一個子網域層級。例如,*.example.com 可以保護 login.example.comtest.example.com,但不能保護 test.login.example.com。另請注意,*.example.com 可以保護 example.com 的子網域,無法保護 bare 或 apex 網域 (example.com)。若要保護兩者,請參閱下一個步驟

    或者,請選擇 Add another name to this certificate (將其他名稱新增至此憑證),然後在文字方塊中輸入名稱。若要同時驗證 bare 或 apex 網域 (例如 example.com) 及其子網域 (例如 *.example.com),此功能非常實用。

  5. 金鑰演算法區段中,選擇三種可用演算法之一:

    • RSA 2048 (預設)

    • ECDSA P 256

    • ECDSA P 384

    如需協助您選擇演算法的資訊,請參閱 金鑰演算法

  6. Tags(標籤)部分,您可以選擇標記您的憑證。標籤是索引鍵值配對,可做為識別和組織 AWS 資源的中繼資料。如需 ACM 標籤參數清單以及如何在建立後將標籤新增至憑證的相關說明,請參閱「標記 AWS Certificate Manager 憑證」。

  7. Certificate renewal permissions(憑證續約權限)部分中,確認有關憑證更新權限的通知。這些權限允許自動更新您使用所選 CA 簽署的私有 PKI 憑證。如需詳細資訊,請參閱搭配 ACM 使用服務連結角色

  8. 在提供所有必要資訊後,選擇 Request(請求)。主控台會傳回憑證清單給您,讓您檢視新的憑證。

    注意

    視您排序清單的方式而定,您要尋找的憑證可能無法立即顯示。您可以點選右邊的黑色三角形來變更順序。您也可以使用右上角的頁碼在多張憑證頁面之間瀏覽。

使用 CLI 請求私有 PKI 憑證

使用 request-certificate 命令在 ACM 中請求私有憑證。

注意

當您要求 CA 簽署的私有 PKI 憑證時 AWS Private CA,指定的簽署演算法系列 (RSA 或 ECDSA) 必須符合 CA 秘密金鑰的演算法系列。

aws acm request-certificate \ --domain-name www.example.com \ --idempotency-token 12563 \ --certificate-authority-arn arn:aws:acm-pca:Region:444455556666:\ certificate-authority/CA_ID

此命令會輸出新私有憑證的 Amazon Resource Name (ARN)。

{ "CertificateArn": "arn:aws:acm:Region:444455556666:certificate/certificate_ID" }

在大多數情況下,ACM 會在您第一次使用共用 CA 時,自動將服務連結角色 (SLR) 連接至您的帳戶。SLR 會為您發行的終端實體憑證啟用自動續約功能。若要檢查 SLR 是否存在,您可以使用以下命令查詢 IAM:

aws iam get-role --role-name AWSServiceRoleForCertificateManager

如果 SLR 存在,命令輸出應類似以下內容:

{ "Role":{ "Path":"/aws-service-role/acm.amazonaws.com/", "RoleName":"AWSServiceRoleForCertificateManager", "RoleId":"AAAAAAA0000000BBBBBBB", "Arn":"arn:aws:iam::{account_no}:role/aws-service-role/acm.amazonaws.com/AWSServiceRoleForCertificateManager", "CreateDate":"2020-08-01T23:10:41Z", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }, "Description":"SLR for ACM Service for accessing cross-account Private CA", "MaxSessionDuration":3600, "RoleLastUsed":{ "LastUsedDate":"2020-08-01T23:11:04Z", "Region":"ap-southeast-1" } } }

如果缺少 SLR,請參閱搭配 ACM 使用服務連結角色