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.
A seguir
- Crie seu projeto do Fleet Engine.
- Saiba como emitir JSON Web Tokens do servidor.