Exemplos de políticas baseadas em identidade do Amazon Location Service - Amazon Location Service

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á.

Exemplos de políticas baseadas em identidade do Amazon Location Service

Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do Amazon Location. Eles também não podem realizar tarefas usando o AWS Management Console, AWS Command Line Interface (AWS CLI) ou AWS API. Para conceder permissão aos usuários para realizar ações nos recursos de que precisam, um IAM administrador pode criar IAM políticas. O administrador pode então adicionar as IAM políticas às funções e os usuários podem assumir as funções.

Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos de JSON política, consulte Criação de IAM políticas no Guia do IAMusuário.

Para obter detalhes sobre ações e tipos de recursos definidos pela Amazon Location, incluindo o formato de cada um dos ARNs tipos de recursos, consulte Actions, Resources, and Condition Keys for Amazon Location Service na Referência de Autorização de Serviço.

Melhores práticas de políticas

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Location em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Comece com políticas AWS gerenciadas e avance para permissões de privilégios mínimos — Para começar a conceder permissões para seus usuários e cargas de trabalho, use as políticas AWS gerenciadas que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para obter mais informações, consulte políticas AWS gerenciadas ou políticas AWS gerenciadas para funções de trabalho no Guia IAM do usuário.

  • Aplique permissões com privilégios mínimos — Ao definir permissões com IAM políticas, conceda somente as permissões necessárias para realizar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre IAM como usar para aplicar permissões, consulte Políticas e permissões IAM no Guia IAM do usuário.

  • Use condições nas IAM políticas para restringir ainda mais o acesso — Você pode adicionar uma condição às suas políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usandoSSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como AWS CloudFormation. Para obter mais informações, consulte elementos IAM JSON da política: Condição no Guia IAM do usuário.

  • Use o IAM Access Analyzer para validar suas IAM políticas e garantir permissões seguras e funcionais — o IAM Access Analyzer valida políticas novas e existentes para que as políticas sigam a linguagem da IAM política (JSON) e as melhores práticas. IAM IAMO Access Analyzer fornece mais de 100 verificações de políticas e recomendações práticas para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação da política do IAM Access Analyzer no Guia do IAM Usuário.

  • Exigir autenticação multifator (MFA) — Se você tiver um cenário que exija IAM usuários ou um usuário root Conta da AWS, ative MFA para obter segurança adicional. Para exigir MFA quando API as operações são chamadas, adicione MFA condições às suas políticas. Para obter mais informações, consulte Configurando o API acesso MFA protegido no Guia do IAMusuário.

Para obter mais informações sobre as melhores práticas emIAM, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.

Usar o console do Amazon Location

Para acessar o console do Amazon Location Service, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos de localização da Amazon em seu Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para AWS CLI o. ou AWS API o. Em vez disso, permita o acesso somente às ações que correspondam à API operação que eles estão tentando realizar.

Para garantir que usuários e perfis ainda possam usar o console do Amazon Location, anexe também a política para as entidades. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do IAM usuário.

A política a seguir dá acesso ao console do Amazon Location Service para poder criar, excluir, listar e visualizar detalhes sobre os recursos de localização do Amazon Location em sua conta AWS .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GeoPowerUser", "Effect": "Allow", "Action": [ "geo:*" ], "Resource": "*" } ] }

Alternativamente, você pode conceder permissões de somente leitura para facilitar o acesso como somente leitura. Com permissões somente leitura, uma mensagem de erro aparecerá se o usuário tentar escrever ações, como criar ou excluir recursos. Como exemplo, consulte Política somente leitura para recursos do rastreador

Permitir que usuários visualizem suas próprias permissões

Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou. AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Usar os recursos do Amazon Location Service em políticas

O Amazon Location Service usa os seguintes prefixos para recursos:

Prefixo do recurso do Amazon Location
Recurso Prefixo do recurso
Recursos de mapa map
Recursos de local place-index
Recursos de rota route-calculator
Recursos de rastreamento tracker
Recursos Geofence Collection (Coleção de Geocercas) geofence-collection

Use a seguinte ARN sintaxe:

arn:Partition:geo:Region:Account:ResourcePrefix/ResourceName

Para obter mais informações sobre o formato deARNs, consulte Amazon Resource Names (ARNs) e AWS Service Namespaces.

Exemplos

  • Use o seguinte ARN para permitir o acesso a um recurso de mapa especificado.

    "Resource": "arn:aws:geo:us-west-2:account-id:map/map-resource-name"
  • Para especificar o acesso a todos os recursos da map que pertencem a uma conta específica, use o caractere curinga (*):

    "Resource": "arn:aws:geo:us-west-2:account-id:map/*"
  • Algumas ações do Amazon Location, como as que servem para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).

    "Resource": "*"

Para ver uma lista dos tipos de recursos de localização da Amazon e seusARNs, consulte Resources Defined by Amazon Location Service na Referência de autorização de serviço. Para saber com quais ações você pode especificar cada recurso, consulte Actions Defined by Amazon Location Service. ARN

Permissões para atualizar as posições do dispositivo

Para atualizar as posições do dispositivo para vários rastreadores, você deve conceder a um usuário o acesso a um ou mais dos seus recursos de rastreador. Você também deverá permitir que o usuário atualize um lote de posições do dispositivo.

Neste exemplo, além de conceder acesso ao Tracker1 e Tracker2 recursos, a política a seguir concede permissão para usar a geo:BatchUpdateDevicePosition ação contra o Tracker1 e Tracker2 recursos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ] } ] }

Se você quiser limitar o usuário a poder atualizar somente as posições de um dispositivo específico, você pode adicionar uma chave de condição para a ID desse dispositivo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

Política somente leitura para recursos do rastreador

Para criar uma política somente de leitura para todos os recursos do rastreador em sua AWS conta, você precisará conceder acesso a todos os recursos do rastreador. Você também deve conceder ao usuário o acesso a ações que permitam obter a posição do dispositivo para vários dispositivos, obter a posição do dispositivo a partir de um único dispositivo e obter o histórico de posições.

Neste exemplo, a política a seguir concede permissão para as seguintes ações:

  • geo:BatchGetDevicePosition para recuperar as posições de vários dispositivos.

  • geo:GetDevicePosition para recuperar a posição de um único dispositivo.

  • geo:GetDevicePositionHistory para recuperar o histórico de posições de um dispositivo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchGetDevicePosition", "geo:GetDevicePosition", "geo:GetDevicePositionHistory" ], "Resource": "arn:aws:geo:us-west-2:account-id:tracker/*" } ] }

Política para a criação de geocercas

Para criar uma política que permita a um usuário criar geocercas, você precisará conceder acesso a ações específicas que permitam aos usuários criar uma ou mais geocercas em uma coleção de geocercas.

A política abaixo concede permissão para as seguintes ações em Collection:

  • geo:BatchPutGeofence para criar várias geocercas.

  • geo:PutGeofence para criar uma única geocerca.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofences", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

Política somente leitura para geocercas

Para criar uma política somente leitura para geocercas armazenadas em uma coleção de geocercas na sua conta AWS , você precisará conceder acesso às ações que são lidas da coleção de geocercas que armazena as geocercas.

A política abaixo concede permissão para as seguintes ações em Collection:

  • geo:ListGeofences para listar geocercas na coleção de geocercas especificada.

  • geo:GetGeofence para recuperar uma geocerca da coleção de geocercas.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetGeofences", "Effect": "Allow", "Action": [ "geo:ListGeofences", "geo:GetGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

Permissões para renderizar um recurso de mapa

Para conceder permissões suficientes para renderizar mapas, você precisará conceder acesso aos blocos de mapas, “sprites”, glifos e ao descritor de estilo:

  • o geo:GetMapTile recupera blocos de mapas usados para renderizar seletivamente os atributos em um mapa.

  • geo:GetMapSpritesrecupera a planilha PNG sprite e o JSON documento correspondente descrevendo os deslocamentos dentro dela.

  • o geo:GetMapGlyphs recupera os glifos usados para exibir texto.

  • o geo:GetMapStyleDescriptor recupera o descritor de estilo do mapa, contendo regras de renderização.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetTiles", "Effect": "Allow", "Action": [ "geo:GetMapTile", "geo:GetMapSprites", "geo:GetMapGlyphs", "geo:GetMapStyleDescriptor" ], "Resource": "arn:aws:geo:us-west-2:account-id:map/Map" } ] }

Permissões para operações de pesquisa

Para criar uma política que permita operações de pesquisa, primeiro você precisará conceder acesso ao recurso de índice de lugares em sua AWS conta. Você também deverá conceder acesso a ações que permitam ao usuário pesquisar usando texto por geocodificação e pesquisar usando uma posição por geocodificação reversa.

Neste exemplo, além de conceder acesso a PlaceIndex, a política a seguir também concede permissão para as seguintes ações:

  • o geo:SearchPlaceIndexForPosition permite que você pesquise lugares ou pontos de interesse próximos a uma determinada posição.

  • o geo:SearchPlaceIndexForText permite que você pesquise um endereço, nome, cidade ou região usando texto em formato livre.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Search", "Effect": "Allow", "Action": [ "geo:SearchPlaceIndexForPosition", "geo:SearchPlaceIndexForText" ], "Resource": "arn:aws:geo:us-west-2:account-id:place-index/PlaceIndex" } ] }

Política somente leitura para calculadoras de rotas

Você pode criar uma política somente leitura para permitir que um usuário acesse um recurso de calculadora de rotas para calcular uma rota.

Neste exemplo, além de conceder acesso a ExampleCalculator, a política a seguir concede permissão para a seguinte operação:

  • o geo:CalculateRoute calcula uma rota com base em uma posição de partida, posição de destino e uma lista de posições de pontos de referência.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RoutesReadOnly", "Effect": "Allow", "Action": [ "geo:CalculateRoute" ], "Resource": "arn:aws:geo:us-west-2:accountID:route-calculator/ExampleCalculator" } ] }

Controlar o acesso aos recursos com base nas chaves de condições

Ao criar uma IAM política para conceder acesso ao uso de cercas geográficas ou posições de dispositivos, você pode usar operadores de condição para obter um controle mais preciso sobre quais cercas geográficas ou dispositivos um usuário pode acessar. Você pode fazer isso incluindo o ID da geocerca ou o ID do dispositivo no elemento Condition da sua política.

O exemplo de política a seguir mostra como você pode criar uma política que permita que um usuário atualize as posições de um dispositivo específico.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

Controlar o acesso a recursos com base em tags

Ao criar uma IAM política para conceder acesso para usar seus recursos de localização da Amazon, você pode usar o controle de acesso baseado em atributos para controlar melhor quais recursos um usuário pode modificar, usar ou excluir. Você pode fazer isso incluindo as informações da tag no elemento Condition da sua política para controlar o acesso com base nas suas tags de recursos.

O exemplo de política a seguir mostra como você pode criar uma política que permita que um usuário crie geocercas. Isso concede a permissão para as seguintes ações para criar uma ou mais cercas geográficas em uma coleção de cercas geográficas chamada Collection:

  • geo:BatchPutGeofence para criar várias geocercas.

  • geo:PutGeofence para criar uma única geocerca.

No entanto, essa política usa o Condition elemento para conceder a permissão somente se o Collection tag,Owner, tem o valor do nome de usuário desse usuário.

  • Por exemplo, se um usuário chamado richard-roe tentar visualizar uma localização na Amazon Collection, o Collection deve ser marcado Owner=richard-roe ouowner=richard-roe. Caso contrário, o usuário terá o acesso negado.

    nota

    A chave da tag de condição Owner corresponde a Owner e a owner porque os nomes das chaves de condição não fazem distinção entre maiúsculas e minúsculas. Para obter mais informações, consulte Elementos da IAM JSON política: condição no Guia IAM do usuário.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofencesIfOwner", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection", "Condition": { "StringEquals": {"geo:ResourceTag/Owner": "${aws:username}"} } } ] }

Para ver um tutorial sobre como definir permissões para acessar AWS recursos com base em tags, consulte o Guia AWS Identity and Access Management do usuário.