Fleet Engine 보안 설계

지금까지 Fleet Engine의 계정 역할과 JWT에 대한 기본사항을 살펴봤습니다. 이 섹션을 검토하여 기본 인증 흐름을 이해하고 승인 작업을 실행할 수 있습니다

보안 설계

Fleet Engine의 보안 설계는 다음 요소로 구성됩니다.

  • 역할:
    • IAM 역할은 다음에 대해 허용되는 활동 범위를 정의합니다. 있습니다. 예를 들어 ondemandAdmin 또는 deliveryAdmin 역할이 허용됩니다. 모든 작업을 수행하는 반면 driverSdkUser 또는 deliveryUntrustedDriver 역할은 최소한의 위치 업데이트만 수행할 수 있습니다.
    • IAM 역할은 서비스 계정과 연결됩니다.
  • 요청
    • JWT 클레임은 호출자가 작업할 수 있는 항목을 추가로 제한합니다. 특정 작업 또는 배송 수단일 수 있습니다.
    • Fleet Engine으로 전송된 요청에는 항상 JWT가 포함됩니다.
    • JWT는 서비스 계정과 연결되므로 요청이 Fleet로 전송됩니다. 엔진은 부하 분산기와 연결된 서비스 계정과 암시적으로 연결됩니다. JWT입니다
    • 적절한 JWT를 요청하여 Fleet에 전달할 수 있습니다. 엔진에서는 신뢰할 수 없는 환경에서 실행되는 코드가 먼저 신뢰할 수 있는 환경에서 실행되는 애플리케이션을 예로 들 수 있습니다
  • Fleet Engine의 보안 확인
    • 서비스 계정과 연결된 IAM 역할은 호출자가 API 호출을 발행할 수 있는 승인입니다.
    • 요청에서 전달된 JWT 클레임은 호출자가 개체에서 작동하도록 합니다.

클라이언트 앱 인증 흐름

다음 시퀀스 다이어그램은 클라이언트 앱 인증 흐름을 보여줍니다. 확인하세요.

  • Fleet 관리자는 다음과 같이 계정을 설정합니다.
    • 서비스 계정 만들기
    • 서비스 계정에 특정 IAM 역할 할당
    • 서비스 계정으로 백엔드 구성
  • 클라이언트 앱이 서버로부터 JWT를 요청합니다. 요청자는 드라이버 앱, 소비자 앱 또는 모니터링 앱 중 하나입니다.
  • Fleet Engine은 각 서비스 계정에 대한 JWT를 발급합니다.
  • 클라이언트 앱은 다음을 실행합니다.
    • JWT 수신
    • JWT를 사용하여 Fleet Engine에 연결하여 데이터를 읽거나 수정합니다. IAM 역할에 따라 IAM 역할을 할당받을 수 있습니다

클라이언트 앱 인증 설정 중 보안 흐름 다이어그램

다음 단계