프라이빗 PKI 인증서 요청 - AWS Certificate Manager

프라이빗 PKI 인증서 요청

AWS Private CA에서 생성한 기존 사설 CA에 액세스할 수 있는 경우, ACM은 프라이빗 PKI에서 사용하기에 적합한 인증서를 요청할 수 있습니다. CA는 사용자의 계정에 상주하거나 다른 계정에 의해 공유될 수 있습니다. 사설 CA 생성에 대한 자세한 내용은 사설 인증 기관 생성을 참조하세요.

프라이빗 CA가 서명한 인증서는 기본적으로 신뢰할 수 없으며 ACM에서는 인증서에 대한 어떤 형태의 검증도 지원하지 않습니다. 따라서 관리자는 조직의 클라이언트 트러스트 스토어에 인증서를 설치하기 위한 조치를 취해야 합니다.

프라이빗 ACM 인증서는 X.509 표준을 따르며 다음 제한 사항이 적용됩니다.

  • 이름: DNS를 준수하는 주체 이름을 사용해야 합니다. 자세한 내용은 도메인 이름 섹션을 참조하세요.

  • 알고리즘: 암호화를 위해서는 인증서 프라이빗 키 알고리즘이 2048비트 RSA, 256비트 ECDSA 또는 384비트 ECDSA 중 하나에 해당해야 합니다.

  • 만료: 각 인증서는 13개월(395일) 동안 유효합니다. 서명한 CA 인증서의 만료 날짜가 요청된 인증서의 만료 날짜를 초과해서는 안 되며, 초과할 경우 인증서 요청이 실패하게 됩니다.

  • 갱신: ACM은 11개월 후에 프라이빗 인증서를 자동으로 갱신하려고 시도합니다.

최종 엔티티 인증서에 서명하는 데 사용되는 사설 CA에는 다음과 같은 자체 제한이 적용됩니다.

  • CA는 활성 상태여야 합니다.

  • CA 프라이빗 키 알고리즘은 RSA 2048 또는 RSA 4096이어야 합니다.

참고

공개적으로 신뢰할 수 있는 인증서와 달리, 프라이빗 CA에서 서명한 인증서는 검증이 필요하지 않습니다.

프라이빗 CA에 대한 액세스 구성

다음 두 가지 경우 중 하나에서 AWS Private CA를 사용하여 ACM 인증서에 서명할 수 있습니다.

  • 단일 계정: 서명한 CA와 발급된 ACM 인증서가 동일한 AWS 계정에 상주합니다.

    단일 계정 발급 및 갱신을 사용하려면, AWS Private CA 관리자가 ACM 서비스 보안 주체에 인증서를 생성, 검색 및 나열할 수 있는 권한을 부여해야 합니다. 이러한 권한은 AWS Private CA API 작업 CreatePermission 또는 AWS CLI 명령 create-permission을 사용하여 부여합니다. 계정 소유자가 인증서 발급을 담당하는 IAM 사용자 또는 그룹에 이러한 권한을 할당합니다.

  • 계정 간: 서명한 CA와 발급된 ACM 인증서가 서로 다른 AWS 계정에 상주하며, 인증서가 상주하는 계정에 CA에 대한 액세스 권한이 부여됩니다.

    계정 간 발급 및 갱신을 사용하려면 AWS Private CA 관리자가 AWS Private CA API 작업 PutPolicy 또는 AWS CLI 명령 put-policy를 사용하여 리소스 기반 정책을 CA에 연결해야 합니다. 이 정책은 CA에 대해 제한된 액세스가 허용되는 다른 계정의 보안 주체를 지정합니다. 자세한 내용은 ACM Private CA에서 리소스 기반 정책 사용을 참조하세요.

    계정 간 시나리오에서는 ACM이 PCA 정책과 보안 주체로서 상호 작용하는 서비스 연결 역할(SLR)을 설정해야 합니다. ACM은 첫 번째 인증서를 발급하는 동안 SLR을 자동으로 생성합니다.

    이 경우 ACM은 계정에 SLR이 있는지 여부를 확인할 수 없다는 알림을 표시할 수 있습니다. 필요한 iam:GetRole 권한이 이미 계정의 ACM SLR에 부여된 경우, SLR이 생성된 후 알림이 다시 표시되지 않습니다. 알림이 다시 표시될 경우 사용자 또는 계정 관리자가 ACM에 iam:GetRole 권한을 부여하거나 계정을 ACM 관리형 정책 AWSCertificateManagerFullAccess에 연결해야 할 수 있습니다.

    자세한 내용은 ACM에서 서비스 연결 역할 사용을 참조하세요.

중요

ACM 인증서를 지원되는 AWS 서비스에 능동적으로 연결해야 자동 갱신이 가능합니다. ACM이 지원하는 리소스에 대한 자세한 내용은 AWS Certificate Manager에 통합된 서비스 섹션을 참조하세요.

ACM 콘솔을 사용하여 프라이빗 PKI 인증서 요청

  1. AWS 관리 콘솔에 로그인하여 https://console.aws.amazon.com/acm/home에서 ACM 콘솔을 엽니다.

    인증서 요청을 선택합니다.

  2. 인증서 요청 페이지에서 프라이빗 인증서 요청(Request a private certificate)을 선택하고 다음(Next)을 선택하여 계속합니다.

  3. 인증 기관 세부 정보(Certificate authority details) 섹션에서 인증 기관(Certificate authority) 메뉴를 클릭하고 사용할 수 있는 프라이빗 CA 중 하나를 선택합니다. 다른 계정에서 CA를 공유한 경우 ARN 앞에 소유권 정보가 표시됩니다.

    CA에 대한 세부 정보가 표시되므로 올바른 CA를 선택했는지 확인할 수 있습니다.

    • 소유자

    • 유형

    • 일반 이름(CN)

    • 조직(O)

    • 조직 단위(OU)

    • 국가 이름(C)

    • 주 또는 지방

    • 시 이름

  4. 도메인 이름(Domain names) 섹션에서 도메인 이름을 입력합니다. www.example.com 같은 FQDN(Fully Qualified Domain Name)이나 example.com 같은 베어 또는 apex 도메인 이름을 사용할 수 있습니다. 맨 왼쪽에서 별표(*)를 와일드카드로 사용하여 동일한 도메인 내에서 여러 사이트 이름을 보호할 수도 있습니다. 예를 들어 *.example.comcorp.example.comimages.example.com을 보호합니다. 와일드카드 이름은 [주체(Subject)] 필드와 ACM 인증서의 [주체 대체 이름(Subject Alternative Name)] 확장에 표시됩니다.

    참고

    와일드카드 인증서를 요청할 때 별표(*)는 도메인 이름의 맨 왼쪽에 와야 하며 하나의 하위 도메인 수준만 보호할 수 있습니다. 예를 들어 *.example.comlogin.example.comtest.example.com을 보호할 수 있지만 test.login.example.com은 보호할 수 없습니다. 또한 *.example.comexample.com의 하위 도메인 보호하고 베어 또는 apex 도메인(example.com)은 보호하지 못합니다. 둘 모두를 보호하려면 다음 단계를 참조하세요.

    또는 이 인증서에 다른 이름 추가(Add another name to this certificate)를 선택하고 텍스트 상자에 이름을 입력합니다. 이렇게 하면 베어 또는 apex 도메인(예: example.com)과 하위 도메인(예: *.example.com)을 인증하는 데 유용합니다.

  5. 키 알고리즘(Key algorithm) 섹션에서 다음과 같이 사용 가능한 세 가지 알고리즘 중 하나를 선택합니다.

    • RSA 2048(기본값)

    • ECDSA P 256

    • ECDSA P 384

    알고리즘을 선택하는 도움이 되는 정보는 주요 알고리즘 섹션을 참조하세요

  6. 태그 페이지에서 선택 사항으로 인증서에 태그를 지정할 수 있습니다. 태그는 AWS 리소스를 식별하고 구성하기 위한 메타데이터 역할을 하는 키-값 페어입니다. ACM 태그 파라미터 목록과 생성 후 인증서에 태그를 추가하는 방법에 대한 지침은 AWS Certificate Manager 인증서 태깅 섹션을 참조하세요.

  7. 인증서 갱신 권한(Certificate renewal permissions) 섹션에서 인증서 갱신 권한에 대한 통지를 확인합니다. 이러한 권한을 사용하면 선택한 CA로 서명된 프라이빗 PKI 인증서를 자동으로 갱신할 수 있습니다. 자세한 내용은 ACM에서 서비스 연결 역할 사용을 참조하세요.

  8. 필수 정보를 모두 제공한 후 요청(Request)을 선택합니다. 콘솔에서 새 인증서를 볼 수 있는 인증서 목록으로 돌아갑니다.

    참고

    목록을 정렬한 방법에 따라 찾고 있는 인증서가 즉시 표시되지 않을 수 있습니다. 오른쪽의 검은색 삼각형을 클릭하여 순서를 변경할 수 있습니다. 오른쪽 상단의 페이지 번호를 사용하여 여러 페이지의 인증서를 탐색할 수도 있습니다.

CLI를 사용하여 프라이빗 PKI 인증서 요청

request-certificate 명령을 사용하여 ACM에서 프라이빗 인증서를 요청합니다.

aws acm request-certificate \ --domain-name www.example.com \ --idempotency-token 12563 \ --certificate-authority-arn arn:aws:acm-pca:region:account:\ certificate-authority/CA_ID

이 명령은 새 사설 인증서의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateArn": "arn:aws:acm:region:account:certificate/certificate_ID" }

대부분의 경우 ACM은 공유 CA를 처음 사용할 때 서비스 연결 역할(SLR)을 계정에 자동으로 연결합니다. SLR은 발급한 최종 엔터티 인증서를 자동으로 갱신할 수 있도록 합니다. SLR이 있는지 확인하려면 다음 명령을 사용하여 IAM을 쿼리하면 됩니다.

aws iam get-role --role-name AWSServiceRoleForCertificateManager

SLR이 있으면 명령 출력이 다음과 같이 나타납니다.

{ "Role":{ "Path":"/aws-service-role/acm.amazonaws.com/", "RoleName":"AWSServiceRoleForCertificateManager", "RoleId":"AAAAAAA0000000BBBBBBB", "Arn":"arn:aws:iam::{account_no}:role/aws-service-role/acm.amazonaws.com/AWSServiceRoleForCertificateManager", "CreateDate":"2020-08-01T23:10:41Z", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }, "Description":"SLR for ACM Service for accessing cross-account Private CA", "MaxSessionDuration":3600, "RoleLastUsed":{ "LastUsedDate":"2020-08-01T23:11:04Z", "Region":"ap-southeast-1" } } }

SLR이 없으면 ACM에서 서비스 연결 역할 사용을 참조하세요.