

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

# 클라이언트 인증
<a name="client-authentication"></a>

AWS IoT 는 디바이스 또는 클라이언트 인증을 위해 세 가지 유형의 자격 증명 보안 주체를 지원합니다.
+ [X.509 클라이언트 인증서](x509-client-certs.md)
+ [IAM 사용자, 그룹 및 역할](iam-users-groups-roles.md)
+ [Amazon Cognito 자격 증명](cognito-identities.md)

이러한 자격 증명은 디바이스, 모바일, 웹 또는 데스크톱 애플리케이션에서 사용할 수 있습니다. 명령줄 인터페이스(CLI) AWS IoT 명령을 입력하는 사용자도 사용할 수 있습니다. 일반적으로 AWS IoT 디바이스는 X.509 인증서를 사용하는 반면, 모바일 애플리케이션은 Amazon Cognito 자격 증명을 사용합니다. 웹 및 데스크톱 애플리케이션은 IAM 또는 연동 자격 증명을 사용합니다. AWS CLI 명령은 IAM을 사용합니다. IAM 자격 증명에 대한 자세한 내용은 [에 대한 자격 증명 및 액세스 관리 AWS IoT](security-iam.md) 단원을 참조하세요.

# X.509 클라이언트 인증서
<a name="x509-client-certs"></a>

X.509 인증서 AWS IoT 는 클라이언트 및 디바이스 연결을 인증하는 기능을 제공합니다. 클라이언트가 통신하려면 AWS IoT 먼저 클라이언트 인증서를에 등록해야 합니다 AWS IoT. 클라이언트 인증서는 동일한 리전의 간에 디바이스를 쉽게 이동할 수 AWS 리전 있도록 동일한 AWS 계정의 여러 AWS 계정에 등록할 수 있습니다. 자세한 내용은 [다중 계정 등록을 통해 여러 AWS 계정에서 X.509 클라이언트 인증서 사용](#multiple-account-cert)를 참조하세요.

인증서 취소를 포함하여 세부적인 클라이언트 관리 작업이 가능하도록 각 디바이스 또는 클라이언트에 고유한 인증서를 부여하는 것이 좋습니다. 인증서 만료 시 원활한 작동을 보장하기 위해 디바이스 및 클라이언트가 인증서 교체 및 대체를 지원해야 합니다.

X.509 인증서를 사용하여 몇 개 이상의 디바이스를 지원하는 방법에 대한 자세한 내용은 [디바이스 프로비저닝](iot-provision.md) 단원을 참조하여 AWS IoT 이(가) 지원하는 다양한 인증서 관리 및 프로비저닝 옵션을 검토하세요.

**AWS IoT 는 다음과 같은 유형의 X.509 클라이언트 인증서를 지원합니다.**
+  에서 생성된 X.509 인증서 AWS IoT
+  에 등록된 CA가 서명한 X.509 인증서 AWS IoT.
+  AWS IoT에 등록되지 않은 CA에서 서명한 X.509 인증서입니다.

이 섹션에서는 AWS IoT에서 X.509 인증서를 관리하는 방법에 대해 설명합니다. AWS IoT 콘솔 또는 AWS CLI 를 사용하여 다음 인증서 작업을 수행할 수 있습니다.
+ [AWS IoT 클라이언트 인증서 생성](device-certs-create.md)
+ [자체 클라이언트 인증서 생성](device-certs-your-own.md)
+ [클라이언트 인증서 등록](register-device-cert.md)
+ [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md)
+ [클라이언트 인증서 취소](revoke-ca-cert.md)

이러한 작업을 수행하는 AWS CLI 명령에 대한 자세한 내용은 [AWS IoT CLI 참조](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/index.html)를 참조하세요.

## X.509 클라이언트 인증서 사용
<a name="x509-client-cert-basics"></a>

X.509 인증서는 클라이언트 및 디바이스 연결을 인증합니다 AWS IoT. X.509 인증서는 식별 및 인증 메커니즘보다 유용한 여러 가지 장점을 제공합니다. X.509 인증서가 있으면 디바이스에서 비대칭 키를 사용할 수 있습니다. 예를 들어 중요한 암호화 구성 요소가 디바이스를 벗어나지 않도록 프라이빗 키를 디바이스의 안전한 스토리지에 저장할 수 있습니다. 프라이빗 키가 디바이스를 전혀 벗어나지 않으므로 X.509 인증서는 사용자 이름 및 암호 또는 보유자 토큰과 같은 다른 체계보다 강력한 클라이언트 인증을 제공합니다.

AWS IoT 는 TLS 프로토콜의 클라이언트 인증 모드를 사용하여 클라이언트 인증서를 인증합니다. TLS 지원은 다수의 프로그래밍 언어 및 운영 체제에서 제공되며 데이터 암호화에 흔히 사용됩니다. TLS 클라이언트 인증에서는 X.509 클라이언트 인증서를 AWS IoT 요청하고 인증서의 레지스트리에 AWS 계정 대해 인증서의 상태를 검증합니다. 그런 다음 인증서에 포함된 퍼블릭 키에 해당하는 프라이빗 키의 소유권 증명을 위해 클라이언트에 문제를 제기합니다. AWS IoT 는 클라이언트가 전송 계층 보안(TLS[) 프로토콜에 SNI(Server Name Indication) 확장](https://tools.ietf.org/html/rfc3546#section-3.1)을 전송하도록 요구합니다. SNI 확장 구성에 대한 자세한 내용은 단원을 참조하세요[의 전송 보안 AWS IoT Core](transport-security.md)

 AWS IoT 코어에 대한 안전하고 일관된 클라이언트 연결을 용이하게 하려면 X.509 클라이언트 인증서에 다음이 포함되어야 합니다.
+  AWS IoT 코어에 등록됨. 자세한 내용은 [클라이언트 인증서 등록](register-device-cert.md) 단원을 참조하십시오.
+ `ACTIVE` 상태여야 합니다. 자세한 내용은 [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md) 단원을 참조하십시오.
+ 아직 인증서 만료 날짜가 되지 않았어야 합니다.

Amazon Root CA를 사용하는 클라이언트 인증서를 생성하고 다른 인증 기관(CA)에서 서명한 자체 클라이언트 인증서를 사용할 수 있습니다. AWS IoT 콘솔을 사용하여 Amazon Root CA를 사용하는 인증서를 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[AWS IoT 클라이언트 인증서 생성](device-certs-create.md). 자체 X.509 인증서 사용에 대한 자세한 내용은 [자체 클라이언트 인증서 생성](device-certs-your-own.md) 단원을 참조하세요.

CA 인증서에서 서명한 인증서의 만료 날짜 및 시간은 인증서 생성 시 설정됩니다. 에서 생성된 X.509 인증서는 2049년 12월 31일 자정 UTC(2049-12-31T23:59:59Z)에 AWS IoT 만료됩니다.

AWS IoT Device Defender 는 일반적인 IoT 보안 모범 사례를 지원하는 AWS 계정 및 디바이스에 대한 감사를 수행할 수 있습니다. 여기에는 CA 또는 Amazon Root CA에서 서명한 X.509 인증서의 만료 날짜 관리가 포함됩니다. 인증서의 만료 날짜 관리에 대한 자세한 내용은 [장치 인증서 만료](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/audit-chk-device-cert-approaching-expiration.html) 및 [CA 인증서 만료](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/audit-chk-ca-cert-approaching-expiration.html)를 참조하세요.

공식 AWS IoT 블로그에서는를 [사용하여 IoT 디바이스 인증서 교체를 관리하는 방법에서 디바이스 인증서 교체 AWS IoT](https://aws.amazon.com/blogs/iot/how-to-manage-iot-device-certificate-rotation-using-aws-iot/) 및 보안 모범 사례 관리에 대해 자세히 살펴봅니다.

## 다중 계정 등록을 통해 여러 AWS 계정에서 X.509 클라이언트 인증서 사용
<a name="multiple-account-cert"></a>

다중 계정 등록을 통해 동일한 리전 및 다른 리전의 AWS 계정사이에 디바이스를 이동할 수 있습니다. 프리 프로덕션 계정에 디바이스를 등록, 테스트 및 구성한 다음 프로덕션 계정에 동일한 디바이스 및 디바이스 인증서를 등록하고 사용할 수 있습니다. 디바이스에 클라이언트 인증서를 등록하거나 등록된 CA 없이 디바이스 인증서를 등록할 수도 있습니다 AWS IoT. 자세한 정보는 [등록되지 않은 CA로 서명된 클라이언트 인증서 등록(CLI)](manual-cert-registration.md#manual-cert-registration-noca-cli)을 참조하세요.

**참고**  
다중 계정 등록에 사용되는 인증서는 `iot:Data-ATS`, `iot:Data`(레거시), `iot:Jobs` 및 `iot:CredentialProvider` 엔드포인트 유형으로 지원됩니다. AWS IoT 디바이스 엔드포인트에 대한 자세한 내용은 섹션을 참조하세요[AWS IoT 디바이스 데이터 및 서비스 엔드포인트](iot-connect-devices.md#iot-connect-device-endpoints).

다중 계정 등록을 사용하는 디바이스는 전송 계층 보안[(TLS) 프로토콜로 SNI(Server Name Indication) 확장](https://tools.ietf.org/html/rfc3546#section-3.1)을 전송하고에 연결할 때 `host_name` 필드에 전체 엔드포인트 주소를 제공해야 합니다 AWS IoT.는의 엔드포인트 주소를 AWS IoT 사용하여 연결을 올바른 AWS IoT 계정으로 `host_name` 라우팅합니다. `host_name`에서 유효한 엔드포인트 주소를 전송하지 않는 기존 디바이스도 계속 작동하기는 하지만 이 정보가 필요한 기능은 사용할 수 없습니다. SNI 확장에 대한 자세한 내용과 `host_name` 필드의 엔드포인트 주소를 식별하는 방법은 [의 전송 보안 AWS IoT Core](transport-security.md) 단원을 참조하세요.

**다중 계정 등록을 사용하려면**

1. CA로 디바이스 인증서를 등록할 수 있습니다. `SNI_ONLY` 모드에서 여러 계정에 서명 CA를 등록하고 해당 CA를 사용하여 여러 계정에 동일한 클라이언트 인증서를 등록할 수 있습니다. 자세한 내용은 [SNI\$1ONLY 모드에서 CA 인증서 등록(CLI) - 권장됨](manage-your-CA-certs.md#register-CA-cert-SNI-cli) 단원을 참조하십시오.

1. CA 없이 디바이스 인증서를 등록할 수 있습니다. [등록되지 않은 CA로 서명된 클라이언트 인증서 등록(CLI)](manual-cert-registration.md#manual-cert-registration-noca-cli)을(를) 참조하세요. CA 등록은 선택 사항입니다. 디바이스 인증서에 서명한 CA를 등록할 필요는 없습니다 AWS IoT.

## 에서 지원하는 인증서 서명 알고리즘 AWS IoT
<a name="x509-cert-algorithms"></a>

AWS IoT 는 다음과 같은 인증서 서명 알고리즘을 지원합니다.
+ SHA256WITHRSA
+ SHA384WITHRSA
+ SHA512WITHRSA
+ SHA256WITHRSAANDMGF1(RSASSA-PSS)
+ SHA384WITHRSAANDMGF1(RSASSA-PSS)
+ SHA512WITHRSAANDMGF1(RSASSA-PSS)
+ DSA\$1WITH\$1SHA256
+ ECDSA-WITH-SHA256
+ ECDSA-WITH-SHA384
+ ECDSA-WITH-SHA512

인증서 인증 및 보안에 대한 자세한 내용은 [디바이스 인증서 키 품질](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/audit-chk-device-cert-key-quality.html) 섹션을 참조하세요.

**참고**  
인증서 서명 요청(CSR)에는 퍼블릭 키가 포함되어야 합니다. 키는 길이가 2,048비트 이상인 RSA 키이거나 NIST P-256, NIST P-384, NIST P-521 곡선의 ECC 키일 수 있습니다. 자세한 내용은AWS IoT API 참조 가이드**의 [CreateCertificateFromCsr](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCertificateFromCsr.html)을 참조하세요.

## 에서 지원하는 키 알고리즘 AWS IoT
<a name="x509-cert-key-algorithms"></a>

아래 표는 키 알고리즘이 지원되는 방법을 보여줍니다.


****  

| 주요 알고리즘 | 인증서 서명 알고리즘 | TLS 버전 | 지원 여부 [Yes] 또는 [No] | 
| --- | --- | --- | --- | 
| 키 크기가 2,048비트 이상인 RSA | 모두 | TLS 1.2 TLS 1.3 | 예 | 
| ECC NIST P-256/P-384/P-521 | 모두 | TLS 1.2 TLS 1.3 | 예 | 
| 키 크기가 2,048비트 이상인 RSA-PSS | 모두 | TLS 1.2 | 아니요 | 
| 키 크기가 2,048비트 이상인 RSA-PSS | 모두 | TLS 1.3 | 예 | 

[CreateCertificateFromCSR](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateCertificateFromCsr.html)을 사용하여 인증서를 생성하려면 지원되는 키 알고리즘을 사용하여 CSR에 대한 퍼블릭 키를 생성할 수 있습니다. [RegisterCertificate](https://docs.aws.amazon.com//iot/latest/apireference/API_RegisterCertificate.html) 또는 [RegisterCertificateWithoutCA](https://docs.aws.amazon.com//iot/latest/apireference/API_RegisterCertificateWithoutCA.html)를 사용하여 자체 인증서를 등록하려면 지원되는 키 알고리즘을 사용하여 인증서에 대한 퍼블릭 키를 생성할 수 있습니다.

자세한 내용은 [보안 정책](https://docs.aws.amazon.com//iot/latest/developerguide/transport-security.html#tls-policy-table)을 참조하세요.

# AWS IoT 클라이언트 인증서 생성
<a name="device-certs-create"></a>

AWS IoT 는 Amazon Root 인증 기관(CA)에서 서명한 클라이언트 인증서를 제공합니다.

이 주제에서는 Amazon Root 인증 기관에서 서명한 클라이언트 인증서를 생성하고 인증서 파일을 다운로드하는 방법에 대해 설명합니다. 클라이언트 인증서 파일을 생성한 후에는 클라이언트에 설치해야 합니다.

**참고**  
에서 제공하는 각 X.509 클라이언트 인증서 AWS IoT 에는 인증서 생성 시 설정한 발급자 및 주체 속성이 있습니다. 인증서 속성은 인증서를 만든 후에만 변경할 수 없습니다.

 AWS IoT 콘솔 또는를 사용하여 Amazon Root AWS IoT 인증 기관에서 서명한 인증서를 AWS CLI 생성할 수 있습니다.

## AWS IoT 인증서 생성(콘솔)
<a name="device-certs-create-console"></a>

**AWS IoT 콘솔을 사용하여 AWS IoT 인증서를 생성하려면**

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

1. 탐색 창에서 **보안**, **인증서**, **생성**을 차례대로 선택합니다.

1. **원클릭 인증서 생성(권장)**과 **인증서 생성**을 선택합니다.

1. **인증서 생성 완료** 페이지에서 사물, 퍼블릭 키 및 프라이빗 키에 대한 클라이언트 인증서 파일을 안전한 위치로 다운로드합니다. 에서 생성된 이러한 인증서 AWS IoT 는 AWS IoT 서비스에서만 사용할 수 있습니다.

   Amazon Root CA 인증서 파일도 필요한 경우 이 페이지에는 다운로드할 수 있는 페이지로 연결되는 링크도 있습니다.

1. 이제 클라이언트 인증서가 생성되고 AWS IoT에 등록되었습니다. 클라이언트에서 인증서를 사용하기 전에 인증서를 활성화해야 합니다.

    지금 클라이언트 인증서를 활성화하려면 **활성화**를 선택합니다. 지금 인증서를 지금 활성화하지 않으려면 [클라이언트 인증서 활성화(콘솔)](activate-or-deactivate-device-cert.md#activate-device-cert-console)에서 나중에 인증서를 활성화하는 방법을 알아보세요.

   

1. 인증서에 정책을 연결하려면 **정책 연결**을 선택합니다.

   지금 정책을 연결하지 않으려면 **완료**를 선택하여 완료합니다. 나중에 정책을 연결할 수 있습니다.

절차를 완료 한 후 클라이언트에 인증서 파일을 설치합니다.

## AWS IoT 인증서 생성(CLI)
<a name="device-certs-create-cli"></a>

는 Amazon Root 인증 기관에서 서명한 클라이언트 인증서를 생성하는 **[create-keys-and-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-keys-and-certificate.html)** 명령을 AWS CLI 제공합니다. 그러나 이 명령은 Amazon Root CA 인증서 파일을 다운로드하지 않습니다. [서버 인증을 위한 CA 인증서](server-authentication.md#server-authentication-certs)에서 Amazon Root CA 인증서 파일을 다운로드할 수 있습니다.

이 명령은 프라이빗 키, 퍼블릭 키 및 X.509 인증서 파일을 생성하고 인증서를 등록하고 활성화합니다 AWS IoT.

```
aws iot create-keys-and-certificate \
    --set-as-active \
    --certificate-pem-outfile certificate_filename.pem \
    --public-key-outfile public_filename.key \
    --private-key-outfile private_filename.key
```

인증서를 생성하고 등록할 때 인증서를 활성화하지 않으려면 이 명령은 프라이빗 키, 퍼블릭 키 및 X.509 인증서 파일을 생성하고 인증서를 등록하지만 인증서를 활성화하지는 않습니다. [클라이언트 인증서 활성화(CLI)](activate-or-deactivate-device-cert.md#activate-device-cert-cli)에서는 나중에 인증서를 활성화하는 방법에 대해 설명합니다.

```
aws iot create-keys-and-certificate \
    --no-set-as-active \
    --certificate-pem-outfile certificate_filename.pem \
    --public-key-outfile public_filename.key \
    --private-key-outfile private_filename.key
```



클라이언트에 인증서 파일을 설치합니다.

# 자체 클라이언트 인증서 생성
<a name="device-certs-your-own"></a>

AWS IoT 는 루트 또는 중간 인증 기관(CA)에서 서명한 클라이언트 인증서를 지원합니다.는 CA 인증서를 AWS IoT 사용하여 인증서의 소유권을 확인합니다. Amazon의 CA가 아닌 CA에서 서명한 디바이스 인증서를 사용하려면 디바이스 인증서의 소유권을 확인할 수 AWS IoT 있도록 CA의 인증서를에 등록해야 합니다.

AWS IoT 는 자체 인증서를 가져오는 여러 가지 방법(BYOC)을 지원합니다.
+ 먼저 클라이언트 인증서 서명에 사용되는 CA를 등록한 다음 개별 클라이언트 인증서를 등록합니다. 디바이스 또는 클라이언트가 처음 연결될 때 클라이언트 인증서에 등록하려면 AWS IoT ([Just-in-Time Provisioning](https://docs.aws.amazon.com//iot/latest/developerguide/jit-provisioning.html)이라고도 함) 서명 CA를에 AWS IoT 등록하고 자동 등록을 활성화해야 합니다.
+ 서명 CA를 등록할 수 없는 경우 CA 없이 클라이언트 인증서를 등록하도록 선택할 수 있습니다. CA 없이 등록된 디바이스의 경우 AWS IoT에 연결할 때 [서버 이름 표시(SNI)](https://www.rfc-editor.org/rfc/rfc3546#section-3.1)를 제시해야 합니다.

**참고**  
CA를 사용하여 클라이언트 인증서를 등록하려면 계층 구조의 다른 CA가 AWS IoT아닌에 서명 CAs를 등록해야 합니다.

**참고**  
CA 인증서는 한 리전의 한 계정에서만 `DEFAULT` 모드로 등록할 수 있습니다. CA 인증서는 한 리전의 여러 계정에서 `SNI_ONLY` 모드로 등록할 수 있습니다.

X.509 인증서를 사용하여 몇 개 이상의 디바이스를 지원하는 방법에 대한 자세한 내용은 [디바이스 프로비저닝](iot-provision.md) 단원을 참조하여 AWS IoT 이(가) 지원하는 다양한 인증서 관리 및 프로비저닝 옵션을 검토하세요.

**Topics**
+ [CA 인증서 관리](manage-your-CA-certs.md)
+ [CA 인증서를 사용하여 클라이언트 인증서 생성](create-device-cert.md)

# CA 인증서 관리
<a name="manage-your-CA-certs"></a>

이 섹션에서는 자체 인증 기관(CA) 인증서를 관리하기 위한 일반적인 작업에 대해 설명합니다.

인식하지 못하는 CA에서 서명한 클라이언트 인증서를 사용하는 AWS IoT 경우 인증 기관(CA)을에 등록할 수 AWS IoT 있습니다.

클라이언트가 처음 연결할 AWS IoT 때 클라이언트 인증서를에 자동으로 등록하도록 하려면 클라이언트 인증서에 서명한 CA를에 등록해야 합니다 AWS IoT. 그렇지 않으면 클라이언트 인증서를 서명한 CA 인증서를 등록할 필요가 없습니다.

**참고**  
CA 인증서는 한 리전의 한 계정에서만 `DEFAULT` 모드로 등록할 수 있습니다. CA 인증서는 한 리전의 여러 계정에서 `SNI_ONLY` 모드로 등록할 수 있습니다.

**Topics**
+ [CA 인증서 생성](#create-your-CA-cert)
+ [CA 인증서 등록](#register-CA-cert)
+ [CA 인증서 비활성화](#deactivate-ca-cert)

## CA 인증서 생성
<a name="create-your-CA-cert"></a>

CA 인증서가 없을 경우 [OpenSSL v1.1.1i](https://www.openssl.org/) 도구를 사용하여 인증서를 생성할 수 있습니다.

**참고**  
 AWS IoT 콘솔에서는이 절차를 수행할 수 없습니다.

**[OpenSSL v1.1.1i](https://www.openssl.org/) 도구를 사용하여 CA 인증서를 생성하려면**

1. 키 페어를 생성합니다.

   ```
   openssl genrsa -out root_CA_key_filename.key 2048
   ```

1. 키 페어의 프라이빗 키를 사용하여 CA 인증서를 생성합니다.

   ```
   openssl req -x509 -new -nodes \
       -key root_CA_key_filename.key \
       -sha256 -days 1024 \
       -out root_CA_cert_filename.pem
   ```

## CA 인증서 등록
<a name="register-CA-cert"></a>

이 절차에서는 Amazon의 CA가 아닌 인증 기관(CA)의 인증서를 등록하는 방법을 설명합니다. CA 인증서를 AWS IoT Core 사용하여 인증서 소유권을 확인합니다. Amazon의 CA가 아닌 CA에서 서명한 디바이스 인증서를 사용하려면 디바이스 인증서의 소유권을 확인할 수 AWS IoT Core 있도록 CA 인증서를에 등록해야 합니다.

### CA 인증서 등록(콘솔)
<a name="register-CA-cert-console"></a>

**참고**  
콘솔에서 CA 인증서를 등록하려면 콘솔에서 [CA 인증서 등록(Register CA certificate)](https://console.aws.amazon.com//iot/home#/create/cacertificate)을 시작합니다. 확인 인증서를 제공하거나 프라이빗 키에 액세스할 필요 없이 다중 계정 모드에서 CA를 등록할 수 있습니다. 다중 계정 모드에서 같은 AWS 리전의 여러 AWS 계정 으로 CA를 등록할 수 있습니다. CA 프라이빗 키의 확인 인증서와 소유권 증명을 제공하여 단일 계정 모드에서 CA를 등록할 수 있습니다.

### CA 인증서 등록(CLI)
<a name="register-CA-cert-cli"></a>

CA 인증서를 `DEFAULT` 모드 또는 `SNI_ONLY` 모드로 등록할 수 있습니다. CA는 한 AWS 계정 에 하나씩 `DEFAULT` 모드에 등록할 수 있습니다 AWS 리전. CA는 동일한에서 여러에 의해 `SNI_ONLY` 모드 AWS 계정 에 등록될 수 있습니다 AWS 리전. CA 인증서에 대한 자세한 정보는 [certificateMode](https://docs.aws.amazon.com//iot/latest/apireference/API_CACertificateDescription.html#iot-Type-CACertificateDescription-certificateMode)를 참조하세요.

**참고**  
`SNI_ONLY` 모드에서 CA를 등록하는 것이 좋습니다. 확인 인증서나 프라이빗 키에 대한 액세스 권한을 제공할 필요가 없으며 동일한 AWS 계정 에서 여러 로 CA를 등록할 수 있습니다 AWS 리전.

#### SNI\$1ONLY 모드에서 CA 인증서 등록(CLI) - 권장됨
<a name="register-CA-cert-SNI-cli"></a>

**사전 조건**

계속하기 전에 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.
+ 루트 CA의 인증서 파일(다음 예시에서 `root_CA_cert_filename.pem`으로 언급됨)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) 이상

**를 사용하여 `SNI_ONLY` 모드에서 CA 인증서를 등록하려면 AWS CLI**

1. CA 인증서를에 등록합니다 AWS IoT. **register-ca-certificate** 명령을 사용하여 CA 인증서 파일 이름을 입력합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [egister-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html)를 참조하세요.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --certificate-mode SNI_ONLY
   ```

   성공한 경우 이 명령은 *certificateId*를 반환합니다.

1. 이 시점에서 CA 인증서는에 등록 AWS IoT 되었지만 비활성 상태입니다. CA 인증서에서 서명한 클라이언트 인증서를 등록하려면 먼저 CA 인증서가 활성 상태여야 합니다.

   이 단계에서는 CA 인증서를 활성화합니다.

   다음과 같은 **update-certificate** CLI 명령을 사용하여 CA 인증서를 활성화합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html)를 참조하세요.

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

**describe-ca-certificate** 명령을 사용하여 CA 인증서의 상태를 확인합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html)를 참조하세요.

#### `DEFAULT` 모드에서 CA 인증서 등록(CLI)
<a name="register-CA-cert-default-cli"></a>

**사전 조건**

계속하기 전에 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.
+ 루트 CA의 인증서 파일(다음 예시에서 `root_CA_cert_filename.pem`으로 언급됨)
+ 루트 CA 인증서의 프라이빗 키 파일(다음 예시에서 `root_CA_key_filename.key`로 언급됨)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) 이상

**를 사용하여 `DEFAULT` 모드에서 CA 인증서를 등록하려면 AWS CLI**

1. 에서 등록 코드를 가져오려면를 AWS IoT사용합니다**get-registration-code**. 반환된 `registrationCode`를 저장하여 프라이빗 키 확인 인증서의 `Common Name`으로 사용합니다. 자세한 내용은 *AWS CLI 명령 참조 안내서*의 [get-registration-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-registration-code.html)를 참조하세요.

   ```
   aws iot get-registration-code
   ```

1. 프라이빗 키 확인 인증서의 키 페어를 생성합니다.

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. 프라이빗 키 확인 인증서에 대한 인증서 서명 요청(CSR)을 생성합니다. 인증서의 `Common Name` 필드를 **get-registration-code**에서 반환한 `registrationCode`로 설정합니다.

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   인증서의 `Common Name`을 비롯해 일부 정보를 입력하라는 메시지가 표시됩니다.

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

1. CSR을 사용하여 프라이빗 키 확인 인증서를 생성합니다.

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. CA 인증서를에 등록합니다 AWS IoT. 다음과 같이 CA 인증서 파일 이름과 프라이빗 키 확인 인증서 파일 이름을 **register-ca-certificate** 명령에 전달합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [egister-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html)를 참조하세요.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --verification-cert file://verification_cert_filename.pem
   ```

   성공한 경우 이 명령은 *인증서 ID*를 반환합니다.

1. 현재 CA 인증서는에 등록 AWS IoT 되었지만 활성 상태가 아닙니다. 서명한 클라이언트 인증서를 등록하려면 CA 인증서가 활성 상태여야 합니다.

   이 단계에서는 CA 인증서를 활성화합니다.

   다음과 같은 **update-certificate** CLI 명령을 사용하여 CA 인증서를 활성화합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html)를 참조하세요.

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

**describe-ca-certificate** 명령을 사용하여 CA 인증서의 상태를 확인합니다. 자세한 정보는 *AWS CLI 명령 참조*의 [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html)를 참조하세요.

### CA 검증 인증서를 생성하여 콘솔에서 CA 인증서를 등록합니다.
<a name="create-CA-verification-cert"></a>

**참고**  
이 절차는 AWS IoT 콘솔에서 CA 인증서를 등록하는 경우에만 사용할 수 있습니다.  
 AWS IoT 콘솔에서이 절차를 수행하지 않은 경우 콘솔의 CA 인증서 등록에서 [CA 인증서 등록](https://console.aws.amazon.com//iot/home#/create/cacertificate) 프로세스를 시작합니다.

계속하기 전에 동일한 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.
+ 루트 CA의 인증서 파일(다음 예시에서 `root_CA_cert_filename.pem`으로 언급됨)
+ 루트 CA 인증서의 프라이빗 키 파일(다음 예시에서 `root_CA_key_filename.key`로 언급됨)
+ [OpenSSL v1.1.1i](https://www.openssl.org/) 이상

**명령줄 인터페이스를 사용하여 CA 확인 인증서를 생성하여 콘솔에서 CA 인증서를 등록하는 방법**

1. 생성하려는 확인 인증서 키 파일의 이름으로 `verification_cert_key_filename.key`를 바꿉니다(예: **verification\$1cert.key**). 그런 다음, 이 명령을 실행하여 프라이빗 키 확인 인증서의 키 페어를 생성합니다.

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. `verification_cert_key_filename.key`를 1단계에서 생성한 키 파일의 이름으로 바꿉니다.

   `verification_cert_csr_filename.csr`을 생성하려는 인증서 서명 요청(CSR) 파일의 이름으로 바꿉니다. 예: **verification\$1cert.csr**.

   이 명령을 실행하여 CSR 파일을 생성합니다.

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   이 명령은 나중에 설명할 추가 정보를 묻는 메시지를 표시합니다.

1.  AWS IoT 콘솔의 **확인 인증서** 컨테이너에서 등록 코드를 복사합니다.

1. **openssl** 명령에서 묻는 정보가 다음 예제에 나와 있습니다. `Common Name` 필드를 제외하고는 원하는 값을 입력하거나 비워 둘 수 있습니다.

   `Common Name` 필드에 이전 단계에서 복사한 등록 코드를 붙여 넣습니다.

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

   작업을 마치면 명령이 CSR 파일을 생성합니다.

1. `verification_cert_csr_filename.csr`을 이전 단계에서 사용한 `verification_cert_csr_filename.csr`로 바꿉니다.

   `root_CA_cert_filename.pem`을 등록하려는 CA 인증서의 파일 이름으로 바꿉니다.

   `root_CA_key_filename.key`를 CA 인증서 프라이빗 키 파일의 파일 이름으로 바꿉니다.

   `verification_cert_filename.pem`을 생성하려는 확인 인증서의 파일 이름으로 바꿉니다. 예를 들어 **verification\$1cert.pem**입니다.

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. OpenSSL 명령이 완료되면 콘솔로 돌아갈 때 이러한 파일을 사용할 준비가 되어 있을 것입니다.
   + CA 인증서 파일(이전 명령에서 사용된 `root_CA_cert_filename.pem`)
   + 이전 단계에서 생성한 확인 인증서(이전 명령에서 사용된 *verification\$1cert\$1filename.pem*)

## CA 인증서 비활성화
<a name="deactivate-ca-cert"></a>

자동 클라이언트 인증서 등록을 위해 CA(인증 기관) 인증서가 활성화되면는 CA 인증서를 AWS IoT 확인하여 CA가 인지 확인합니다`ACTIVE`. CA 인증서가 인 경우 클라이언트 인증서 등록을 허용하지 `INACTIVE` AWS IoT 않습니다.

CA 인증서를 `INACTIVE`로 설정하면 CA에서 발급한 새 클라이언트 인증서가 자동으로 등록되지 않습니다.

**참고**  
훼손된 CA 인증서에서 서명한 모든 등록된 클라이언트 인증서는 사용자가 하나씩 명시적으로 취소할 때까지 계속 작동합니다.

### CA 인증서 비활성화(콘솔)
<a name="deactivate-ca-cert-console"></a>

**AWS IoT 콘솔을 사용하여 CA 인증서를 비활성화하려면**

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

1. 왼쪽 탐색 창에서 **보안**을 선택한 후 **CA**를 선택합니다.

1. 인증 기관 목록에서 비활성화할 인증 기관을 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

1. 옵션 메뉴에서 **비활성화**를 선택합니다.

인증 기관은 목록에 **비활성**으로 표시되어야 합니다.

**참고**  
 AWS IoT 콘솔은 비활성화한 CA에서 서명한 인증서를 나열하는 방법을 제공하지 않습니다. 이러한 인증서를 나열하는 AWS CLI 옵션은 [CA 인증서 비활성화(CLI)](#deactivate-ca-cert-cli) 단원을 참조하세요.

### CA 인증서 비활성화(CLI)
<a name="deactivate-ca-cert-cli"></a>

는 CA 인증서를 비활성화하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html) 명령을 AWS CLI 제공합니다.

```
aws iot update-ca-certificate \
    --certificate-id certificateId \
    --new-status INACTIVE
```

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html) 명령을 사용하여 지정된 CA에서 서명한 모든 등록된 디바이스 인증서의 목록을 가져옵니다. 지정된 CA 인증서에서 서명한 각 디바이스 인증서에 대해 클라이언트 인증서가 사용되지 않도록 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 명령을 사용하여 클라이언트 인증서를 취소합니다.

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) 명령을 사용하여 CA 인증서의 상태를 확인합니다.

# CA 인증서를 사용하여 클라이언트 인증서 생성
<a name="create-device-cert"></a>

자체 인증 기관(CA)을 사용하여 클라이언트 인증서를 생성할 수 있습니다. 클라이언트 인증서는 사용하기 AWS IoT 전에에 등록해야 합니다. 클라이언트 인증서의 등록 옵션에 대한 자세한 내용은 단원을 참조하세요[클라이언트 인증서 등록](register-device-cert.md)

## 클라이언트 인증서 생성(CLI)
<a name="create-device-cert-cli"></a>

**참고**  
 AWS IoT 콘솔에서는이 절차를 수행할 수 없습니다.

**를 사용하여 클라이언트 인증서를 생성하려면 AWS CLI**

1. 키 페어를 생성합니다.

   ```
   openssl genrsa -out device_cert_key_filename.key 2048
   ```

1. 클라이언트 인증서에 대한 CSR을 생성합니다.

   ```
   openssl req -new \
       -key device_cert_key_filename.key \
       -out device_cert_csr_filename.csr
   ```

   아래와 같이 몇 가지 정보를 입력하라는 메시지가 표시됩니다.

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

1. CSR에서 클라이언트 인증서를 생성합니다.

   ```
   openssl x509 -req \
       -in device_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out device_cert_filename.pem \
       -days 500 -sha256
   ```

 현재 클라이언트 인증서가 생성되었지만 아직 등록되지 않았습니다 AWS IoT. 클라이언트 인증서를 등록하는 방법 및 시기에 대한 자세한 내용은 단원을 참조하세요[클라이언트 인증서 등록](register-device-cert.md) 

# 클라이언트 인증서 등록
<a name="register-device-cert"></a>

클라이언트와 간의 통신을 활성화 AWS IoT 하려면 클라이언트 인증서를에 등록해야 합니다 AWS IoT. 각 클라이언트 인증서를 수동으로 등록하거나 클라이언트가 AWS IoT 에 처음 연결할 때 자동으로 등록하도록 클라이언트 인증서를 구성할 수 있습니다.

 처음 연결할 때 클라이언트 및 디바이스가 클라이언트 인증서를 등록하도록 하려면 [CA 인증서 등록](manage-your-CA-certs.md#register-CA-cert)을(를) 사용하여 해당 클라이언트 인증서를 사용하려는 리전에서 AWS IoT (으)로 클라이언트 인증서에 서명해야 합니다. Amazon Root CA는에 자동으로 등록됩니다 AWS IoT.

클라이언트 인증서는 AWS 계정 및 리전에서 공유할 수 있습니다. 이 주제의 절차는 클라이언트 인증서를 사용할 각 계정 및 리전에서 수행해야 합니다. 한 계정 또는 리전에서 등록된 클라이언트 인증서는 다른 계정 또는 리전에서 자동으로 인식되지 않습니다.

**참고**  
전송 계층 보안(TLS) 프로토콜을 사용하여 AWS IoT 에 연결하는 클라이언트는 TLS에 대한 [SNI(서버 이름 표시) 확장](https://tools.ietf.org/html/rfc3546#section-3.1)을 지원해야 합니다. 자세한 내용은 [의 전송 보안 AWS IoT Core](transport-security.md) 단원을 참조하세요.

**Topics**
+ [수동으로 클라이언트 인증서 등록](manual-cert-registration.md)
+ [클라이언트가 JITR( AWS IoT just-in-time Registration)에 연결할 때 클라이언트 인증서 등록](auto-register-device-cert.md)

# 수동으로 클라이언트 인증서 등록
<a name="manual-cert-registration"></a>

 AWS IoT 콘솔 및를 사용하여 클라이언트 인증서를 수동으로 등록할 수 있습니다 AWS CLI.

사용할 등록 절차는 인증서가 AWS 계정및 리전에서 공유되는지 여부에 따라 달라집니다. 한 계정 또는 리전에서 등록된 클라이언트 인증서는 다른 계정 또는 리전에서 자동으로 인식되지 않습니다.

이 주제의 절차는 클라이언트 인증서를 사용할 각 계정 및 리전에서 수행해야 합니다. 클라이언트 인증서는 AWS 계정및 리전에서 공유할 수 있습니다.

## 등록된 CA로 서명된 클라이언트 인증서 등록(콘솔)
<a name="manual-cert-registration-console"></a>

**참고**  
이 절차를 수행하기 전에 클라이언트 인증서의 .pem 파일이 있고 클라이언트 인증서가 [등록한 AWS IoT](manage-your-CA-certs.md#register-CA-cert) CA에 의해 서명되었는지 확인합니다.

**콘솔을 AWS IoT 사용하여에 기존 인증서를 등록하려면**

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

1. 탐색 창의 **관리(Manage)** 섹션에서 **보안(Security)**을 선택한 다음 **인증서(Certificates)**를 선택합니다.

1. **인증서(Certificates)** 대화 상자의 **인증서(Certificates)** 페이지에서 **인증서 추가(Add certificate)**를 선택한 다음 **인증서 등록(Register certificates)**을 선택합니다.

1. **업로드할 인증서(Certificates to upload)** 대화 상자의 **인증서 등록(Register certificate)** 페이지에서 다음을 수행합니다.
   + **CA가 AWS IoT에 등록됨**을 선택합니다.
   + **CA 인증서 선택(Choose a CA certificate)**에서 **인증 기관(Certification authority)**을 선택합니다.
     +  AWS IoT에 등록되지 않은 새 **인증 기관(Certification authority)**을 등록하려면 **새 CA 등록(Register a new CA)**을 선택합니다.
     + **Amazon 루트 인증 기관(Amazon Root certificate authority)**이 해당 인증 기관인 경우 **CA 인증서 선택(Choose a CA certificate)**을 비워 둡니다.
   + 업로드하고 등록할 인증서를 최대 10개까지 선택합니다 AWS IoT.
     + [AWS IoT 클라이언트 인증서 생성](device-certs-create.md) 및 [CA 인증서를 사용하여 클라이언트 인증서 생성](create-device-cert.md)에서 생성한 인증서 파일을 사용합니다.
   + **활성화(Activate)** 또는 **비활성화(Deactivate)**를 선택합니다. **비활성화(Deactivate)**를 선택한 경우 인증서 등록 후 인증서를 활성화하는 방법이 [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md)에 설명되어 있습니다.
   + **등록**을 선택합니다.

이제 **인증서(Certificates)** 대화 상자의 **인증서(Certificates)** 페이지에 등록된 인증서가 나타납니다.

## 등록되지 않은 CA로 서명된 클라이언트 인증서 등록(콘솔)
<a name="manual-cert-registration-console-noca"></a>

**참고**  
이 절차를 수행하기 전에 클라이언트 인증서의 .pem 파일이 있는지 확인해야 합니다.

**콘솔을 AWS IoT 사용하여에 기존 인증서를 등록하려면**

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

1. 왼쪽 탐색 창에서 **보안**, **인증서**, **생성**을 차례대로 선택합니다.

1. **인증서 생성**에서 **내 인증서 사용** 항목을 찾아 **시작하기**를 선택합니다.

1. **CA 선택**에서 **다음**을 선택합니다.

1.  **기존 디바이스 인증서 등록**에서 **인증서 선택**을 선택하고 등록할 인증서 파일을 최대 10개까지 선택합니다.

1.  파일 대화 상자를 닫은 후 클라이언트 인증서를 등록할 때 클라이언트 인증서를 활성화할지 또는 취소할지 선택합니다.

   인증서를 등록할 때 인증서를 활성화하지 않으면 [클라이언트 인증서 활성화(콘솔)](activate-or-deactivate-device-cert.md#activate-device-cert-console)에서 나중에 인증서를 활성화하는 방법에 대해 설명합니다.

   인증서를 등록할 때 인증서가 취소되면 나중에 활성화할 수 없습니다.

   등록할 인증서 파일을 선택하고 등록 후 수행할 작업을 선택한 후 **인증서 등록**을 선택합니다.

성공적으로 등록된 클라이언트 인증서가 인증서 목록에 나타납니다.

## 등록된 CA로 서명된 클라이언트 인증서 등록(CLI)
<a name="manual-cert-registration-cli"></a>

**참고**  
이 절차를 수행하기 전에 인증 기관(CA) .pem 및 클라이언트 인증서의 .pem 파일이 있는지 확인해야 합니다. 클라이언트 인증서는 [등록한 AWS IoT](manage-your-CA-certs.md#register-CA-cert) 인증 기관(CA)에서 서명해야 합니다.

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate.html) 명령을 사용하여 클라이언트 인증서를 활성화하지 않고 등록합니다.

```
aws iot register-certificate \
    --certificate-pem file://device_cert_filename.pem \
    --ca-certificate-pem file://ca_cert_filename.pem
```

클라이언트 인증서가에 등록 AWS IoT되었지만 아직 활성화되지 않았습니다. 나중에 활성화하는 방법에 대한 자세한 내용은 [클라이언트 인증서 활성화(CLI)](activate-or-deactivate-device-cert.md#activate-device-cert-cli) 단원을 참조하세요.

이 명령을 사용하여 클라이언트 인증서를 등록할 때 클라이언트 인증서를 활성화할 수도 있습니다.

```
aws iot register-certificate \
    --set-as-active \
    --certificate-pem file://device_cert_filename.pem \
    --ca-certificate-pem file://ca_cert_filename.pem
```

연결에 사용할 수 있도록 인증서를 활성화하는 방법에 대한 자세한 내용은 섹션을 AWS IoT참조하세요. [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md) 

## 등록되지 않은 CA로 서명된 클라이언트 인증서 등록(CLI)
<a name="manual-cert-registration-noca-cli"></a>

**참고**  
이 절차를 수행하기 전에 인증서의 .pem 파일이 있는지 확인해야 합니다.

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate-without-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate-without-ca.html) 명령을 사용하여 클라이언트 인증서를 활성화하지 않고 등록합니다.

```
aws iot register-certificate-without-ca \
    --certificate-pem file://device_cert_filename.pem
```

클라이언트 인증서가에 등록 AWS IoT되었지만 아직 활성화되지 않았습니다. 나중에 활성화하는 방법에 대한 자세한 내용은 [클라이언트 인증서 활성화(CLI)](activate-or-deactivate-device-cert.md#activate-device-cert-cli) 단원을 참조하세요.

이 명령을 사용하여 클라이언트 인증서를 등록할 때 클라이언트 인증서를 활성화할 수도 있습니다.

```
aws iot register-certificate-without-ca \
    --status ACTIVE \
    --certificate-pem file://device_cert_filename.pem
```

연결에 사용할 수 있도록 인증서를 활성화하는 방법에 대한 자세한 내용은 섹션을 AWS IoT참조하세요[클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md).

# 클라이언트가 JITR( AWS IoT just-in-time Registration)에 연결할 때 클라이언트 인증서 등록
<a name="auto-register-device-cert"></a>

클라이언트가 처음 연결할 때에 AWS IoT 자동으로 등록하도록 서명된 클라이언트 인증서를 활성화하도록 CA 인증서를 구성할 수 있습니다 AWS IoT.

클라이언트가 AWS IoT 에 처음 연결할 때 클라이언트 인증서를 등록하려면 자동 등록을 위해 CA 인증서를 활성화하고 필요한 인증서를 제공하도록 클라이언트의 첫 번째 연결을 구성해야 합니다.

## 자동 등록을 지원하도록 CA 인증서 구성(콘솔)
<a name="enable-auto-registration-console"></a>

**AWS IoT 콘솔을 사용하여 자동 클라이언트 인증서 등록을 지원하도록 CA 인증서를 구성하려면**

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

1. 왼쪽 탐색 창에서 **보안**을 선택한 후 **CA**를 선택합니다.

1. 인증 기관 목록에서 자동 등록을 활성화할 인증 기관을 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

1. 옵션 메뉴에서 **자동 등록 활성화**를 선택합니다.

**참고**  
인증 기관 목록에 자동 등록 상태가 표시되지 않습니다. 인증 기관의 자동 등록 상태를 보려면 인증 기관의 **세부 정보** 페이지를 열어야 합니다.

## 자동 등록을 지원하도록 CA 인증서 구성(CLI)
<a name="enable-auto-registration-cli"></a>

CA 인증서를에 이미 등록한 경우 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html) 명령을 AWS IoT사용하여 `autoRegistrationStatus` CA 인증서를 로 설정합니다`ENABLE`.

```
aws iot update-ca-certificate \
--certificate-id caCertificateId \
--new-auto-registration-status ENABLE
```

CA 인증서를 등록할 때 `autoRegistrationStatus`를 활성화하려면 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) 명령을 사용합니다.

```
aws iot register-ca-certificate \
--allow-auto-registration  \
--ca-certificate file://root_CA_cert_filename.pem \
--verification-cert file://verification_cert_filename.pem
```

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) 명령을 사용하여 CA 인증서의 상태를 확인합니다.

## 자동 등록을 위해 클라이언트에 의한 첫 번째 연결 구성
<a name="configure-auto-reg-first-connect"></a>

클라이언트가 처음으로 AWS IoT 에 연결하려고 하면 전송 계층 보안(TLS) 핸드셰이크 중에 CA 인증서로 서명된 클라이언트 인증서가 클라이언트에 있어야 합니다.

클라이언트가 연결되면 [AWS IoT 클라이언트 인증서 생성](https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-create.html) 또는 [자체 클라이언트 인증서 생성](https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-your-own.html)에서 생성한 클라이언트 인증서를 AWS IoT사용합니다.는 CA 인증서를 등록된 CA 인증서로 AWS IoT 인식하고, 클라이언트 인증서를 등록하고, 상태를 로 설정합니다`PENDING_ACTIVATION`. 이는 클라이언트 인증서가 자동으로 등록되었고 활성화를 기다리는 중임을 의미합니다. 클라이언트 인증서를 사용하여 AWS IoT에 연결하려면 먼저 클라이언트 인증서가 `ACTIVE` 상태여야 합니다. 클라이언트 인증서 활성화에 대한 자세한 내용은 [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md) 섹션을 참조하세요.

**참고**  
디바이스의 첫 번째 연결에서 전체 신뢰 체인을 보낼 필요 없이 JITR( AWS IoT Core just-in-time Registration) 기능을 사용하여 디바이스를 프로비저닝할 수 있습니다 AWS IoT Core. CA 인증서를 제시하는 것은 선택 사항이지만 디바이스가 연결할 때 [서버 이름 표시(SNI)](https://datatracker.ietf.org/doc/html/rfc3546#section-3.1) 확장을 전송해야 합니다.

가 인증서를 AWS IoT 자동으로 등록하거나 클라이언트가 `PENDING_ACTIVATION` 상태의 인증서를 제시하면는 다음 MQTT 주제에 메시지를 AWS IoT 게시합니다.

`$aws/events/certificates/registered/caCertificateId`

여기서 `caCertificateId`는 디바이스 인증서를 발행한 CA 인증서의 ID입니다.

이 주제에 게시된 메시지는 구조가 다음과 같습니다.

```
{
        "certificateId": "certificateId",
        "caCertificateId": "caCertificateId",
        "timestamp": timestamp,
        "certificateStatus": "PENDING_ACTIVATION",
        "awsAccountId": "awsAccountId",
        "certificateRegistrationTimestamp": "certificateRegistrationTimestamp"
}
```

이 주제를 수신 대기하고 일부 작업을 수행하는 규칙을 생성할 수 있습니다. 클라이언트 인증서가 인증서 취소 목록(CRL)에 포함되지 않음을 확인하고, 인증서를 활성화하고, 정책을 생성하여 인증서에 연결하는 Lambda 규칙을 생성하는 것이 좋습니다. 이 정책은 클라이언트가 어떤 리소스에 액세스할 수 있는지를 결정합니다. 생성 중인 정책에 연결되어 있는 디바이스의 클라이언트 ID가 필요한 경우, 규칙의 clientid() 함수를 사용하여 클라이언트 ID를 검색할 수 있습니다. 규칙 정의 예제는 다음과 같습니다.

```
SELECT *,
   clientid() as clientid
from $aws/events/certificates/registered/caCertificateId
```

이 예제에서 규칙은 JITR 주제 `$aws/events/certificates/registered/caCertificateID`를 구독하고 clientid() 함수를 사용하여 클라이언트 ID를 검색합니다. 그런 다음 규칙은 클라이언트 ID를 JITR 페이로드에 추가합니다. 규칙의 clientid() 함수에 대한 자세한 내용은 [clientid()](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-clientid)를 참조하세요.

`$aws/events/certificates/registered/caCertificateID` 주제를 수신 대기하고 이러한 작업을 수행하는 Lambda 규칙을 생성하는 방법에 대한 자세한 내용은[Just-in-Time Registration of Device Certificates on AWS IoT](https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/)을 참조하세요.

클라이언트 인증서의 자동 등록 중에 오류 또는 예외가 발생하면는 CloudWatch Logs의 로그에 이벤트 또는 메시지를 AWS IoT 전송합니다. 계정에 대한 로그 설정에 대한 자세한 내용은 [Amazon CloudWatch 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/)를 참조하세요.

# 클라이언트 인증서 관리
<a name="manage-device-cert"></a>

AWS IoT 는 클라이언트 인증서를 관리할 수 있는 기능을 제공합니다.

**Topics**
+ [클라이언트 인증서 활성화 또는 비활성화](activate-or-deactivate-device-cert.md)
+ [클라이언트 인증서에 사물 또는 정책 연결](attach-to-cert.md)
+ [클라이언트 인증서 취소](revoke-ca-cert.md)
+ [인증서를 다른 계정으로 이전합니다.](transfer-cert.md)

# 클라이언트 인증서 활성화 또는 비활성화
<a name="activate-or-deactivate-device-cert"></a>

AWS IoT 는 연결을 인증할 때 클라이언트 인증서가 활성 상태인지 확인합니다.

클라이언트 인증서를 활성화하지 않은 상태에서 생성하고 등록할 수 있으므로 사용할 때까지 클라이언트 인증서를 사용할 수 없습니다. 활성 클라이언트 인증서를 비활성화하여 일시적으로 비활성화할 수도 있습니다. 마지막으로 클라이언트 인증서를 취소하여 나중에 사용할 수 없도록 할 수 있습니다.

## 클라이언트 인증서 활성화(콘솔)
<a name="activate-device-cert-console"></a>

**AWS IoT 콘솔을 사용하여 클라이언트 인증서를 활성화하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

1. 인증서 목록에서 활성화할 인증서를 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

1. 옵션 메뉴에서 **활성화**를 선택합니다.

인증서는 인증서 목록에 **활성**으로 표시되어야 합니다.

## 클라이언트 인증서 비활성화(콘솔)
<a name="deactivate-device-cert-console"></a>

**AWS IoT 콘솔을 사용하여 클라이언트 인증서를 비활성화하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

1. 인증서 목록에서 비활성화할 인증서를 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

1. 옵션 메뉴에서 **비활성화**를 선택합니다.

인증서는 인증서 목록에 **비활성**으로 표시되어야 합니다.

## 클라이언트 인증서 활성화(CLI)
<a name="activate-device-cert-cli"></a>

는 인증서를 활성화하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 명령을 AWS CLI 제공합니다.

```
aws iot update-certificate \
    --certificate-id certificateId \
    --new-status ACTIVE
```

명령이 성공하면 인증서가 `ACTIVE` 상태가 됩니다. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html)를 실행하여 인증서의 상태를 확인합니다.

```
aws iot describe-certificate \
    --certificate-id certificateId
```

## 클라이언트 인증서 비활성화(CLI)
<a name="deactivate-device-cert-cli"></a>

는 인증서를 비활성화하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 명령을 AWS CLI 제공합니다.

```
aws iot update-certificate \
    --certificate-id certificateId \
    --new-status INACTIVE
```

명령이 성공하면 인증서가 `INACTIVE` 상태가 됩니다. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html)를 실행하여 인증서의 상태를 확인합니다.

```
aws iot describe-certificate \
    --certificate-id certificateId
```

# 클라이언트 인증서에 사물 또는 정책 연결
<a name="attach-to-cert"></a>

 AWS IoT 사물과 별도로 인증서를 생성하고 등록하면 AWS IoT 작업을 승인하는 정책이 없으며 AWS IoT 사물 객체와도 연결되지 않습니다. 이 섹션에서는 이러한 관계를 등록된 인증서에 추가하는 방법에 대해 설명합니다.

**중요**  
이러한 절차를 완료하려면 인증서에 연결할 사물이나 정책을 이미 생성했어야 합니다.

인증서는 연결할 수 AWS IoT 있도록를 사용하여 디바이스를 인증합니다. 인증서를 사물 리소스에 연결하면 디바이스와 (인증서를 통해) 리소스 간의 관계가 설정됩니다. 디바이스가 메시지를 연결하고 게시할 수 있도록 허용하는 등의 AWS IoT 작업을 수행하도록 디바이스에 권한을 부여하려면 디바이스의 인증서에 적절한 정책을 연결해야 합니다.

## 클라이언트 인증서에 사물 연결(콘솔)
<a name="attach-to-cert-thing-console"></a>

이 절차를 완료하려면 사물 객체의 이름이 필요합니다.

**등록된 인증서에 사물 객체를 연결하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

1. 인증서 목록에서 정책을 연결할 인증서를 찾고 줄임표 아이콘을 선택하여 인증서의 옵션 메뉴를 연 다음 **사물 연결**을 선택합니다.

1. 팝업에서 인증서에 연결할 사물의 이름을 찾아 해당 확인란을 선택한 다음 **연결**을 선택합니다.

이제 사물 객체가 인증서의 세부 정보 페이지에 있는 사물 목록에 나타나야 합니다.

## 클라이언트 인증서에 정책 연결(콘솔)
<a name="attach-to-cert-policy-console"></a>

이 절차를 완료하려면 정책 객체의 이름이 필요합니다.

**등록된 인증서에 정책 객체를 연결하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

1. 인증서 목록에서 정책을 연결할 인증서를 찾고 줄임표 아이콘을 선택하여 인증서의 옵션 메뉴를 연 다음 **정책 연결**을 선택합니다.

1. 팝업에서 인증서에 연결할 정책의 이름을 찾아 해당 확인란을 선택한 다음 **연결**을 선택합니다.

이제 정책 객체가 인증서의 세부 정보 페이지에 있는 정책 목록에 나타납니다.

## 클라이언트 인증서에 사물 연결(CLI)
<a name="attach-to-cert-thing-cli"></a>

는 사물 객체를 인증서에 연결하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html) 명령을 AWS CLI 제공합니다.

```
aws iot attach-thing-principal \
    --principal certificateArn \
    --thing-name thingName
```

## 클라이언트 인증서에 정책 연결(CLI)
<a name="attach-to-cert-policy-cli"></a>

는 인증서에 정책 객체를 연결하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-policy.html) 명령을 AWS CLI 제공합니다.

```
aws iot attach-policy \
    --target certificateArn \
    --policy-name policyName
```

# 클라이언트 인증서 취소
<a name="revoke-ca-cert"></a>

등록된 클라이언트 인증서에서 의심스러운 활동이 감지되는 경우 다시 사용할 수 없도록 클라이언트 인증서를 취소할 수 있습니다.

**참고**  
인증서가 취소되면 상태를 변경할 수 없습니다. 즉, 인증서 상태를 `Active` 또는 다른 상태로 변경할 수 없습니다.

## 클라이언트 인증서 취소(콘솔)
<a name="revoke-device-cert-console"></a>

**AWS IoT 콘솔을 사용하여 클라이언트 인증서를 취소하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

1. 인증서 목록에서 취소할 인증서를 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

1. 옵션 메뉴에서 **취소**를 선택합니다.

인증서가 성공적으로 취소되면 인증서 목록에 **취소됨**으로 표시됩니다.

## 클라이언트 인증서(CLI) 취소
<a name="revoke-device-cert-cli"></a>

는 인증서를 취소하는 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 명령을 AWS CLI 제공합니다.

```
aws iot update-certificate \
    --certificate-id certificateId \
    --new-status REVOKED
```

명령이 성공하면 인증서가 `REVOKED` 상태가 됩니다. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html)를 실행하여 인증서의 상태를 확인합니다.

```
aws iot describe-certificate \
    --certificate-id certificateId
```

# 인증서를 다른 계정으로 이전합니다.
<a name="transfer-cert"></a>

하나에 속하는 X.509 인증서는 다른 인증서로 전송할 AWS 계정 수 있습니다 AWS 계정.

**X.509 인증서를 한 인증서에서 AWS 계정 다른 인증서로 전송하려면**

1. [인증서 전송 시작](#transfer-cert-init)

   전송을 시작하기 전에 인증서를 비활성화하고 모든 정책과 사물에서 분리해야 합니다.

1. [인증서 전송 수락 또는 거부](#transfer-cert-accept)

   수신 계정은 전송된 인증서를 명시적으로 수락하거나 거부해야 합니다. 수신 계정에서 인증서를 수락한 후에는 사용하기 전에 인증서를 활성화해야 합니다.

1. [인증서 전송 취소](#transfer-cert-cancel)

   인증서가 수락되지 않은 경우 원래 계정에서 전송을 취소할 수 있습니다.

## 인증서 전송 시작
<a name="transfer-cert-init"></a>

[AWS IoT 콘솔](https://console.aws.amazon.com/iot/home) 또는를 사용하여 인증서를 다른 AWS 계정 로 전송하기 시작할 수 있습니다 AWS CLI.

### 인증서 전송 시작(콘솔)
<a name="transfer-cert-init-console"></a>

이 절차를 완료하려면 전송할 인증서의 ID가 필요합니다.

전송할 인증서가 있는 계정에서 이 절차를 수행하세요.

**인증서를 다른 로 전송하기 시작하려면 AWS 계정**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

   전송하려는 **활성 상태** 또는 **비활성** 상태의 인증서를 선택하고 세부 정보 페이지를 엽니다.

1. 인증서의 **세부 정보** 페이지의 **작업** 메뉴에서 **비활성화** 옵션을 사용할 수 있는 경우 **비활성화** 옵션을 사용하여 인증서를 비활성화할 수 있습니다.

1. 인증서의 **세부 정보** 페이지의 왼쪽 메뉴에서 **정책**을 선택합니다.

1. 인증서의 **정책** 페이지에서 인증서에 연결된 정책이 있는 경우 정책의 옵션 메뉴를 열고 **분리**를 선택하여 각 정책을 분리합니다.

   계속하기 전에 인증서에는 정책이 연결되어 있으면 안 됩니다.

1. 인증서의 **정책** 페이지의 왼쪽 메뉴에서 **사물**을 선택합니다.

1. 인증서의 **사물** 페이지에서 인증서에 연결된 사물이 있는 경우 사물의 옵션 메뉴를 열고 **분리**를 선택하여 각 사물을 분리합니다.

   계속하기 전에 인증서에는 사물이 연결되어 있으면 안 됩니다.

1. 인증서의 **사물** 페이지의 왼쪽 메뉴에서 **세부 정보**를 선택합니다.

1. 인증서의 **세부 정보** 페이지의 **작업** 메뉴에서 **전송 시작**을 선택하고 **전송 시작** 대화 상자를 엽니다.

1. **전송 시작** 대화 상자에서 인증서를 수신할 계정의 AWS 계정 번호와 선택적 단축 메시지를 입력합니다.

1. **전송 시작**을 선택하여 인증서를 전송합니다.

콘솔에 전송의 성공 또는 실패를 나타내는 메시지가 표시됩니다. 전송이 시작된 경우 인증서의 상태가 **전송됨**으로 업데이트됩니다.

### 인증서 전송 시작(CLI)
<a name="transfer-cert-init-cli"></a>

이 절차를 완료하려면 전송하려는 인증서의 *certificateId* 및 *certificateArn*이 필요합니다.

전송할 인증서가 있는 계정에서 이 절차를 수행하세요.

**인증서를 다른 AWS 계정으로 이전하기 시작하려면**

1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 명령을 사용하여 인증서를 비활성화합니다.

   ```
   aws iot update-certificate --certificate-id certificateId --new-status INACTIVE
   ```

1. 모든 정책을 분리합니다.

   1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-attached-policies.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-attached-policies.html) 명령을 사용하여 인증서에 연결되어 있는 정책을 나열합니다.

      ```
      aws iot list-attached-policies --target certificateArn
      ```

   1. 연결된 각 정책에 대해 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-policy.html) 명령을 사용하여 정책을 분리합니다.

      ```
      aws iot detach-policy --target certificateArn --policy-name policy-name
      ```

1. 모든 사물을 분리합니다.

   1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.html) 명령을 사용하여 인증서에 연결되어 있는 사물을 나열합니다.

      ```
      aws iot list-principal-things --principal certificateArn
      ```

   1. 연결된 각 사물에 대해 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-thing-principal.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-thing-principal.html) 명령을 사용하여 사물을 분리합니다.

      ```
      aws iot detach-thing-principal --principal certificateArn --thing-name thing-name
      ```

1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/transfer-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/transfer-certificate.html) 명령을 사용하여 인증서 전송을 시작합니다.

   ```
   aws iot transfer-certificate --certificate-id certificateId --target-aws-account account-id
   ```

## 인증서 전송 수락 또는 거부
<a name="transfer-cert-accept"></a>

[AWS IoT 콘솔](https://console.aws.amazon.com/iot/home) 또는를 사용하여 다른에서 전송 AWS 계정 AWS 계정 된 인증서를 수락하거나 거부할 수 있습니다 AWS CLI.

### 인증서 전송 수락 또는 거부(콘솔)
<a name="transfer-cert-accept-console"></a>

이 절차를 완료하려면 계정으로 전송한 인증서의 ID가 필요합니다.

전송된 인증서를 수신하는 계정에서 이 절차를 수행하세요.

**로 전송된 인증서를 수락하거나 거부하려면 AWS 계정**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

   수락 또는 거부하려는 **전송 대기 중** 상태의 인증서를 선택하고 세부 정보 페이지를 엽니다.

1. 인증서의 **세부 정보** 페이지의 **작업** 메뉴에서
   + 인증서를 수락하려면 **전송 수락**을 선택합니다.
   + 인증서를 수락하지 않으려면 **전송 거부**를 선택합니다.

### 인증서 전송 수락 또는 거부(CLI)
<a name="transfer-cert-accept-cli"></a>

이 절차를 완료하려면 수락 또는 거부하려는 인증서 전송의 *certificateId*가 필요합니다.

전송된 인증서를 수신하는 계정에서 이 절차를 수행하세요.

**로 전송된 인증서를 수락하거나 거부하려면 AWS 계정**

1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/accept-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/accept-certificate-transfer.html) 명령을 사용하여 인증서를 수락합니다.

   ```
   aws iot accept-certificate-transfer --certificate-id certificateId
   ```

1. [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/reject-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/reject-certificate-transfer.html) 명령을 사용하여 인증서를 거부합니다.

   ```
   aws iot reject-certificate-transfer --certificate-id certificateId
   ```

## 인증서 전송 취소
<a name="transfer-cert-cancel"></a>

[AWS IoT 콘솔](https://console.aws.amazon.com/iot/home) 또는 AWS CLI을(를) 사용하여 수락하기 전에 인증서 전송을 취소할 수 있습니다.

### 인증서 전송 취소(콘솔)
<a name="transfer-cert-cancel-console"></a>

이 절차를 완료하려면 취소하려는 인증서 전송의 ID가 필요합니다.

인증서 전송을 시작한 계정에서 이 절차를 수행하세요.

**인증서 전송을 취소하려면**

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

1. 왼쪽 탐색 창에서 **보안(Secure)**을 선택한 후 **인증서(Certificates)**를 선택합니다.

   취소하려는 **전송됨** 상태의 인증서를 선택하고 옵션 메뉴를 엽니다.

1. 인증서의 옵션 메뉴에서 **전송 취소** 옵션을 선택하여 인증서 전송을 취소합니다.
**중요**  
**전송 취소** 옵션을 **취소** 옵션과 혼동하지 않도록 주의하세요.  
**전송 취소** 옵션은 인증서 전송을 취소하고 **취소** 옵션은 인증서를 불가역적으로 사용 불가능하게 만듭니다. AWS IoT.

### 인증서 전송 취소(CLI)
<a name="transfer-cert-cancel-cli"></a>

이 절차를 완료하려면 취소하려는 인증서 전송의 *certificateId*가 필요합니다.

인증서 전송을 시작한 계정에서 이 절차를 수행하세요.

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/cancel-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/cancel-certificate-transfer.html) 명령을 사용하여 인증서 전송을 취소합니다.

```
aws iot cancel-certificate-transfer --certificate-id certificateId
```

# 사용자 지정 클라이언트 인증서 검증
<a name="customize-client-auth"></a>

AWS IoT Core 는 X.509 클라이언트 인증서에 대한 사용자 지정 클라이언트 인증서 검증을 지원하여 클라이언트 인증 관리를 개선합니다. 이 인증서 검증 방법은 사전 인증 인증서 검사라고도 하며, 이 검사에서는 자체 기준(Lambda 함수에 정의)을 기반으로 클라이언트 인증서를 평가하고 클라이언트 인증서 또는 인증서의 서명 인증 기관(CA) 인증서를 취소하여 클라이언트가 AWS IoT Core에 연결되지 않도록 합니다. 예를 들어 [온라인 인증서 상태 프로토콜(OCSP)](https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol) 또는 [인증서 해지 목록(CRL)](https://en.wikipedia.org/wiki/Certificate_revocation_list) 엔드포인트를 지원하는 검증 기관과 비교하여 인증서의 상태를 검증하고 취소된 인증서가 있는 클라이언트에 대한 연결을 방지하는 자체 인증서 해지 검사를 생성할 수 있습니다. 클라이언트 인증서를 평가하는 데 사용되는 기준은 Lambda 함수(사전 인증 Lambda라고도 함)에 정의됩니다. 도메인 구성에서 엔드포인트 세트를 사용해야 하며 [인증 유형](protocols.md#connection-protocol-auth-mode)은 X.509 인증서여야 합니다. 또한 클라이언트는 연결할 때 [서버 이름 표시(SNI)](https://www.rfc-editor.org/rfc/rfc3546#section-3.1) 확장을 제공해야 합니다 AWS IoT Core.

**참고**  
이 기능은 AWS GovCloud (US) 리전에서 지원되지 않습니다.

**Topics**
+ [1단계:에 X.509 클라이언트 인증서 등록 AWS IoT Core](#client-auth-cert-verification)
+ [2단계: Lambda 함수 생성](#customize-client-auth-lambda)
+ [3단계: Lambda 함수 AWS IoT 호출 권한 부여](#customize-client-configuration-grant-permission)
+ [4단계: 도메인에 대한 인증 구성 설정](#customize-client-configuration)

## 1단계:에 X.509 클라이언트 인증서 등록 AWS IoT Core
<a name="client-auth-cert-verification"></a>

아직 등록하지 않은 경우에 [X.509 클라이언트 인증서를](https://docs.aws.amazon.com//iot/latest/developerguide/x509-client-certs.html) 등록하고 활성화합니다 AWS IoT Core. 그렇지 않은 경우 다음 단계로 건너뜁니다.

에 클라이언트 인증서를 등록하고 활성화하려면 다음 단계를 AWS IoT Core따릅니다.

1. [를 사용하여 직접 클라이언트 인증서를 생성하는 AWS IoT](https://docs.aws.amazon.com//iot/latest/developerguide/device-certs-create.html) 경우. 이러한 클라이언트 인증서는에 자동으로 등록됩니다 AWS IoT Core.

1. [자체 클라이언트 인증서를 생성하는](https://docs.aws.amazon.com//iot/latest/developerguide/device-certs-your-own.html) 경우 [다음 지침에 따라 인증서를 등록합니다 AWS IoT Core](https://docs.aws.amazon.com//iot/latest/developerguide/register-device-cert.html).

1. 클라이언트 인증서를 활성화하려면 [다음 지침](https://docs.aws.amazon.com//iot/latest/developerguide/activate-or-deactivate-device-cert.html)을 따르세요.

## 2단계: Lambda 함수 생성
<a name="customize-client-auth-lambda"></a>

인증서 확인을 수행하고 구성된 엔드포인트에 대한 모든 클라이언트 연결 시도에 대해 호출되는 Lambda 함수를 생성해야 합니다. 이 Lambda 함수를 생성할 때는 [첫 번째 Lambda 함수 생성](https://docs.aws.amazon.com//lambda/latest/dg/getting-started.html)의 일반 지침을 따릅니다. 또한 Lambda 함수가 다음과 같이 예상 요청 및 응답 형식을 준수하는지 확인합니다.

**Lambda 함수 이벤트 예제**

```
{
	"connectionMetadata": {
		"id": "string"
	},
	"principalId": "string",
	"serverName": "string",
	"clientCertificateChain": [
		"string",
		"string"
	]
}
```

`connectionMetadata`  
클라이언트의 AWS IoT Core에 대한 연결과 관련된 메타데이터 또는 추가 정보입니다.

`principalId`  
TLS 연결에서 클라이언트와 연결된 위탁자 식별자입니다.

`serverName`  
[서버 이름 표시(SNI)](https://www.rfc-editor.org/rfc/rfc3546#section-3.1) 호스트 이름 스트링입니다. AWS IoT Core 는 디바이스가 [SNI 확장](https://www.rfc-editor.org/rfc/rfc3546#section-3.1)을 Transport Layer Security (TLS) 프로토콜로 전송하고 `host_name` 필드에 전체 엔드포인트 주소를 제공하도록 요구합니다.

`clientCertificateChain`  
클라이언트의 X.509 인증서 체인을 나타내는 문자열 배열입니다.

**Lambda 함수 응답 예제**

```
{
	"isAuthenticated": "boolean"
}
```

`isAuthenticated`  
요청 인증 여부를 나타내는 부울 값입니다.

**참고**  
Lambda 응답에서 추가 인증 및 권한 부여를 진행하려면 `isAuthenticated`가 반드시 `true`여야 합니다. 그렇지 않으면 IoT 클라이언트 인증서를 비활성화하고 추가 인증 및 권한 부여를 위해 X.509 클라이언트 인증서를 사용한 사용자 지정 인증을 차단할 수 있습니다.

## 3단계: Lambda 함수 AWS IoT 호출 권한 부여
<a name="customize-client-configuration-grant-permission"></a>

Lambda 함수를 생성한 후 [add-permission](https://docs.aws.amazon.com//cli/latest/reference/lambda/add-permission.html) CLI 명령을 사용하여 AWS IoT 에 호출 권한을 부여해야 합니다. 이 Lambda 함수는 구성된 엔드포인트에 연결할 때마다 간접적으로 호출됩니다. 자세한 내용은 [Lambda 함수 호출 권한 부여 AWS IoT 를 참조하세요](custom-auth-authorize.md).

## 4단계: 도메인에 대한 인증 구성 설정
<a name="customize-client-configuration"></a>

다음 섹션에서는 AWS CLI를 사용하여 사용자 지정 도메인에 대한 인증 구성을 설정하는 방법을 설명합니다.

### 도메인에 대한 클라이언트 인증서 구성 설정(CLI)
<a name="customize-client-auth-cli"></a>

도메인 구성이 없는 경우 [https://docs.aws.amazon.com//cli/latest/reference/iot/create-domain-configuration.html](https://docs.aws.amazon.com//cli/latest/reference/iot/create-domain-configuration.html) CLI 명령을 사용하여 생성합니다. 도메인 구성이 이미 있는 경우 [https://docs.aws.amazon.com//cli/latest/reference/iot/update-domain-configuration.html](https://docs.aws.amazon.com//cli/latest/reference/iot/update-domain-configuration.html) CLI 명령을 사용하여 도메인에 대한 클라이언트 인증서 구성을 업데이트합니다. 이전 단계에서 생성한 Lambda 함수의 ARN을 추가해야 합니다.

```
aws iot create-domain-configuration \
    --domain-configuration-name domainConfigurationName \
    --authentication-type AWS_X509|CUSTOM_AUTH_X509 \
    --application-protocol SECURE_MQTT|HTTPS \
    --client-certificate-config 'clientCertificateCallbackArn":"arn:aws:lambda:us-east-2:123456789012:function:my-function:1"}'
```

```
aws iot update-domain-configuration \
    --domain-configuration-name domainConfigurationName \
    --authentication-type AWS_X509|CUSTOM_AUTH_X509 \
    --application-protocol SECURE_MQTT|HTTPS \
    --client-certificate-config '{"clientCertificateCallbackArn":"arn:aws:lambda:us-east-2:123456789012:function:my-function:1"}'
```

`domain-configuration-name`  
도메인 구성의 이름입니다.

`authentication-type`  
도메인 구성의 인증 유형입니다. 자세한 내용은 [인증 유형 선택](protocols.md#connection-protocol-auth-mode)을 참조하세요.

`application-protocol`  
 AWS IoT Core와 통신하는 데 사용하는 디바이스의 애플리케이션 프로토콜입니다. 자세한 내용은 [애플리케이션 프로토콜 선택](protocols.md#protocol-selection)을 참조하세요.

`client-certificate-config`  
도메인의 클라이언트 인증 구성을 지정하는 객체입니다.

`clientCertificateCallbackArn`  
새 연결이 설정될 때 TLS 계층에서 AWS IoT 호출하는 Lambda 함수의 Amazon 리소스 이름(ARN)입니다. 사용자 지정 클라이언트 인증서 검증을 수행하도록 클라이언트 인증을 사용자 지정하려면 이전 단계에서 생성한 Lambda 함수의 ARN을 추가해야 합니다.

자세한 내용은 *AWS IoT API 참조*의 [CreateDomainConfiguration](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateDomainConfiguration.html) 및 [UpdateDomainConfiguration](https://docs.aws.amazon.com//iot/latest/apireference/API_UpdateDomainConfiguration.html)을 참조하세요. 도메인 구성에 대한 자세한 내용은 [Domain configurations](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable.html)를 참조하세요.

# IAM 사용자, 그룹 및 역할
<a name="iam-users-groups-roles"></a>

IAM 사용자, 그룹 및 역할은 AWS에서 자격 증명 및 인증을 관리하기 위한 표준 메커니즘입니다. SDK AWS 및를 사용하여 AWS IoT HTTP 인터페이스에 연결할 수 있습니다 AWS CLI.

또한 IAM 역할을 사용하면 AWS IoT 가 사용자를 대신하여 계정의 다른 AWS 리소스에 액세스할 수 있습니다. 예를 들어 디바이스가 DynamoDB 테이블에 상태를 게시하도록 하려면 IAM 역할을 통해가 Amazon DynamoDB와 상호 작용 AWS IoT 할 수 있습니다. 자세한 내용은 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)을 참조하세요.

HTTP를 통한 메시지 브로커 연결의 경우 서명 버전 4 서명 프로세스를 사용하여 사용자, 그룹 및 역할을 AWS IoT 인증합니다. 자세한 내용은 [AWS API 요청 서명을 참조하세요](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

에서 AWS 서명 버전 4를 사용하는 경우 AWS IoT클라이언트는 TLS 구현에서 다음을 지원해야 합니다.
+ TLS 1.2
+ SHA-256 RSA 인증서 서명 검증
+ TLS 암호 그룹 지원 섹션에서 암호 그룹 중 하나

자세한 내용은 [에 대한 자격 증명 및 액세스 관리 AWS IoT](security-iam.md) 단원을 참조하세요.

# Amazon Cognito 자격 증명
<a name="cognito-identities"></a>

Amazon Cognito 자격 증명을 사용하면 모바일 및 웹 애플리케이션에서 사용할 수 있는 제한된 임시 권한 AWS 자격 증명을 생성할 수 있습니다. Amazon Cognito 자격 증명을 사용하는 경우, 사용자의 고유 자격 증명을 생성하는 ID 풀을 생성하여 Login with Amazon, Facebook 및 Google과 같은 자격 증명 공급자를 사용하여 인증하는 ID 풀을 생성합니다. 자체 개발자 인증 자격 증명과 함께 Amazon Cognito 자격 증명을 사용할 수도 있습니다. 자세한 내용은 [Amazon Cognito 자격 증명](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)을 참조하세요.

Amazon Cognito 자격 증명을 사용하려면 IAM 역할과 연결된 Amazon Cognito ID 풀을 정의합니다. IAM 역할은 ID 풀의 ID에 서비스 호출 AWS 과 같은 AWS 리소스에 액세스할 수 있는 권한을 부여하는 IAM 정책과 연결됩니다.

Amazon Cognito 자격 증명은 인증되지 않은 자격 증명 및 인증된 자격 증명을 생성합니다. 인증되지 않은 자격 증명은 로그인하지 않고 앱을 사용하려는 모바일 또는 웹 애플리케이션의 게스트 사용자에게 사용됩니다. 인증되지 않은 사용자에게는 자격 증명 풀과 연결된 IAM 정책에 지정된 권한만 부여됩니다.

인증된 자격 증명을 사용하는 경우 자격 증명 풀에 연결된 IAM 정책 외에도 Amazon Cognito 자격 증명에 AWS IoT 정책을 연결해야 합니다. AWS IoT 정책을 연결하려면 [AttachPolicy](https://docs.aws.amazon.com/iot/latest/apireference/API_AttachPolicy.html) API를 사용하고 AWS IoT 애플리케이션의 개별 사용자에게 권한을 부여합니다. AWS IoT 정책을 사용하여 특정 고객과 디바이스에 세분화된 권한을 할당할 수 있습니다.

인증된 사용자와 인증되지 않은 사용자의 자격 증명 유형은 서로 다릅니다. Amazon Cognito 자격 증명에 AWS IoT 정책을 연결하지 않으면 인증된 사용자가에서 권한 부여에 실패 AWS IoT 하고 AWS IoT 리소스 및 작업에 액세스할 수 없습니다. Amazon Cognito 자격 증명에 대한 정책을 생성하는 방법에 대한 자세한 내용은 [게시/구독 정책 예제](pub-sub-policy.md) 및 [Amazon Cognito 자격 증명으로 권한 부여](cog-iot-policies.md) 섹션을 참조하세요.

![\[Amazon Cognito 자격 증명을 사용하여 디바이스에 액세스하는 앱입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/device-cognito.png)
