프라이빗 CA에서 감사 보고서 사용 - AWS Private Certificate Authority

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

프라이빗 CA에서 감사 보고서 사용

프라이빗 CA가 발급 또는 취소한 모든 인증서를 나열하는 감사 보고서를 만들 수 있습니다. 보고서는 입력 시 지정한 신규 또는 기존 S3 버킷에 저장됩니다.

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

감사 보고서 파일은 다음과 같은 경로와 파일 이름을 가집니다. Amazon S3 버킷용 ARN는의 값입니다amzn-s3-demo-bucket. CA_ID는 발급 CA의 고유 식별자입니다. UUID는 감사 보고서의 고유 식별자입니다.

amzn-s3-demo-bucket/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 서비스가 고객을 대신하여 the AWS Private CA API의 IssueCertificate 작업을 호출하여 인증서를 갱신했음을 나타냅니다.

감사 보고서를 위한 Amazon S3 버킷 준비

중요

AWS Private CA 는 Amazon S3 객체 잠금 사용을 지원하지 않습니다. 버킷에서 객체 잠금을 활성화하면 AWS Private CA 가 버킷에 감사 보고서를 작성할 수 없습니다.

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

S3 버킷은가 사용자가 지정한 S3 버킷에 AWS Private CA 액세스하고 쓸 수 있도록 허용하는 권한 정책에 의해 보호되어야 합니다. 승인된 사용자 및 서비스 보안 주체는가 버킷에 객체를 배치할 수 AWS Private CA 있는 Put 권한과 객체를 검색할 수 있는 Get 권한이 필요합니다. 아래에 표시된 정책을 적용하여 AWS 계정과 프라이빗 CA의 ARN에 대한 액세스를 모두 제한하는 것이 좋습니다. 또는 aws:SourceOrg ID 조건 키를 사용하여의 특정 조직에 대한 액세스를 제한할 수 있습니다 AWS Organizations. 버킷 정책에 대한 자세한 내용은 Amazon Simple Storage Service의 버킷 정책을 참조하세요.

{ "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:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333", "aws:SourceArn":"arn:partition:acm-pca:region:111122223333:certificate-authority/CA_ID" } } } ] }

감사 보고서 생성

콘솔이나 AWS CLI에서 감사 보고서를 생성할 수 있습니다.

감사 보고서를 생성하는 방법(콘솔)
  1. AWS 계정에 로그인하고 https://console.aws.amazon.com/acm-pca/ 홈에서 AWS Private CA 콘솔을 엽니다.

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

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

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

    예를 선택하면가 기본 정책을 AWS Private CA 생성하고 버킷에 연결합니다. 기본 정책에는 특정 AWS 계정에 대한 액세스를 제한하는 aws:SourceAccount 조건 키가 포함되어 있습니다. 액세스를 추가로 제한하려면 이전 예제와 같이 정책에 다른 조건 키를 추가할 수 있습니다.

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

  5. 출력 형식에서 JSON for JavaScript 객체 표기법 또는 CSV for 쉼표로 구분된 값을 선택합니다.

  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 amzn-s3-demo-bucket \ --audit-report-response-format JSON

감사 보고서 검색

검사를 위해 감사 보고서를 검색하려면 Amazon S3 콘솔, API, CLI 또는 SDK를 사용합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 다운로드를 참조하세요.

감사 보고서 암호화

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

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

  • 사양에 맞게 AWS KMS key 구성된 AWS Key Management Service 및를 사용한 고객 관리형 암호화입니다.

참고

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

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

자동 암호화를 구성하려면

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

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

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

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

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

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

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

  7. 변경 사항 저장을 선택합니다.

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

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

  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 키에서 선택 또는 Enter AWS KMS key ARN를 선택합니다.

  8. 변경 사항 저장을 선택합니다.

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

    $ 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. 먼저 다음 KMS 명령을 policy.json 사용하여 get-key-policy 키의 기본 정책을 로 저장합니다.

      $ 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