Design de segurança do Fleet Engine

Agora que você aprendeu noções básicas sobre papéis de conta e JWTs no Fleet Engine, pode consultar esta seção para entender o fluxo básico de autenticação e operações de autorização no Fleet Engine.

Design de segurança

O projeto de segurança do Fleet Engine é composto pelos seguintes elementos:

  • Papéis:
    • Os papéis do IAM definem o escopo da atividade permitida para autor da chamada. Por exemplo, o papel ondemandAdmin ou deliveryAdmin é permitido. para fazer tudo, enquanto o driverSdkUser ou deliveryUntrustedDriver pode realizar apenas atualizações mínimas de local.
    • Os papéis do IAM estão associados às contas de serviço.
  • Solicitações
    • As declarações do JWT restringem ainda mais as entidades em que o autor da chamada pode operar. Podem ser tarefas específicas ou veículos de entrega.
    • As solicitações enviadas ao Fleet Engine sempre contêm um JWT.
    • Como os JWTs estão associados a contas de serviço, as solicitações enviadas à frota Engine são implicitamente associados à conta de serviço associada o JWT.
    • Para solicitar o JWT apropriado que você pode transmitir para a frota Engine, o código em execução em um ambiente de baixa confiança deve primeiro chamar no seu em execução em um ambiente totalmente confiável.
  • Verificações de segurança do Fleet Engine
    • Os papéis do IAM associados à conta de serviço fornecem autorização para o autor da chamada emitir a chamada de API.
    • As declarações JWT transmitidas na solicitação fornecem a autorização correta para o autor da chamada funcione na entidade.

Fluxo de autenticação de aplicativos clientes

O diagrama de sequência a seguir demonstra o fluxo de autenticação do aplicativo cliente detalhes.

  • O administrador da frota configura as contas da seguinte maneira:
    • Cria contas de serviço
    • Atribui papéis específicos do IAM às contas de serviço
    • Configura o back-end com as contas de serviço
  • O app cliente solicita um JWT do servidor. O solicitante pode ser do motorista, do consumidor ou de monitoramento.
  • O Fleet Engine emite um JWT para a respectiva conta de serviço.
  • O app cliente faz o seguinte:
    • Recebe o JWT
    • Usa o JWT para se conectar ao Fleet Engine e ler ou modificar dados dependendo dos papéis do IAM atribuídos durante a fase de configuração.

Diagrama do fluxo de segurança durante a configuração para autenticação do app cliente

A seguir