Configuração do IAM e papéis da conta de serviço

Configurar o IAM corretamente é um pré-requisito da segurança e do gerenciamento de identidade do sistema do Fleet Engine. Use papéis do IAM para personalizar o acesso a diferentes operações e dados e atender aos requisitos de motoristas, consumidores e operadores de frota.

O que são contas de serviço e papéis do IAM?

Você configura contas de serviço no console do Google Cloud para autenticar e autorizar o acesso aos dados no Fleet Engine. O Fleet Engine tem um conjunto de papéis predeterminados do IAM que você atribui a uma conta de serviço para determinar a quais dados ela tem acesso. Para mais detalhes, consulte Visão geral das contas de serviço na documentação do Google Cloud.

O Fleet Engine usa papéis e políticas do IAM para gerenciar a autorização de métodos e recursos da API Fleet Engine. Para mais informações, consulte Visão geral das funções na documentação do Google Cloud. Use apenas as funções da conta de serviço do Fleet Engine descritas nas seções a seguir.

Para mais informações gerais sobre como conceder papéis do IAM, consulte Conceder um papel do IAM usando o console do Google Cloud.

Papéis da conta de serviço do Fleet Engine

O serviço de mobilidade escolhido para a instalação do Fleet Engine determina os papéis e as permissões incluídos.

Os papéis a seguir ilustram como as permissões funcionam com os papéis do Fleet Engine:

  • As funções ondemandAdmin e deliveryAdmin podem realizar todas as operações no Fleet Engine. Use essas funções apenas em ambientes confiáveis, como comunicações entre o servidor de back-end e o Fleet Engine.

  • As funções driverSdkUser e consumerSdkUser só podem receber detalhes de viagens atribuídas e atualizar ou receber a localização do veículo. Esses tipos de papéis são usados normalmente por clientes em ambientes de baixa confiança, como apps de motorista, consumidor ou monitoramento.

Os papéis e as permissões concedidas para viagens sob demanda e tarefas programadas estão descritos nas tabelas a seguir.

Viagens sob demanda

Papel Permissão

Administrador on-demand do Fleet Engine

roles/fleetengine.ondemandAdmin

Concede permissão de leitura, gravação e exclusão para todos os recursos de veículos e viagens. Os principais com essa função não precisam usar JWTs e, em vez disso, devem usar o Application Default Credentials sempre que possível. Essa função ignora declarações JWT personalizadas. Restrinja o uso dessa função a ambientes confiáveis, como seu servidor de back-end.

Usuário do SDK do driver Fleet Engine

roles/fleetengine.driverSdkUser

Atualize locais e rotas de veículos e recupere informações sobre veículos e viagens. Use JWTs com declarações personalizadas criadas com essa função para autenticação e autorização de apps de motoristas para compartilhamento de viagens ou entregas.

Usuário do SDK do consumidor do Fleet Engine

roles/fleetengine.consumerSdkUser

Pesquise veículos e recupere informações sobre veículos e viagens. Use JWTs com declarações personalizadas criadas com essa função para apps de consumo de carona compartilhada ou entrega .

Tarefas agendadas

Papel Permissão

Administrador de entrega do Fleet Engine

roles/fleetengine.deliveryAdmin

Concede permissão de leitura, gravação e exclusão para recursos de entrega. Os principais com essa função não precisam usar JWTs e, em vez disso, devem usar Application Default Credentials. Ignora declarações JWT personalizadas. Restrinja o uso dessa função a ambientes confiáveis, como seu servidor de back-end.

Leitor de frota do Fleet Engine Delivery

roles/fleetengine.deliveryFleetReader

Concede permissão para ler veículos e tarefas de entrega e pesquisar tarefas usando um ID de rastreamento. Os tokens emitidos por uma conta de serviço com essa função geralmente são usados em um navegador da Web de um operador de frota de entrega.

Usuário de driver não confiável de entrega do Fleet Engine

roles/fleetengine.deliveryUntrustedDriver

Concede permissão para atualizar a localização do veículo de entrega. Os tokens emitidos por uma conta de serviço com essa função geralmente são usados no dispositivo móvel do motorista de entrega.

Observação: "não confiável" se refere a um dispositivo do motorista que não é gerenciado pela TI corporativa, mas sim fornecido pelo motorista e geralmente sem controles adequados de segurança de TI. As organizações com políticas de "traga seu próprio dispositivo" (BYOD, na sigla em inglês) devem optar pela segurança dessa função e confiar apenas no app para dispositivos móveis para enviar atualizações de localização do veículo ao Fleet Engine. Todas as outras interações precisam ser originadas dos seus servidores de back-end.

Usuário consumidor de entrega do Fleet Engine

roles/fleetengine.deliveryConsumer

Concede permissão para pesquisar tarefas usando um ID de rastreamento e para ler, mas não atualizar, informações de tarefas. Os tokens emitidos por uma conta de serviço com essa função geralmente são usados em um navegador da Web do consumidor de entrega.

Usuário motorista confiável de entrega do Fleet Engine

roles/fleetengine.deliveryTrustedDriver

Concede permissão para criar e atualizar veículos e tarefas de entrega, incluindo a atualização da localização do veículo e do status ou resultado da tarefa. Os tokens emitidos por uma conta de serviço com essa função geralmente são usados em dispositivos móveis do motorista de entrega ou em servidores de back-end.

Observação: "confiável" se refere a um dispositivo de motorista gerenciado pela TI corporativa que tem controles de segurança adequados. As organizações que fornecem esses dispositivos podem integrar as interações do Fleet Engine ao app para dispositivos móveis.

Como usar papéis do IAM e contas de serviço com o Fleet Engine

Para usar contas de serviço na autenticação e autorização do Fleet Engine, siga estas etapas gerais:

  1. Crie contas de serviço no Console do Google Cloud para cada função que você precisa. Você precisa de contas de serviço para autenticar aplicativos e sites de motorista, consumidor, monitoramento e gerenciamento de frotas, ou seja, qualquer software que precise de acesso aos dados do Fleet Engine. Softwares que precisam das mesmas permissões podem usar a mesma conta de serviço.

  2. Atribua uma função de política do IAM do Fleet Engine a cada conta de serviço. Selecione a função de política do IAM específica do Fleet Engine que fornece as permissões adequadas para acessar ou atualizar seus dados no Fleet Engine.

  3. Use as contas de serviço adequadas nos seus apps e softwares para autenticar a conexão deles com o Fleet Engine e autorizar o acesso aos recursos concedidos pela função atribuída.

Para detalhes sobre como as funções da conta de serviço se encaixam na segurança do Fleet Engine, consulte Visão geral da segurança. Para uma explicação completa dos papéis da conta de serviço, consulte Noções básicas sobre papéis do IAM na documentação do Google Cloud.

A seguir