다음을 통해 공유


IoT Edge 인증서 관리

적용 대상: 예 아이콘 IoT Edge 1.1

Important

IoT Edge 1.1 지원 종료일은 2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 정보는 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge로 업데이트하는 방법에 대한 자세한 내용은 업데이트 IoT Edge를 참조하세요.

모든 IoT Edge 디바이스는 인증서를 사용하여 런타임과 디바이스에서 실행되는 모듈 간에 보안 연결을 만듭니다. 게이트웨이로 작동하는 IoT Edge 디바이스는 이러한 동일한 인증서를 사용하여 다운스트림 디바이스에도 연결합니다. IoT Edge 디바이스의 다양한 인증서 기능에 대한 자세한 내용은 Azure IoT Edge가 인증서를 사용하는 방법 이해를 참조하세요.

참고 항목

이 문서 전체에서 사용되는 루트 CA라는 용어는 IoT 솔루션의 인증서 체인에서 최상위 기관의 인증서를 나타냅니다. 신디케이트 인증 기관의 인증서 루트 또는 조직의 인증 기관의 루트를 사용할 필요가 없습니다. 대부분의 경우 실제로는 중간 CA 인증서입니다.

필수 조건

  • Azure IoT Edge에서 인증서를 사용하는 방법 이해

  • IoT Edge 디바이스. IoT Edge 디바이스를 설정하지 않은 경우 Azure 가상 머신에서 만들 수 있습니다. 빠른 시작 문서 중 하나에 있는 단계에 따라 가상 Linux 디바이스를 만들거나 가상 Windows 디바이스를 만듭니다.

  • 구성 템플릿에 따라 IoT Edge 구성 파일 config.toml을 편집할 수 있습니다.

    • config.toml이 템플릿을 기반으로 하지 않는 경우 템플릿을 열고 주석이 달린 지침을 사용하여 템플릿 구조에 따라 구성 섹션을 추가합니다.

    • 구성되지 않은 새 IoT Edge 설치가 있는 경우 템플릿을 복사하여 구성을 초기화합니다. 기존 구성이 있는 경우 이 명령을 사용하지 마세요. 파일을 덮어씁니다.

      sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
      

디바이스 CA

모든 IoT Edge 디바이스는 인증서를 사용하여 런타임과 디바이스에서 실행되는 모듈 간에 보안 연결을 만듭니다. 게이트웨이로 작동하는 IoT Edge 디바이스는 이러한 동일한 인증서를 사용하여 다운스트림 디바이스에도 연결합니다. IoT Edge 디바이스의 다양한 인증서 기능에 대한 자세한 내용은 Azure IoT Edge가 인증서를 사용하는 방법 이해를 참조하세요.

IoT Edge는 다음을 비롯한 여러 경우에 디바이스에서 디바이스 CA를 자동으로 생성합니다.

  • IoT Edge를 설치하고 프로비전할 때 사용자 고유의 프로덕션 인증서를 제공하지 않으면 IoT Edge 보안 관리자가 디바이스 CA 인증서자동으로 생성합니다. 이 자체 서명된 인증서는 프로덕션이 아닌 개발 및 테스트 시나리오에만 사용할 수 있습니다. 이 인증서는 90일 후에 만료됩니다.
  • IoT Edge 보안 관리자는 디바이스 CA 인증서로 서명된 워크로드 CA 인증서도 생성합니다.

자동으로 생성된 이 두 인증서의 경우 구성 파일에서 플래그를 설정하여 인증서 수명 기간(일)을 구성할 수 있습니다.

참고 항목

IoT Edge 보안 관리자가 만드는 세 번째 자동 생성된 인증서인 IoT Edge 허브 서버 인증서가 있습니다. 이 인증서는 항상 30일의 수명 기간을 갖지만 만료되기 전에 자동으로 갱신됩니다. 구성 파일에 설정된 자동 생성 CA 수명 값은 이 인증서에 영향을 주지 않습니다.

빠른 시작 디바이스 CA 인증서 수명 사용자 지정

지정된 일 수 후에 만료되면 디바이스 CA 인증서를 다시 생성하려면 IoT Edge를 다시 시작해야 합니다. 디바이스 CA 인증서는 자동으로 갱신되지 않습니다.

  1. 인증서 만료를 기본 90일이 아닌 다른 값으로 구성하려면 구성 파일의 인증서 섹션에 일 단위의 값을 추가합니다 .

    certificates:
      device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>"
      device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>"
      trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>"
      auto_generated_ca_lifetime_days: <value>
    

    참고 항목

    현재 libiothsm의 제한으로 인해 2038년 1월 1일 이후에 만료되는 인증서는 사용할 수 없습니다.

  2. 폴더의 hsm 내용을 삭제하여 이전에 생성된 인증서를 제거합니다.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. IoT Edge 서비스를 다시 시작합니다.

    sudo systemctl restart iotedge
    
  4. 수명 설정을 확인합니다.

    sudo iotedge check --verbose
    

    자동으로 생성된 디바이스 CA 인증서가 만료될 때까지 남은 일 수를 나열하는 프로덕션 준비 상태: 인증서 확인의 출력을 확인합니다.

프로덕션용 디바이스 CA 설치

프로덕션 시나리오로 이동하거나 게이트웨이 디바이스를 만들려면 사용자 고유의 인증서를 제공해야 합니다.

프로덕션용 디바이스 CA 만들기 및 설치

  1. 자체 인증 기관을 사용하여 다음 파일을 만듭니다.

    • 루트 CA
    • 디바이스 CA 인증서
    • 디바이스 CA 프라이빗 키

    루트 CA는 조직의 최상위 인증 기관이 아닙니다. IoT Edge 허브 모듈, 사용자 모듈 및 모든 다운스트림 디바이스가 서로 트러스트를 설정하는 데 사용하는 IoT Edge 시나리오의 최상위 인증 기관입니다.

    이러한 인증서의 예를 보려면 샘플 및 자습서에 대한 테스트 CA 인증서 관리에서 데모 인증서를 만드는 스크립트를 검토합니다.

    참고 항목

    현재 libiothsm의 제한으로 인해 2038년 1월 1일 이후에 만료되는 인증서는 사용할 수 없습니다.

  2. 3개의 인증서 및 키 파일을 IoT Edge 디바이스에 복사합니다. Azure Key Vault 또는 보안 복사 프로토콜 같은 기능을 사용하여 인증서 파일을 이동할 수 있습니다. IoT Edge 디바이스 자체에서 인증서를 생성한 경우 이 단계를 건너뛸 수 있으며 작업 디렉터리에 대한 경로를 사용합니다.

    샘플 스크립트를 사용하여 데모 인증서를 만든 경우 세 개의 인증서 및 키 파일은 다음 경로에 있습니다.

    • 디바이스 CA 인증서: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • 디바이스 CA 프라이빗 키: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • 루트 CA: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. IoT Edge 보안 디먼 구성 파일을 엽니다. /etc/iotedge/config.yaml

  2. config.yaml의 인증서 속성을 IoT Edge 디바이스의 인증서 및 키 파일에 대한 파일 URI 경로로 설정합니다. # 인증서 속성 앞에 있는 문자를 제거하여 4줄의 주석 처리를 제거합니다. 인증서: 줄에 선행 공백이 없고 중첩된 항목이 두 개의 공백으로 들여쓰기되어 있는지 확인합니다. 예시:

    certificates:
       device_ca_cert: "file:///<path>/<device CA cert>"
       device_ca_pk: "file:///<path>/<device CA key>"
       trusted_ca_certs: "file:///<path>/<root CA cert>"
    
  3. 사용자 iotedge에게 인증서가 있는 디렉터리에 대한 읽기/쓰기 권한이 있는지 확인합니다.

  4. 이전에 디바이스에서 IoT Edge에 대한 다른 인증서를 사용한 경우 IoT Edge를 시작하거나 다시 시작하기 전에 다음 두 디렉터리에서 파일을 삭제합니다.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  5. IoT Edge를 다시 시작합니다.

    sudo iotedge system restart
    

모듈 서버 인증서

Edge Daemon은 Edge 모듈에서 사용할 모듈 서버 및 ID 인증서를 발급합니다. 필요에 따라 ID 및 서버 인증서를 갱신하는 것은 Edge 모듈의 책임입니다.

갱신

서버 인증서는 Edge CA 인증서에서 또는 DPS 구성 CA를 통해 발급될 수 있습니다. 발급 방법에 관계없이 이러한 인증서는 모듈에서 갱신해야 합니다.

1.2 이후의 변경 내용

  • 디바이스 CA 인증서의 이름이 에지 CA 인증서로 바뀌었습니다.
  • 워크로드 CA 인증서는 더 이상 사용되지 않습니다. 이제 IoT Edge 보안 관리자는 중간 워크로드 CA 인증서 없이 에지 CA 인증서에서 직접 IoT Edge 허브 edgeHub 서버 인증서를 생성합니다.
  • 기본 구성 파일에는 기본적으로 /etc/iotedge/config.yaml에서 /etc/aziot/config.toml까지의 새 이름과 위치가 있습니다. 구성 정보를 이전 위치와 구문에서 새 위치와 구문으로 이전하는 데 iotedge config import 명령을 사용하는 것이 도움이 될 수 있습니다.

다음 단계

프로덕션에 솔루션을 배포하기 전에 IoT Edge 디바이스에 인증서를 설치해야 합니다. 프로덕션에서 IoT Edge 솔루션 배포를 준비하는 방법에 대해 자세히 알아보세요.