사설 CA에 대한 감사 보고서 생성 - AWS Certificate Manager Private Certificate Authority

사설 CA에 대한 감사 보고서 생성

사설 CA가 발급 및 취소된 모든 인증서의 목록을 표시하는 감사 보고서를 생성할 수 있습니다. 이 보고서는 입력 시 지정한 신규 또는 기존 S3 버킷에 저장됩니다.

감사 보고서에 암호화 보호를 추가하는 방법에 대한 자세한 내용은 감사 보고서 암호화 단원을 참조하십시오 .

감사 보고서 파일의 경로와 파일 이름은 다음과 같습니다(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/fedcba9876543210fedcba9876543210,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/0123456789abcdef0123456789abcdef,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/fedcba9876543210fedcba9876543210", "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/0123456789abcdef0123456789abcdef", "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 CLI에서 보고서를 생성할 수 있습니다.

감사 보고서를 생성하는 방법(콘솔)

  1. AWS 계정으로 로그인하여 https://console.aws.amazon.com/acm-pca/home에서 ACM Private CA 콘솔을 엽니다.

  2. 사설 CA를 선택합니다.

  3. 목록에서 사설 CA를 선택합니다.

  4. 작업 메뉴에서 감사 보고서 생성을 선택합니다.

  5. S3 버킷 새로 생성에서 를 선택하고 고유한 버킷 이름을 입력하거나 아니요를 선택하고 목록에서 기존 버킷을 선택합니다.

    를 선택한 경우 ACM Private CA는 필요한 정책을 생성하여 버킷에 연결합니다. 아니요를 선택한 경우에는 다음 정책을 버킷에 연결해야만 감사 보고서를 생성할 수 있습니다. 지침은 S3 버킷 정책을 추가하려면 어떻게 해야 합니까?.

    { "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:::bucket-name/*", "arn:aws:s3:::bucket-name" ] } ] }
  6. 출력 형식에서 JavaScript Object Notation의 경우에는 JSON을, 쉼표로 구분된 값의 경우에는 CSV를 선택합니다.

  7. 감사 보고서 생성을 선택합니다.

감사 보고서를 생성하는 방법(AWS CLI)

create-certificate-authority-audit-report 명령을 사용하여 감사 보고서를 생성합니다. 다음 정책을 버킷에 연결해야 합니다.

{ "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:::bucket-name/*", "arn:aws:s3:::bucket-name" ] } ] }
aws acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws:acm-pca:region:account:\ certificate-authority/12345678-1234-1234-1234-123456789012 \ --s3-bucket-name >your-bucket-name \ --audit-report-response-format JSON

감사 보고서 암호화

선택에 따라 감사 보고서가 포함된 Amazon S3 버킷에 암호화를 구성할 수 있습니다. ACM Private CA는 S3의 자산에 대해 두 가지 암호화 모드를 지원합니다.

  • Amazon S3 관리형 AES-256 키를 사용한 자동 서버 측 암호화.

  • 사양에 맞게 구성된 CMK(고객 마스터 키)와 AWS Key Management Service를 사용한 고객 관리 암호화.

참고

ACM Private CA는 S3에 의해 자동으로 생성된 기본 CMK 사용을 지원하지 않습니다.

다음 절차에서는 각 암호화 옵션을 설정하는 방법에 대해 설명합니다.

자동 암호화를 구성하려면

S3 서버 측 암호화를 활성화하려면 다음 단계를 수행하십시오.

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 테이블에서 ACM Private CA 자산을 보존할 버킷을 선택합니다.

  3. 버킷의 페이지에서 속성 탭을 선택합니다.

  4. 기본 암호화 카드를 선택합니다.

  5. AES-256을 선택합니다.

  6. 필요에 따라 버킷 권한 정책을 확인한 다음 저장을 선택합니다.

사용자 지정 암호화를 구성하려면

사용자 지정 CMK를 사용하여 암호화를 활성화하려면 다음 단계를 수행하십시오.

  1. (선택 사항) AWS KMS CMK가 아직 없는 경우 다음 AWS CLI create-key 명령을 사용하여 생성합니다.

    aws kms create-key

    이 명령의 출력 화면에는 CMK의 키 ID와 Amazon 리소스 이름(ARN)이 포함됩니다. 다음은 예제 출력입니다.

    { "KeyMetadata": { "KeyId": "6f815f63-e628-448c-8251-e40cb0d29f59", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59", "AWSAccountId": "123456789012" } }
  2. 모든 AWS KMS CMK는 기본적으로 비공개입니다. 따라서 리소스 소유자만 이를 사용해서 데이터를 암호화 및 해독할 수 있습니다. 그러나 리소스 소유자가 원한다면 다른 사용자 및 리소스에게 CMK에 대한 액세스 권한을 부여할 수 있습니다. 다음 단계를 사용하여 ACM Private CA 서비스 보안 주체에 CMK를 사용할 수 있는 권한을 부여합니다. 서비스 보안 주체는 CMK가 저장된 위치와 동일한 리전에 있어야 합니다.

    1. 먼저, 아래 get-key-policy 명령을 사용하여 CMK에 대한 기본 정책을 policy.json로 저장합니다.

      aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. 텍스트 편집기에서 policy.json 파일을 열고 다음 설명을 추가합니다.

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