

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# プライベート証明書を一覧表示する
<a name="PcaListCerts"></a>

プライベート証明書を一覧表示するには、監査レポートを生成し、S3 バケットから取得して、必要に応じてレポートの内容を解析します。 AWS Private CA 認証情報レポート作成の詳細については、「[プライベート CA で監査レポートを使用する](PcaAuditReport.md)」を参照してください。S3 バケットからオブジェクトを取得する方法については、「Amazon Simple Storage Service ユーザーガイド」の「[オブジェクトのダウンロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)」を参照してください。

以下の例は、監査レポートを作成し、それを解析して有用なデータを見つける方法を示しています。結果は JSON 形式で、データは sed に似たパーサーである [jq](https://stedolan.github.io/jq/) を使用してフィルタリングされます。

**1. 監査報告書を作成する。**  
次のコマンドは、指定した CA の監査レポートを生成します。

```
$ 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
```

成功すると、コマンドは新しい監査レポートの ID と場所を返します。

```
{
   "AuditReportId":"{{audit_report_ID}}",
   "S3Key":"audit-report/{{CA_ID}}/{{audit_report_ID.json}}"
}
```

**2. 監査レポートを取得してフォーマットします。**  
このコマンドは、監査レポートを取得し、その内容を標準出力で表示し、結果をフィルタリングして 2020-12-01 以降に発行された証明書のみを表示します。

```
$ 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")'
```

返された項目は以下のようになります。

```
{
   "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. 監査レポートをローカルに保存します。**  
複数のクエリを実行する場合は、監査レポートをローカルファイルに保存すると便利です。

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

以前と同じフィルターで同じ出力が得られます。

```
$ 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. 日付範囲内のクエリ**  
次のように日付範囲内に発行された証明書をクエリできます。

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

フィルタリングされた内容は標準出力に表示されます。

```
{
   "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. 指定したテンプレートに従って証明書を検索します。**  
次のコマンドは、テンプレート ARN を使用してレポートコンテンツをフィルタリングします。

```
$ cat my_local_audit_report.json | jq '.[] | select(.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.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. 失効した証明書をフィルタリングします。**  
失効した証明書をすべて検索するには、次のコマンドを使用します。

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

失効した証明書は次のように表示されます。

```
{
   "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. 正規表現を使用してフィルタリングします。**  
次のコマンドは、「leaf」という文字列を含むサブジェクト名を検索します。

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

一致する証明書レコードは次のように返されます。

```
{
   "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"
}
```