MQTT 클라이언트 인증은 메시지 연결 및 교환을 허용하기 전에 Azure Event Grid MQTT broker 기능이 클라이언트의 ID를 확인하는 프로세스입니다. MQTT 브로커는 연결 핸드셰이크 중에 클라이언트를 인증합니다. 인증은 게시 및 구독 작업을 제어하는 권한 부여 검사의 필수 구성 요소입니다.
MQTT 브로커는 여러 인증 모드를 지원하므로 메서드를 클라이언트의 기능, 배포 위치 및 ID 공급자와 일치시킬 수 있습니다.
인증서 기반 인증
CA(인증 기관) 서명된 인증서 또는 자체 서명된 인증서를 사용하여 클라이언트를 인증할 수 있습니다. MQTT 브로커는 mTLS(상호 TLS) 연결 핸드셰이크의 일부로 클라이언트 인증서의 유효성을 검사합니다.
자세한 내용은 인증서를 사용한 MQTT 클라이언트 인증을 참조하세요.
Microsoft Entra ID 인증
Microsoft Entra JWT(JSON Web Token)를 사용하여 Microsoft Entra ID가 있는 MQTT 클라이언트를 인증할 수 있습니다. Azure RBAC(Azure 역할 기반 액세스 제어)는 클라이언트가 특정 토픽 공간에 게시하거나 구독할 수 있는지 여부를 결정합니다. 이 메서드는 Azure 또는 Microsoft Entra 토큰을 획득할 수 있는 환경에서 실행되는 클라이언트에 적합합니다.
자세한 내용은 MQTT 메시지를 게시하거나 구독할 수 있도록 Microsoft Entra JWT 인증 및 Azure RBAC 권한 부여를 참조하세요.
OAuth 2.0 JWT 인증
타사 OIDC(OpenID Connect) ID 공급자가 발급한 JWT를 사용하여 MQTT 클라이언트를 인증할 수 있습니다. Azure 프로비전되지 않았지만 외부 ID 공급자에 이미 ID가 있는 MQTT 클라이언트에 이 메서드를 사용합니다.
자세한 내용은 OAuth 2.0 JWT를 사용하여 클라이언트 인증을 참조하세요.
사용자 지정 웹후크 인증
웹훅 인증은 웹훅이나 사용자가 제어하는 Azure 함수와 같은 외부 HTTPS 엔드포인트가 MQTT 연결을 동적으로 인증할 수 있게 해줍니다. 사용자 지정 인증 시스템, 타사 ID 공급자 또는 엔터프라이즈 보안 정책과 MQTT broker를 통합해야 하는 경우 이 모드를 사용합니다.
이 흐름에서 MQTT 클라이언트는 이벤트 그리드 네임스페이스에 연결을 시도하고, 이벤트 그리드는 설정된 웹훅을 호출하여 네임스페이스의 관리 신원으로 인증하고 연결 정보를 전달합니다. 웹훅은 공유 액세스 서명(SAS) 토큰, 사용자 이름 및 비밀번호 쌍, 인증서 취소 목록(CRL) 검사 등 클라이언트의 자격 증명을 검증하고, 연결을 허용하거나 거부하는 응답을 반환합니다. 웹훅은 응답에 메타데이터를 포함할 수도 있습니다. Event Grid는 이 메타데이터를 사용하여 토픽 액세스 및 메시지 게시에 대한 세분화된 제어를 제공하는 후속 MQTT 패킷에 권한을 부여합니다.
자세한 내용은 사용자 지정 웹후크 인증을 사용하여 MQTT broker로 인증을 참조하세요.