As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Práticas recomendadas
Esta seção descreve as melhores práticas para proteger seus aplicativos do Amazon Location Service e otimizar o uso da autenticação. Ao implementar o isolamento de credenciais, o monitoramento e as restrições apropriadas, você pode minimizar os riscos de segurança e controlar os custos. Para obter orientação sobre como escolher entre chaves de API, Amazon Cognito e AWS Identity and Access Management, consulte. Escolhendo um método de autenticação
Gerenciamento de credenciais
O gerenciamento adequado de credenciais reduz o risco de segurança e simplifica as operações quando você precisa alternar ou revogar o acesso.
-
Use credenciais separadas por aplicativo — Crie chaves de API ou funções do IAM distintas para cada aplicativo ou ambiente (desenvolvimento, preparação, produção). Isso limita o raio de explosão se uma credencial for comprometida.
-
Aplique o princípio do privilégio mínimo — conceda somente as permissões mínimas necessárias para cada caso de uso. Limite o acesso a APIs e recursos específicos em vez de usar curingas.
-
Alterne as credenciais regularmente — alterne periodicamente as chaves de API e revise as políticas do IAM. Remova as credenciais não utilizadas imediatamente.
-
Nunca exponha credenciais no código-fonte — armazene chaves de API, IDs de grupos de identidade do Amazon Cognito e outros valores confidenciais em variáveis de ambiente, gerenciadores de segredos ou armazenamentos de configuração seguros. Não os comprometa com o controle de versão.
Otimização da chave de API
As chaves de API fornecem uma maneira simples de conceder acesso não autenticado e somente para leitura aos recursos do Maps, Places e Routes. Siga essas práticas para minimizar os riscos de segurança e otimizar o uso.
-
Restrinja ações e recursos — Ao criar uma chave de API, especifique somente as ações e os recursos de que o aplicativo precisa. Por exemplo, um aplicativo somente de mapas só deve permitir
geo-maps:*ações no recurso do provedor de mapas. -
Aplicar restrições de cliente — Configure restrições de referenciador de domínio para aplicativos web ou restrições de identificador de aplicativo para aplicativos Android e iOS. Isso evita que sua chave seja usada em origens não autorizadas. Para obter mais informações, consulte Restringir o uso da chave de API por origem da solicitação.
-
Defina prazos de expiração — Use a expiração da chave para impor a rotação regular. Crie uma nova chave antes que a antiga expire, atualize seu aplicativo e desative a chave antiga.
-
Monitore o uso por chave — use CloudWatch métricas com a
ApiKeyNamedimensão para monitorar o uso de cada chave individualmente. Defina alarmes em caso de picos inesperados.CallCount -
Exclua chaves não utilizadas — Audite regularmente suas chaves de API e exclua as que não estão mais em uso. Uma chave inativa que tenha sido desativada pode ser excluída após 90 dias.
Restringir o uso da chave de API por origem da solicitação
Você pode configurar chaves de API com restrições de cliente que limitam o acesso a domínios ou aplicações móveis específicos. Ao restringir por domínio, o serviço autoriza solicitações somente quando o cabeçalho HTTP Referer corresponde ao valor fornecido por você. Ao restringir por aplicativo Android ou Apple, o serviço autoriza solicitações somente quando os campos do cabeçalho HTTP do identificador do aplicativo corresponderem aos valores fornecidos por você.
Para obter mais informações sobre restrições de chaves de API, consulte ApiKeyRestrictionsa Referência de API do Amazon Location Service.
Identificadores de aplicações Android:
-
X-Android-Package:Um identificador exclusivo para aplicações Android, definido no arquivo
build.gradleda aplicação, geralmente seguindo um formato de domínio inverso.Exemplo:
com.mydomain.appname -
X-Android-Cert:O SHA-1 hash do certificado de assinatura usado para assinar o APK do Android.
Exemplo:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
Identificadores de aplicações da Apple:
-
X-Apple-Bundle-Id:Um identificador exclusivo para aplicações Apple (iOS, macOS, etc.), definido no arquivo
Info.plistda aplicação, geralmente seguindo um formato de domínio reverso.Exemplo:
com.mydomain.appname
Otimização do Amazon Cognito
O Amazon Cognito fornece um controle de acesso mais granular do que as chaves de API e oferece suporte a usuários autenticados e não autenticados.
-
Defina funções não autenticadas — Ao usar grupos de identidades para acesso anônimo, anexe políticas do IAM que permitam somente as ações e os recursos específicos de localização da Amazon que seu aplicativo precisa.
-
Use chaves de condição para filtragem de IP — adicione
aws:SourceIpcondições às suas políticas do IAM para restringir o acesso a intervalos de IP conhecidos quando apropriado. -
Mantenha grupos de identidades na mesma região — Crie o pool de identidade do Amazon Cognito na mesma AWS região que seus recursos do Amazon Location Service para evitar latência entre regiões e garantir o acesso adequado.
-
Use identidades autenticadas sempre que possível — Se seu aplicativo tiver um fluxo de login, use grupos de usuários ou identidades federadas do Amazon Cognito para conceder funções autenticadas com permissões específicas, em vez de depender de acesso não autenticado.
Otimização do IAM
Para aplicativos do lado do servidor e ferramentas internas, use AWS Identity and Access Management para ter controle total sobre o acesso.
-
Use funções do IAM em vez de credenciais de longo prazo — Para aplicativos executados em serviços de AWS computação (como Amazon EC2, Lambda ou Amazon ECS), use funções do IAM para fornecer credenciais temporárias automaticamente.
-
Aplique permissões em nível de recurso — especifique ARNs de recursos em suas políticas em vez de usar curingas. Por exemplo, restrinja o acesso a recursos específicos de rastreamento ou coleta de cercas geográficas.
-
Use condições de política — adicione condições como
aws:RequestedRegionlimitar o acesso a regiões específicas ouaws:PrincipalTagpara controle de acesso baseado em atributos. -
Habilitar CloudTrail — Use AWS CloudTrail para registrar todas as chamadas de API do Amazon Location Service para fins de auditoria e conformidade. Revise os registros regularmente em busca de padrões de acesso inesperados.