프라이빗 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 Private CA API IssueCertificate 작업을 호출하여 인증서를 갱신했음을 나타냅니다.

감사 보고서에 대한 Amazon S3 버킷 준비

감사 보고서를 저장하려면 Amazon S3 버킷을 준비해야 합니다. 자세한 내용은 S3 버킷을 어떻게 생성합니까?를 참조하세요.

S3 버킷은 첨부된 권한 정책에 따라 보호되어야 합니다. 인증된 사용자 및 서비스 주체에게는 버킷에 객체를 AWS Private CA 배치할 수 있는 권한과 객체를 검색할 수 있는 Put Get 권한이 필요합니다. 아래 표시된 정책을 적용하여 프라이빗 CA의 AWS 계정과 ARN 모두에 대한 액세스를 제한하는 것이 좋습니다. 자세한 내용은 Amazon S3 콘솔을 사용하여 버킷 정책 추가를 참조하세요.

참고

감사 보고서를 만드는 콘솔 절차에서 새 버킷을 AWS Private 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 Private CA 콘솔을 엽니다.

  2. 프라이빗 인증 기관 페이지 목록에서 프라이빗 CA를 선택합니다.

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

  4. 감사 보고서 대상 아래의 새 S3 버킷을 생성하시겠습니까?에서 를 선택하고 고유한 버킷 이름을 입력하거나, 아니요를 선택하고 목록에서 기존 버킷을 선택합니다.

    Yes를 선택하면 기본 정책이 AWS Private CA 생성되어 버킷에 연결됩니다. 아니요를 선택한 경우 감사 보고서를 생성하기 전에 먼저 정책을 버킷에 연결해야 합니다. 감사 보고서에 대한 Amazon S3 버킷 준비에 설명된 정책 패턴을 사용합니다. 정책 연결에 대한 자세한 내용은 Amazon S3 콘솔을 사용하여 버킷 추가를 참조하세요.

  5. 출력 형식에서 JavaScript 객체 표기법으로 JSON을 선택하고 쉼표로 구분된 값의 경우 CSV를 선택합니다.

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

감사 보고서를 생성하는 방법(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 또는 SDK를 사용합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 다운로드를 참조하세요.

감사 보고서 암호화

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

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

  • 고객이 AWS Key Management Service 암호화를 관리하고 사용자 사양에 AWS KMS key 맞게 구성합니다.

참고

AWS Private CA S3에서 자동으로 생성된 기본 KMS 키 사용을 지원하지 않습니다.

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

자동 암호화를 구성하려면

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

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

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

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

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

  5. 활성화를 선택합니다.

  6. Amazon S3 키(SSE-S3)를 선택합니다.

  7. 변경 사항 저장(Save Changes)을 선택합니다.

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

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

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

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

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

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

  5. 활성화를 선택합니다.

  6. AWS Key Management Service 키 (SSE-KMS) 를 선택합니다.

  7. AWS KMS 키에서 선택 또는 AWS KMS key ARN 입력을 선택합니다.

  8. 변경 사항 저장(Save Changes)을 선택합니다.

  9. (옵션) KMS 키가 아직 없는 경우 다음 AWS CLI create-key 명령을 사용하여 생성합니다.

    $ aws kms create-key

    이 명령의 출력 화면에는 KMS 키의 키 ID와 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 Private CA 서비스 주체에게 KMS 키 사용 권한을 부여합니다. 모든 KMS 키는 기본적으로 비공개입니다. 따라서 리소스 소유자만 KMS 키를 사용해서 데이터를 암호화 및 해독할 수 있습니다. 그러나 리소스 소유자가 원한다면 다른 사용자 및 리소스에 KMS 키에 대한 액세스 권한을 부여할 수 있습니다. 서비스 보안 주체는 KMS 키가 저장된 위치와 동일한 리전에 있어야 합니다.

    1. 먼저 다음 get-key-policy명령을 policy.json 사용하여 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