기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 인증 워크플로 이해
사용자 지정 인증은 권한 부여자 리소스를 사용하여 클라이언트를 인증하고 권한을 부여하는 방법을 정의할 수 있도록 합니다. 각 권한 부여자는 고객 관리형 Lambda 함수에 대한 참조, 디바이스 자격 증명을 검증하기 위한 선택적 공개 키 및 추가 구성 정보를 포함합니다. 다음 다이어그램은 에서 사용자 지정 인증을 위한 권한 부여 워크플로를 보여줍니다. AWS IoT Core
![에서 AWS IoT Core사용자 지정 인증을 위한 사용자 지정 권한 부여 워크플로](images/custom-authentication.png)
AWS IoT Core 사용자 지정 인증 및 권한 부여 워크플로
다음 목록에서는 사용자 지정 인증 및 권한 부여 워크플로의 각 단계를 설명합니다.
-
지원되는 장치 중 하나를 사용하여 디바이스를 고객의 AWS IoT Core 데이터 엔드포인트에 연결합니다디바이스 통신 프로토콜. 장치는 요청의 헤더 필드나 쿼리 매개변수 (HTTP Publish 또는 MQTT over WebSockets 프로토콜의 경우) 또는 MQTT CONNECT 메시지의 사용자 이름 및 암호 필드 (MQTT 및 MQTT over 프로토콜의 경우) 에서 자격 증명을 전달합니다. WebSockets
-
AWS IoT Core 다음 두 조건 중 하나를 확인합니다.
-
수신되는 요청이 권한 부여자를 지정합니다.
-
요청을 받는 AWS IoT Core 데이터 엔드포인트에는 이에 대한 기본 권한 부여자가 구성되어 있습니다.
이러한 방법 중 하나로 권한 부여자를 AWS IoT Core 찾으면 권한 부여자와 연결된 Lambda 함수를 AWS IoT Core 트리거합니다.
-
-
(선택 사항) 토큰 서명을 활성화한 경우, Lambda 함수를 트리거하기 전에 권한 부여자에 저장된 공개 키를 사용하여 요청 서명을 AWS IoT Core 검증합니다. 유효성 검사에 실패하면 AWS IoT Core 이(가) Lambda 함수를 호출하지 않고 요청을 중지합니다.
-
Lambda 함수는 요청에서 자격 증명 및 연결 메타데이터를 수신하고 인증 결정을 내립니다.
-
Lambda 함수는 인증 결정 결과와 연결에서 허용되는 작업을 AWS IoT Core 지정하는 정책 문서를 반환합니다. 또한 Lambda 함수는 Lambda 함수를 호출하여 요청의 자격 증명을 재검증하는 AWS IoT Core 빈도를 지정하는 정보를 반환합니다.
-
AWS IoT Core Lambda 함수에서 수신한 정책을 기준으로 연결 활동을 평가합니다.
-
연결이 설정되고 사용자 지정 권한 부여자 Lambda가 처음 호출되면 MQTT 작업 없이 유휴 연결에서 다음 호출을 최대 5분까지 지연할 수 있습니다. 이후 호출은 사용자 지정 권한 부여자 Lambda의 새로 고침 간격을 따릅니다. 이 접근 방식을 사용하면 Lambda 동시 실행 한도를 초과할 수 있는 과도한 호출을 방지할 수 있습니다. AWS 계정
스케일 아웃 고려 사항
Lambda 함수는 권한 부여자에 대한 인증 및 권한 부여를 처리하므로 동시 실행 속도와 같은 Lambda 요금 및 서비스 제한이 적용됩니다. Lambda 요금에 대한 자세한 내용은 Lambda 요금refreshAfterInSeconds
및 disconnectAfterInSeconds
파라미터를 조정하여 Lambda 함수의 로드를 관리할 수 있습니다. Lambda 함수 응답의 내용에 대한 자세한 내용은 Lambda 함수 정의 단원을 참조하세요.
참고
서명을 활성화한 상태로 두면 인식할 수 없는 클라이언트가 Lambda를 과도하게 트리거하는 것을 방지할 수 있습니다. 권한 부여자의 로그인을 비활성화하기 전에 이 점을 고려하세요.
참고
사용자 지정 권한 부여자에 대한 Lambda 함수 제한 시간은 5초입니다.