투케이2K

221. (TWOK/WORK) [개선 요청] AWS IoT Core 프로비저닝 클레임 인증서 개발, 운영 환경 동일 인증서 사용 요청 - register certificate 본문

투케이2K 업무정리

221. (TWOK/WORK) [개선 요청] AWS IoT Core 프로비저닝 클레임 인증서 개발, 운영 환경 동일 인증서 사용 요청 - register certificate

투케이2K 2026. 6. 4. 19:25
728x90
반응형

[제 목]

주제 : 투케이2K 업무 정리

타이틀 : 투케이 / 2k / 업무 정리

제목 : [개선 요청] AWS IoT Core 프로비저닝 클레임 인증서 개발, 운영 환경 동일 인증서 사용 요청 - register certificate

 

[내 용]

 

------------------------------------------------------------------------------
[개발 및 테스트 환경]
------------------------------------------------------------------------------

- 제 목 : [개선 요청] AWS IoT Core 프로비저닝 클레임 인증서 개발, 운영 환경 동일 인증서 사용 요청 - register certificate


- 테스트 환경 : AWS / Iot / MQTT / Certificate


- 사전) 👉 Aws Iot Core 간단 설명 : 

  >> AWS IoT 는 IoT 디바이스를 다른 디바이스 및 AWS 클라우드 서비스에 연결하는 클라우드 서비스를 제공합니다.

  >> 디바이스가에 연결할 수 있는 경우 AWS IoT는 AWS 가 제공하는 클라우드 서비스에 디바이스를 AWS IoT 연결할 수 있습니다.

  >> AWS IoT Core 메시지 브로커는 MQTT 및 MQTT over WSS 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스 및 클라이언트를 지원합니다. 
  
    - HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트도 지원합니다.


- 사전) 👉 클레임 인증서 간단 설명 : 

  >> Aws 프로비저닝 수행에 필요한 클레임 인증서는 주로 IAM (Identity and Access Management) 과 관련된 인증을 수행하는 데 사용됩니다

  >> 클레임 인증서는 AWS 에서 인증과 권한 부여를 통해 자원에 대한 접근을 관리하는데 사용됩니다.

    - 클레임은 사용자가 AWS 리소스에 접근할 수 있는 권한을 나타내는 정보입니다.

    - 클레임 인증서는 사용자가 특정 역할을 수행할 수 있도록 허용하는 정보가 포함되어 있습니다.

  >> Aws Iot Core 프로비저닝 수행 인증서 파일 설명 : 

    - certificate.pem.crt: 디바이스 인증서

    - private.pem.key: 디바이스 개인 키

    - public.pem.key: 디바이스 공개 키

    - ca1.pem: AWS IoT Core에서 사용하는 CA 인증서

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. 🟥 기존 개발, 시연, 운영 각 환경 마다 다르게 사용하는 클레임 인증서를 공통 동일한 인증서 하나만 사용할 수 있도록 개선 요청

  >> 👉 개발, 시연, 운영 각 AWS 환경 어카운트가 달라서 별도로 각 생성해서 사용 중 상태


2. 🟥 각 클레임 인증서가 환경 별로 분리 되어 있어 펌웨어 파일도 개발, 시연, 운영 용 각각 사용 불편함 및 버전 관리 불편함 등 이슈 접수

  >> 👉 AWS IoT Core 연결에 사용 되는 엔드포인트 정보는 동적으로 기기가 받고 있는 상태 (소켓 통신)

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 🟥 기기는 클레임 인증서가 개별로 다르게 설정 되어 있어 개발, 시연, 운영 각 환경에 맞게 프로비저닝 동작을 수행하고 있는 것 확인


2. 🟥 프로비저닝 수행에 필요한 템플릿 명칭도 개발, 시연, 운영 각 환경에 맞게 분리 되어 있는 것 확인

  >> ex : TEMP_DEV / TEMP_STG / TEMP_PRD

------------------------------------------------------------------------------






------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. 🟦 RegisterCertificateWithoutCA 방식을 사용해서 다른 AWS 어카운트 운영 환경 클레임 인증서를 시연, 개발에도 공통으로 사용하도록 인증서 생성 수행


2. 🟦 각 환경에 맞게 분리되어 있는 템플릿 명칭도 통일해서 하나의 템플릿 명칭을 사용하도록 명칭 변경 수행

  >> ex : TEMP_DEV / TEMP_STG / TEMP_PRD -> 👉 COMMON_TEMP


3. 🟦 하나의 인증서를 각 환경에 재등록 사용하는 방법 정리 : 

  >> A 계정에서 가지고 있던 인증서 (Claim cert든 일반 cert든) 를 B 계정 IoT Core 에 “재등록” 해서 사용하는 방법 

    - Endpoint 정보를 각 환경에 맞게 꼭 변경 및 접속이 필요 (인증서는 공통 사용)

  >> 간략 플로우 흐름 

    [A Account]
      └ 인증서 + Private Key 추출
            ↓
    [B Account]
      └ RegisterCertificate
      └ Policy Attach
      └ (필요 시 Thing 연결)

  >> A 계정에서 가지고 있어야할 파일 정리 

    - 👉 (중요) certificate.pem.crt
    - 👉 (중요) private.pem.key
    - public.pem.key : ✔ 선택
    - ca1.pem : ✔ Root CA (Amazon Root CA)는 계정과 무관하므로 그대로 복사해서 사용 가능

  >> ✅ RegisterCertificateWithoutCA 방식을 사용해 B 계정에 인증서 등록 방법

    - CLI 명령을 통해서 하는 이유 : 

      AWS IoT 콘솔은 기본적으로 새 인증서 생성(Create certificate), Fleet provisioning, CA 등록 위주로 제공하고 👉 외부에서 가져온 인증서 (import) 는 콘솔 UX에 없음

    - 문법 : 

      aws iot register-certificate-without-ca \ 👉 CLI 명령어는 현재 설정된 AWS 자격증명 (credential) 을 기준으로 동작합니다.
        --certificate-pem file://certificate.pem.crt \ 👉 인증서 경로 지정 file://<인증서 파일 경로>
        --status ACTIVE 👉 활성 상태로 변경

    - 예시 : 

      aws iot register-certificate-without-ca --certificate-pem file://certificate.pem.crt --status ACTIVE

    - 결과 :

      새로운 certificateArn 생성됨
      B 계정 IoT Registry에 등록됨
      
      {
        "certificateArn": "...",
        "certificateId": "..."
      }

    - 추가 정보 : AWS CLI configure 설정 정보 

      AWS Access Key ID
      AWS Secret Access Key
      Default region name

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [Aws Iot Core] Aws 프로비저닝 수행에 필요한 클레임 인증서 (claim certificate) 설명 정리

https://kkh0977.tistory.com/7799

https://blog.naver.com/kkh0977/223784109192?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Aws Iot Core 프로비저닝에 사용 되는 클레임 인증서 종류 설명 및 생성 방법 정리

https://kkh0977.tistory.com/8100

https://blog.naver.com/kkh0977/223918338710?trackingCode=blog_bloghome_searchlist


▶️ [Aws] IoT 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드 로직 정리 - 클레임 인증서 다운로드

https://kkh0977.tistory.com/8837

https://blog.naver.com/kkh0977/224290535389?trackingCode=blog_bloghome_searchlist


▶️ [MQTT (Message Queueing Telemetry Transport) 통신 설명]

https://kkh0977.tistory.com/3631

https://blog.naver.com/kkh0977/222971771381?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 수행 방법 정리 - 클레임 인증서 , 신뢰할 수 있는 사용자

https://kkh0977.tistory.com/7761

https://blog.naver.com/kkh0977/223779257161?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------
 
728x90
반응형
Comments