

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 프라이빗 인증서 나열
<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"
}
```