將稽核報告與您的私有 CA 搭配使用 - AWS Private Certificate Authority

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

將稽核報告與您的私有 CA 搭配使用

您可以建立稽核報告,以列出私有 CA 已發行或撤銷的所有憑證。報告會儲存在新的或輸入時指定的現有 S3 儲存貯體。

如需為您稽核報告新增加密保護的資訊,請參閱 加密您的稽核報告

稽核報告檔案具有以下路徑和檔案名稱。Amazon S3 存儲桶的 ARN 是的價值。bucket-name CA_ID是發行 CA 的唯一識別碼。 UUID是稽核報告的唯一識別碼。

bucket-name/audit-report/CA_ID/UUID.[json|csv]

每 30 分鐘可從您的儲存貯體產生及下載新的報告。以下範例顯示以 CSV 分隔的報告。

awsAccountId,requestedByServicePrincipal,certificateArn,serial,subject,notBefore,notAfter,issuedAt,revokedAt,revocationReason,templateArn 123456789012,,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4e5f6a,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T21:43:57+0000,2020-04-07T22:43:57+0000,2020-03-02T22:43:58+0000,,UNSPECIFIED,arn:aws:acm-pca:::template/EndEntityCertificate/V1 123456789012,acm.amazonaws.com,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T20:53:39+0000,2020-04-07T21:53:39+0000,2020-03-02T21:53:40+0000,,,arn:aws:acm-pca:::template/EndEntityCertificate/V1

JSON 格式的報告如下列範例所示。

[ { "awsAccountId":"123456789012", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-02-26T18:39:57+0000", "notAfter":"2021-02-26T19:39:57+0000", "issuedAt":"2020-02-26T19:39:58+0000", "revokedAt":"2020-02-26T20:00:36+0000", "revocationReason":"UNSPECIFIED", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" }, { "awsAccountId":"123456789012", "requestedByServicePrincipal":"acm.amazonaws.com", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-01-22T20:10:49+0000", "notAfter":"2021-01-17T21:10:49+0000", "issuedAt":"2020-01-22T21:10:49+0000", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } ]
注意

更 AWS Certificate Manager 新憑證時,私有 CA 稽核報告會填入requestedByServicePrincipal欄位。acm.amazonaws.com這表示 AWS Certificate Manager 服務代表客戶呼叫 AWS 私有 CA API 的IssueCertificate動作,以更新憑證。

準備用於稽核報告的 Amazon S3 儲存貯體

若要存放稽核報告,您需要準備 Amazon S3 儲存貯體。如需詳細資訊,請參閱如何建立 S3 儲存貯體?

您的 S3 儲存貯體必須由連接的許可政策保護。授權的使用者和服務主體需 AWS 私有 CA 要Put允許將物件放置在值區中的權Get限,以及擷取物件的權限。我們建議您套用下面顯示的政策,這會限制對私有 CA 的 AWS 帳戶和 ARN 的存取。如需詳細資訊,請參閱使用 Amazon S3 主控台新增儲存貯體政策

注意

在建立稽核報告的主控台程序期間,您可以選擇允許 AWS 私有 CA 建立新值區並套用預設權限原則。預設原則不會對 CA 套用任何SourceArn限制,因此比建議的原則更寬鬆。如果您選擇預設值,稍後可以隨時修改它。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account", "aws:SourceArn":"arn:partition:acm-pca:region:account:certificate-authority/CA_ID" } } } ] }

建立稽核報告

您可以從主控台或建立稽核報告 AWS CLI。

建立稽核報告 (主控台)
  1. 登入您的 AWS 帳戶,然後在 https://console.aws.amazon.com/acm-pca/home 開啟 AWS 私有 CA 主控台。

  2. 在 [私人憑證授權] 頁面上,從清單中選擇您的私有 CA。

  3. Actions (動作) 選單中,選擇 Generate audit report (產生稽核報告)

  4. 稽核報告目標下,建立新的 S3 儲存貯體? ,選擇「是」 並輸入唯一的值區名稱,或選擇「」,然後從清單中選擇現有的時段。

    如果您選擇「是」,則 AWS 私有 CA 會建立預設政策並將其附加至值區。如果您選擇「」,則必須在儲存貯體中附加策略,然後才能產生稽核報告。使用中所述的策略模式準備用於稽核報告的 Amazon S3 儲存貯體。如需附加政策的相關資訊,請參閱使用 Amazon S3 主控台新增儲存貯體政策

  5. 在 [輸出格式] 下,選擇 [JSON] 做為 [ JavaScript 物件標記法] 或 [CSV] 做為逗號分隔

  6. 選擇 Generate audit report (產生稽核報告)

建立稽核報告 (AWS CLI)
  1. 如果您還沒有要使用的 S3 儲存貯體,請建立一個

  2. 將政策附加到您的值區。使用中所述的策略模式準備用於稽核報告的 Amazon S3 儲存貯體。如需附加政策的相關資訊,請參閱使用 Amazon S3 主控台新增儲存貯體政策

  3. 使用 create-certificate-authority-audit-report 命令建立稽核報告,並將其放置在準備好的 S3 儲存貯體中。

    $ aws acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --s3-bucket-name bucket_name \ --audit-report-response-format JSON

擷取稽核報告

若要擷取稽核報告以進行檢查,請使用 Amazon S3 主控台、API、CLI 或開發套件。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的下載物件

加密您的稽核報告

您可以選擇在包含稽核報告的 Amazon S3 儲存貯體上設定加密。 AWS 私有 CA 支援 S3 中資產的兩種加密模式:

  • 使用亞馬遜 S3 代管的 AES-256 金鑰進行自動伺服器端加密。

  • 客戶管理的加密使用 AWS Key Management Service 和 AWS KMS key 配置您的規格。

注意

AWS 私有 CA 不支援使用 S3 自動產生的預設 KMS 金鑰。

下列程序說明如何設定每個加密選項。

設定自動加密

完成以下步驟以啟用 S3 伺服器端加密。

  1. 前往 https://console.aws.amazon.com/s3/ 開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。

  2. 在「時段」表格中,選擇要保留 AWS 私有 CA 資產的值區。

  3. 在您的儲存貯體頁面上,選擇屬性索引標籤。

  4. 選擇預設加密卡片。

  5. 選擇 啟用

  6. 選擇 Amazon S3 密鑰(SSE-S3)

  7. 選擇 Save Changes (儲存變更)。

設定自訂加密

完成下列步驟以啟用使用自訂金鑰加密。

  1. 前往 https://console.aws.amazon.com/s3/ 開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。

  2. 在「時段」表格中,選擇要保留 AWS 私有 CA 資產的值區。

  3. 在您的儲存貯體頁面上,選擇屬性索引標籤。

  4. 選擇預設加密卡片。

  5. 選擇 啟用

  6. 選擇金AWS Key Management Service 鑰 (SSE-KMS)。

  7. 擇「從您的 AWS KMS 金鑰中選擇」或「輸入 AWS KMS key ARN」。

  8. 選擇 Save Changes (儲存變更)。

  9. (選擇性) 如果您尚未擁有 KMS 金鑰,請使用下列建立金鑰指令建立一個 KMS AWS CLI 鑰:

    $ aws kms create-key

    輸出包含 KMS 金鑰的金鑰識別碼和 Amazon 資源名稱 (ARN)。下面是一個示例輸出:

    { "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
  10. 使用下列步驟,您可以授與 AWS 私有 CA 服務主體使用 KMS 金鑰的權限。根據預設,所有 KMS 金鑰都是私密的;只有資源擁有者可以使用 KMS 金鑰來加密和解密資料。然而,資源擁有者可以授與其他使用者和資源存取 KMS 金鑰的許可。服務主體必須與存放 KMS 金鑰所在的區域相同。

    1. 首先,使policy.json用下列get-key-policy命令將 KMS 金鑰的預設原則儲存為:

      $ aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. 在文字編輯器中開啟 policy.json 檔案。選取下列其中一個原則陳述式,然後將其新增至現有的策略。

      如果您的 Amazon S3 儲存貯體金鑰已用,請使用下列陳述式:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::bucket-name" } } }

      如果您的 Amazon S3 儲存貯體金鑰已用,請使用下列陳述式:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::bucket-name/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name/audit-report/*", "arn:aws:s3:::bucket-name/crl/*" ] } } }
    3. 最後,使用下列put-key-policy命令套用更新的原則:

      $ aws kms put-key-policy --key-id key_id --policy-name default --policy file://policy.json