

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

# 의 프라이빗 인증서 AWS Certificate Manager
<a name="private-certificates.title"></a>

에서 생성한 기존 프라이빗 CA에 액세스할 수 있는 경우 AWS Private CA, AWS Certificate Manager (ACM)은 프라이빗 키 인프라(PKI)에 사용하기에 적합한 인증서를 요청할 수 있습니다. CA는 사용자의 계정에 상주하거나 다른 계정에 의해 공유될 수 있습니다. 사설 CA 생성에 대한 자세한 내용은 [사설 인증 기관 생성](https://docs.aws.amazon.com/privateca/latest/userguide/create-CA.html)을 참조하세요.

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

프라이빗 ACM 인증서는 X.509 표준을 따르며 다음 제한 사항이 적용됩니다.
+ **이름:** DNS를 준수하는 주체 이름을 사용해야 합니다. 자세한 내용은 [도메인 이름](acm-concepts.md#concept-dn) 단원을 참조하십시오.
+ **알고리즘:** 암호화를 위해서는 인증서 프라이빗 키 알고리즘이 2048비트 RSA, 256비트 ECDSA 또는 384비트 ECDSA 중 하나에 해당해야 합니다.
**참고**  
지정된 서명 알고리즘 패밀리(RSA 또는 ECDSA)는 CA의 보안 암호 키의 알고리즘 패밀리와 일치해야 합니다.
+ **만료:** 각 프라이빗 인증서는 13개월(395일) 동안 유효합니다. 서명한 CA 인증서의 만료 날짜가 요청된 인증서의 만료 날짜를 초과해서는 안 되며, 초과할 경우 인증서 요청이 실패하게 됩니다.
**참고**  
프라이빗 인증서의 유효 기간은 퍼블릭 인증서보다 깁니다. 퍼블릭 ACM 인증서는 198일 동안 유효합니다. 퍼블릭 인증서에 대한 자세한 내용은 섹션을 참조하세요[에서 퍼블릭 인증서 요청 AWS Certificate Manager](acm-public-certificates.md).
+ **갱신:** ACM은 11개월 후에 프라이빗 인증서를 자동으로 갱신하려고 시도합니다.

최종 엔티티 인증서에 서명하는 데 사용되는 사설 CA에는 다음과 같은 자체 제한이 적용됩니다.
+ CA는 활성 상태여야 합니다.

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

**Topics**
+ [를 사용하여 ACM 프라이빗 인증서에 서명 AWS Private CA 하는 조건](ca-access.md)
+ [에서 프라이빗 인증서 요청 AWS Certificate Manager](gs-acm-request-private.md)
+ [AWS Certificate Manager 프라이빗 인증서 내보내기](export-private.md)

# 를 사용하여 ACM 프라이빗 인증서에 서명 AWS Private CA 하는 조건
<a name="ca-access"></a>

다음 두 경우 중 하나에서 AWS Private CA 를 사용하여 ACM 인증서에 서명할 수 있습니다.
+ **단일 계정**: 서명하는 CA와 발급된 AWS Certificate Manager (ACM) 인증서가 동일한 AWS 계정에 상주합니다.

  단일 계정 발급 및 갱신을 사용하려면, AWS Private CA 관리자가 ACM 서비스 보안 주체에 인증서를 생성, 검색 및 나열할 수 있는 권한을 부여해야 합니다. 이는 API 작업 [CreatePermission](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreatePermission.html) 또는 AWS CLI 명령 [create-permission](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/create-permission.html)을 사용하여 AWS Private CA 수행됩니다. 계정 소유자는 인증서 발급을 담당하는 IAM 사용자, 그룹 또는 역할에 이러한 권한을 할당합니다.
+ **교차 계정**: 서명 CA와 발급된 ACM 인증서는 서로 다른 AWS 계정에 있으며 인증서가 있는 계정에 CA에 대한 액세스 권한이 부여되었습니다.

  교차 계정 발급 및 갱신을 AWS Private CA 활성화하려면 관리자가 AWS Private CA API 작업 [PutPolicy](https://docs.aws.amazon.com/privateca/latest/APIReference/API_PutPolicy.html) 또는 AWS CLI 명령 [put-policy](https://docs.aws.amazon.com/cli/latest/reference/acm-pca/put-policy.html)를 사용하여 CA에 리소스 기반 정책을 연결해야 합니다. 이 정책은 CA에 대해 제한된 액세스가 허용되는 다른 계정의 보안 주체를 지정합니다. 자세한 내용은 [ACM Private CA에서 리소스 기반 정책 사용](https://docs.aws.amazon.com/privateca/latest/userguide/pca-rbp.html)을 참조하세요.

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

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

  자세한 내용은 [ACM에서 서비스 연결 역할 사용](https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html)을 참조하세요.

**중요**  
ACM 인증서를 자동으로 갱신하려면 지원되는 AWS 서비스와 적극적으로 연결해야 합니다. ACM이 지원하는 리소스에 대한 자세한 내용은 [ACM에 통합된 서비스](acm-services.md) 섹션을 참조하세요.

# 에서 프라이빗 인증서 요청 AWS Certificate Manager
<a name="gs-acm-request-private"></a>

## 프라이빗 인증서 요청(콘솔)
<a name="request-private-console"></a>

1.  AWS Management Console에 로그인하고 [https://console.aws.amazon.com/acm/home](https://console.aws.amazon.com/acm/home) ACM 콘솔을 엽니다.

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

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

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

   CA에 대한 세부 정보가 표시되므로 올바른 CA를 선택했는지 확인할 수 있습니다.
   + **소유자**
   + **유형**
   + **일반 이름(CN)**
   + **조직(O)**
   + **조직 단위(OU)**
   + **국가 이름(C)**
   + **주 또는 지방**
   + **시 이름**

1. **도메인 이름(Domain names)** 섹션에서 도메인 이름을 입력합니다. **www.example.com** 같은 FQDN(Fully Qualified Domain Name)이나 **example.com** 같은 베어 또는 apex 도메인 이름을 사용할 수 있습니다. 맨 왼쪽에서 별표(**\$1**)를 와일드카드로 사용하여 동일한 도메인 내에서 여러 사이트 이름을 보호할 수도 있습니다. 예를 들어 **\$1.example.com**은 **corp.example.com** 및 **images.example.com**을 보호합니다. 와일드카드 이름은 **주체(Subject)** 필드와 ACM 인증서의 **주체 대체 이름(Subject Alternative Name)** 확장에 표시됩니다.
**참고**  
와일드카드 인증서를 요청할 때 별표(**\$1**)는 도메인 이름의 맨 왼쪽에 와야 하며 하나의 하위 도메인 수준만 보호할 수 있습니다. 예를 들어 **\$1.example.com**은 **login.example.com** 및 **test.example.com**을 보호할 수 있지만 **test.login.example.com**은 보호할 수 없습니다. 또한 **\$1.example.com**은 **example.com**의 하위 도메인*만* 보호하고 베어 또는 apex 도메인(**example.com**)은 보호하지 못합니다. 둘 모두를 보호하려면 다음 단계를 참조하세요.

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

1. **키 알고리즘** 섹션에서 알고리즘을 선택합니다.

   알고리즘 선택에 도움이 되는 자세한 내용은 AWS 블로그 게시물 [에서 ECDSA 인증서를 평가하고 사용하는 방법을 AWS Certificate Manager](https://aws.amazon.com/blogs/security/how-to-evaluate-and-use-ecdsa-certificates-in-aws-certificate-manager/)참조하세요.

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

1. **인증서 갱신 권한(Certificate renewal permissions)** 섹션에서 인증서 갱신 권한에 대한 통지를 확인합니다. 이러한 권한을 사용하면 선택한 CA로 서명된 프라이빗 PKI 인증서를 자동으로 갱신할 수 있습니다. 자세한 내용은 [ACM에서 서비스 연결 역할 사용](https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html)을 참조하세요.

1. 필수 정보를 모두 제공한 후 **요청(Request)**을 선택합니다. 콘솔에서 새 인증서를 볼 수 있는 인증서 목록으로 돌아갑니다.
**참고**  
목록을 정렬한 방법에 따라 찾고 있는 인증서가 즉시 표시되지 않을 수 있습니다. 오른쪽의 검은색 삼각형을 클릭하여 순서를 변경할 수 있습니다. 오른쪽 상단의 페이지 번호를 사용하여 여러 페이지의 인증서를 탐색할 수도 있습니다.

## 프라이빗 인증서 요청(CLI)
<a name="request-private-cli"></a>

[request-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm/request-certificate.html) 명령을 사용하여 ACM에서 프라이빗 인증서를 요청합니다.

**참고**  
CA가 서명한 프라이빗 PKI 인증서를 요청할 때 AWS Private CA지정된 서명 알고리즘 패밀리(RSA 또는 ECDSA)는 CA 보안 키의 알고리즘 패밀리와 일치해야 합니다.

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

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

```
{
    "CertificateArn": "arn:aws:acm:Region:444455556666: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에서 서비스 연결 역할 사용](https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html)을 참조하세요.

# AWS Certificate Manager 프라이빗 인증서 내보내기
<a name="export-private"></a>

프라이빗 PKI 환경의 어디에서나 사용할 수 AWS Private CA 있도록에서 발급한 인증서를 내보낼 수 있습니다. 내보낸 파일에는 인증서, 인증서 체인 및 암호화된 프라이빗 키가 포함됩니다. 이 파일을 안전하게 저장해야 합니다. 에 대한 자세한 내용은 [AWS Private Certificate Authority 사용 설명서를](https://docs.aws.amazon.com/privateca/latest/userguide/) AWS Private CA참조하세요.

**참고**  
ACM을 통해 발급된 퍼블릭 인증서를 내보내려면 [ACM 내보내기 가능 퍼블릭 인증서를](https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html) 참조하세요.

**Topics**
+ [프라이빗 인증서 내보내기(콘솔)](#export-console)
+ [프라이빗 인증서 내보내기(CLI)](#export-cli)

## 프라이빗 인증서 내보내기(콘솔)
<a name="export-console"></a>

1.  AWS Management Console에 로그인하고 [https://console.aws.amazon.com/acm/home](https://console.aws.amazon.com/acm/home) ACM 콘솔을 엽니다.

1. **Certificate Manager**를 선택합니다.

1. 내보내려는 인증서의 링크를 선택하세요.

1. **내보내기**를 선택합니다.

1. 프라이빗 키의 암호를 입력하고 확인합니다.
**참고**  
암호를 만들 때 \$1, \$1 또는%를 제외한 모든 ASCII 문자를 사용할 수 있습니다.

1. **PEM 인코딩 생성**을 선택합니다.

1. 인증서, 인증서 체인 및 암호화된 키를 메모리에 복사하거나 각각에 대해 **파일로 내보내기**를 선택할 수 있습니다.

1. **완료**를 선택합니다.

## 프라이빗 인증서 내보내기(CLI)
<a name="export-cli"></a>

[export-certificate](https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html) 명령을 사용하여 사설 인증서와 프라이빗 키를 내보냅니다. 명령을 실행할 때 암호를 할당해야 합니다. 보안을 강화하려면 파일 편집기를 사용하여 파일에 암호를 저장한 다음 파일을 제공하여 암호를 제공합니다. 이렇게 하면 암호가 명령 레코드에 저장되지 않으며 암호를 입력할 때 다른 사람이 암호를 볼 수 없습니다.

**참고**  
암호가 포함된 파일은 행 종결자로 끝나지 않아야 합니다. 다음과 같은 암호 파일을 확인할 수 있습니다.  

```
$ file -k passphrase.txt
passphrase.txt: ASCII text, with no line terminators
```

다음 예제는 명령 출력을 `jq`로 파이핑하여 PEM 형식 지정을 적용합니다.

```
[Windows/Linux]
$ aws acm export-certificate \
     --certificate-arn arn:aws:acm:Region:444455556666:certificate/certificate_ID \
     --passphrase fileb://path-to-passphrase-file  \
     | jq -r '"\(.Certificate)\(.CertificateChain)\(.PrivateKey)"'
```

이것은 base64로 인코딩된, PEM 형식 인증서를 출력하며, 다음 축약된 예에서와 같이 인증서 체인과 프라이빗 키도 포함합니다.

```
-----BEGIN CERTIFICATE-----
MIIDTDCCAjSgAwIBAgIRANWuFpqA16g3IwStE3vVpTwwDQYJKoZIhvcNAQELBQAw
EzERMA8GA1UECgwIdHJvbG9sb2wwHhcNMTkwNzE5MTYxNTU1WhcNMjAwODE5MTcx
NTU1WjAXMRUwEwYDVQQDDAx3d3cuc3B1ZHMuaW8wggEiMA0GCSqGSIb3DQEBAQUA
...
8UNFQvNoo1VtICL4cwWOdLOkxpwkkKWtcEkQuHE1v5Vn6HpbfFmxkdPEasoDhthH
FFWIf4/+VOlbDLgjU4HgtmV4IJDtqM9rGOZ42eFYmmc3eQO0GmigBBwwXp3j6hoi
74YM+igvtILnbYkPYhY9qz8h7lHUmannS8j6YxmtpPY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIC8zCCAdugAwIBAgIRAM/jQ/6h2/MI1NYWX3dDaZswDQYJKoZIhvcNAQELBQAw
EzERMA8GA1UECgwIdHJvbG9sb2wwHhcNMTkwNjE5MTk0NTE2WhcNMjkwNjE5MjA0
NTE2WjATMREwDwYDVQQKDAh0cm9sb2xvbDCCASIwDQYJKoZIhvcNAQEBBQADggEP
...
j2PAOviqIXjwr08Zo/rTy/8m6LAsmm3LVVYKLyPdl+KB6M/+H93Z1/Bs8ERqqga/
6lfM6iw2JHtkW+q4WexvQSoqRXFhCZWbWPZTUpBS0d4/Y5q92S3iJLRa/JQ0d4U1
tWZyqJ2rj2RL+h7CE71XIAM//oHGcDDPaQBFD2DTisB/+ppGeDuB
-----END CERTIFICATE-----
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFKzBVBgkqhkiG9w0BBQ0wSDAnBgkqhkiG9w0BBQwwGgQUMrZb7kZJ8nTZg7aB
1zmaQh4vwloCAggAMB0GCWCGSAFlAwQBKgQQDViroIHStQgNOjR6nTUnuwSCBNAN
JM4SG202YPUiddWeWmX/RKGg3lIdE+A0WLTPskNCdCAHqdhOSqBwt65qUTZe3gBt
...
ZGipF/DobHDMkpwiaRR5sz6nG4wcki0ryYjAQrdGsR6EVvUUXADkrnrrxuHTWjFl
wEuqyd8X/ApkQsYFX/nhepOEIGWf8Xu0nrjQo77/evhG0sHXborGzgCJwKuimPVy
Fs5kw5mvEoe5DAe3rSKsSUJ1tM4RagJj2WH+BC04SZWNH8kxfOC1E/GSLBCixv3v
+Lwq38CEJRQJLdpta8NcLKnFBwmmVs9OV/VXzNuHYg==
-----END ENCRYPTED PRIVATE KEY-----
```

모든 요소를 파일로 출력하려면 이전 예제에 `>` 리디렉션을 추가하여 다음을 출력합니다.

```
$ aws acm export-certificate \
     --certificate-arn arn:aws:acm:Region:444455556666:certificate/certificate_ID \
     --passphrase fileb://path-to-passphrase-file \
     | jq -r '"\(.Certificate)\(.CertificateChain)\(.PrivateKey)"' \
     > /tmp/export.txt
```