Elencare i certificati privati - AWS Private Certificate Authority

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elencare i certificati privati

Per elencare i tuoi certificati privati, genera un rapporto di controllo, recuperalo dal relativo bucket S3 e analizza il contenuto del rapporto secondo necessità. Per informazioni sulla creazione di report di CA privata AWS controllo, consulta. Utilizzo dei report di controllo con la tua CA privata Per informazioni sul recupero di un oggetto da un bucket S3, consulta Downloading an object nella Amazon Simple Storage Service User Guide.

Gli esempi seguenti illustrano gli approcci per creare report di audit e analizzarli alla ricerca di dati utili. I risultati sono formattati in JSON e i dati vengono filtrati utilizzando jq, un parser simile a un sed.

1. Crea un rapporto di controllo.

Il comando seguente genera un rapporto di controllo per una CA specificata.

$ aws acm-pca create-certificate-authority-audit-report \ --region region \ --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

In caso di successo, il comando restituisce l'ID e la posizione del nuovo rapporto di controllo.

{ "AuditReportId":"audit_report_ID", "S3Key":"audit-report/CA_ID/audit_report_ID.json" }
2. Recupera e formatta un rapporto di controllo.

Questo comando recupera un rapporto di controllo, ne visualizza il contenuto in uno standard output e filtra i risultati per mostrare solo i certificati emessi a partire dal 01/12/2020 o dopo.

$ aws s3api get-object \ --region region \ --bucket bucket_name \ --key audit-report/CA_ID/audit_report_ID.json \ /dev/stdout | jq '.[] | select(.issuedAt >= "2020-12-01")'

Gli articoli restituiti sono simili ai seguenti:

{ "awsAccountId":"account", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"serial_number", "subject":"CN=pca.alpha.root2.leaf5", "notBefore":"2020-12-21T21:28:09+0000", "notAfter":"9999-12-31T23:59:59+0000", "issuedAt":"2020-12-21T22:28:09+0000", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" }
3. Salva un rapporto di controllo localmente.

Se si desidera eseguire più interrogazioni, è consigliabile salvare un rapporto di controllo in un file locale.

$ aws s3api get-object \ --region region \ --bucket bucket_name \ --key audit-report/CA_ID/audit_report_ID.json > my_local_audit_report.json

Lo stesso filtro di prima produce lo stesso risultato:

$ cat my_local_audit_report.json | jq '.[] | select(.issuedAt >= "2020-12-01")' { "awsAccountId":"account", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"serial_number", "subject":"CN=pca.alpha.root2.leaf5", "notBefore":"2020-12-21T21:28:09+0000", "notAfter":"9999-12-31T23:59:59+0000", "issuedAt":"2020-12-21T22:28:09+0000", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" }
4. Interrogazione all'interno di un intervallo di date

È possibile eseguire una query per i certificati emessi entro un intervallo di date nel modo seguente:

$ cat my_local_audit_report.json | jq '.[] | select(.issuedAt >= "2020-11-01" and .issuedAt <= "2020-11-10")'

Il contenuto filtrato viene visualizzato nello standard output:

{ "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.leaf1", "notBefore": "2020-11-06T19:18:21+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T20:18:22+0000", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" } { "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.rsa2048sha256", "notBefore": "2020-11-06T19:15:46+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T20:15:46+0000", "templateArn": "arn:aws:acm-pca:::template/RootCACertificate/V1" } { "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.leaf2", "notBefore": "2020-11-06T20:04:39+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T21:04:39+0000", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" }
5. Cerca i certificati seguendo un modello specificato.

Il comando seguente filtra il contenuto del report utilizzando un modello ARN:

$ cat my_local_audit_report.json | jq '.[] | select(.templateArn == "arn:aws:acm-pca:::template/RootCACertificate/V1")'

L'output mostra i record dei certificati corrispondenti:

{ "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.rsa2048sha256", "notBefore": "2020-11-06T19:15:46+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T20:15:46+0000", "templateArn": "arn:aws:acm-pca:::template/RootCACertificate/V1" }
6. Filtro per i certificati revocati

Per trovare tutti i certificati revocati, usa il seguente comando:

$ cat my_local_audit_report.json | jq '.[] | select(.revokedAt != null)'

Un certificato revocato viene visualizzato come segue:

{ "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.leaf2", "notBefore": "2020-11-06T20:04:39+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T21:04:39+0000", "revokedAt": "2021-05-27T18:57:32+0000", "revocationReason": "UNSPECIFIED", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" }
7. Filtrare utilizzando un'espressione regolare.

Il comando seguente cerca i nomi dei soggetti che contengono la stringa «leaf»:

$ cat my_local_audit_report.json | jq '.[] | select(.subject|test("leaf"))'

I record dei certificati corrispondenti vengono restituiti come segue:

{ "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.roo2.leaf4", "notBefore": "2020-11-16T18:17:10+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-16T19:17:12+0000", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" } { "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.leaf5", "notBefore": "2020-12-21T21:28:09+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-12-21T22:28:09+0000", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" } { "awsAccountId": "account", "certificateArn": "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial": "serial_number", "subject": "CN=pca.alpha.root2.leaf1", "notBefore": "2020-11-06T19:18:21+0000", "notAfter": "9999-12-31T23:59:59+0000", "issuedAt": "2020-11-06T20:18:22+0000", "templateArn": "arn:aws:acm-pca:::template/EndEntityCertificate/V1" }