계정 연결을 위한 OAuth 2.0 요구 사항 - 에 대한 관리형 통합 AWS IoT Device Management

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

계정 연결을 위한 OAuth 2.0 요구 사항

모든 C2C 커넥터는 OAuth 2.0 권한 부여 서버를 사용하여 최종 사용자를 인증합니다. 이 서버를 통해 최종 사용자는 타사 계정을 고객의 디바이스 플랫폼과 연결합니다. 계정 연결은 최종 사용자가 C2C 커넥터에서 지원하는 디바이스를 사용하는 데 필요한 첫 번째 단계입니다. 계정 연결 및 OAuth 2.0의 다양한 역할에 대한 자세한 내용은 섹션을 참조하세요계정 연결 역할.

C2C 커넥터는 권한 부여 흐름을 지원하기 위해 특정 비즈니스 로직을 구현할 필요는 없지만 C2C 커넥터와 연결된 OAuth2.0 권한 부여 서버는를 충족해야 합니다OAuth 구성 요구 사항.

참고

용 관리형 통합은 권한 부여 코드 흐름이 있는 OAuth 2.0 AWS IoT Device Management 만 지원합니다. 자세한 내용은 RFC 6749를 참조하세요.

계정 연결은 관리형 통합 및 커넥터가 액세스 토큰을 사용하여 최종 사용자의 디바이스에 액세스할 수 있도록 허용하는 프로세스입니다. 이 토큰은 최종 사용자의 권한으로 AWS IoT Device Management에 대한 관리형 통합을 제공하므로 커넥터가 API 호출을 통해 최종 사용자의 데이터와 상호 작용할 수 있습니다. 자세한 내용은 계정 연결 워크플로 단원을 참조하십시오.

이러한 민감한 토큰을 로그에 기록하지 않는 것이 좋습니다. 그러나 로그에 저장되는 경우 CloudWatch Logs 데이터 보호 정책을 사용하여 로그의 토큰을 마스킹하는 것이 좋습니다. 자세한 내용은 Help protect sensitive log data with masking을 참조하세요.

용 관리형 통합 AWS IoT Device Management 은 액세스 토큰을 직접 가져오지 않고 권한 부여 코드 부여 유형을 통해 가져옵니다. 먼저 AWS IoT Device Management의 관리형 통합은 권한 부여 코드를 얻어야 합니다. 그런 다음 코드를 액세스 토큰 및 새로 고침 토큰으로 교환합니다. 새로 고침 토큰은 이전 액세스 토큰이 만료될 때 새 액세스 토큰을 요청하는 데 사용됩니다. 액세스 토큰과 새로 고침 토큰이 모두 만료된 경우 계정 연결 흐름을 다시 수행해야 합니다. StartAccountAssociationRefresh API 작업을 사용하여이 작업을 수행할 수 있습니다.

중요

발급된 액세스 토큰의 범위는 OAuth 클라이언트가 아닌 사용자별로 지정해야 합니다. 토큰이 클라이언트에 속한 모든 사용자의 모든 디바이스에 대한 액세스를 제공해서는 안 됩니다.

권한 부여 서버는 다음 중 하나를 수행해야 합니다.

  • JWT 토큰과 같이 추출 가능한 최종 사용자(리소스 소유자) ID가 포함된 액세스 토큰을 발급합니다.

  • 발급된 각 액세스 토큰의 최종 사용자 ID를 반환합니다.

OAuth 구성 요구 사항

다음 표는 AWS IoT Device Management가 계정 연결을 수행하는 데 필요한 관리형 통합을 위한 OAuth 권한 부여 서버의 필수 파라미터를 보여줍니다.

OAuth 서버 파라미터
필드 필수 Comment

clientId

애플리케이션의 퍼블릭 식별자입니다. 인증 흐름을 시작하는 데 사용되며 공개적으로 공유할 수 있습니다.

clientSecret

특히 액세스 토큰에 대한 권한 부여 코드를 교환할 때 권한 부여 서버로 애플리케이션을 인증하는 데 사용되는 보안 키입니다. 기밀을 유지해야 하며 공개적으로 공유해서는 안 됩니다.

authorizationType

이 권한 부여 구성에서 지원하는 권한 부여 유형입니다. 현재 "OAuth 2.0"만 지원됩니다.

authUrl

타사 클라우드 공급자의 권한 부여 URL입니다.

tokenUrl

타사 클라우드 공급자의 토큰 URL입니다.

tokenEndpointAuthenticationScheme

“HTTP_BASIC” 또는 “REQUEST_BODY_CREDENTIALS”의 인증 체계입니다. HTTP_BASIC는 클라이언트 자격 증명이 권한 부여 헤더에 포함되어 있음을 알리는 반면, 래더는 요청 본문에 포함되어 있음을 알립니다.

액세스 토큰 문자열 값이 UTF-8 문자 집합으로 인코딩된 Base64가 되도록 사용하는 OAuth 서버를 구성해야 합니다.