Como o Amazon Rekognition funciona com o IAM
Antes de usar o IAM para gerenciar o acesso ao Amazon Rekognition, você deve entender quais recursos do IAM estão disponíveis para uso com o Amazon Rekognition. Para obter uma visão de alto nível de como o Amazon Rekognition e outros serviços AWS funcionam com o IAM, consulte Serviços da AWS que funcionam com o IAM no Guia do Usuário do IAM.
Tópicos
Políticas baseadas em identidade do Amazon Rekognition
Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. O Amazon Rekognition oferece suporte a ações, recursos e chaves de condição específicas. Para conhecer todos os elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.
Ações
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
O elemento Action de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.
As ações de política no Amazon Rekognition usam o seguinte prefixo antes da ação: rekognition:. Por exemplo, para conceder permissão a alguém para detectar objetos, cenas ou conceitos em uma imagem com a operação da API DetectLabels do Amazon Rekognition, você inclui a ação rekognition:DetectLabels na política. As instruções de política devem incluir um elemento Action ou NotAction. O Amazon Rekognition define seu próprio conjunto de ações que descrevem as tarefas que você pode realizar com esse serviço.
Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:
"Action": [ "rekognition:action1", "rekognition:action2"
Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Describe, inclua a seguinte ação:
"Action": "rekognition:Describe*"
Para ver uma lista de ações do Amazon Rekognition, consulte Ações definidas pelo Amazon Rekognition no Guia do usuário do IAM.
Recursos
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
O elemento de política JSON Resource especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Para ações que não oferecem compatibilidade com permissões no nível de recurso, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.
"Resource": "*"
Para obter mais informações sobre o formato dos ARNs, consulte nomes de recursos da Amazon (ARNs) e namespaces de serviço da AWS.
Por exemplo, para especificar a coleção MyCollection em sua declaração, use o ARN a seguir:
"Resource": "arn:aws:rekognition:us-east-1:123456789012:collection/MyCollection"
Para especificar todas as instâncias que pertencem a uma conta específica, use o caractere curinga (*):
"Resource": "arn:aws:rekognition:us-east-1:123456789012:collection/*"
Algumas ações do Amazon Rekognition, como aquelas para criar recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).
"Resource": "*"
Para ver uma lista de tipos de recursos do Amazon Rekognition e seus ARNs, consulte Recursos definidos pelo Amazon Rekognition no Guia do usuário do IAM. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte Ações definidas pelo Amazon Rekognition.
Chaves de condição
O Amazon Rekognition não fornece nenhuma chave de condição específica do serviço, mas oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição globais da AWS, consulte Chaves de contexto de condição globais da AWS no Guia do usuário do IAM.
Políticas baseadas em recursos do Amazon Rekognition
O Amazon Rekognition oferece suporte a políticas baseadas em recursos para operações de cópia de modelos de etiquetas personalizadas. Para obter mais informações, consulte exemplos de políticas baseadas em recursos do Amazon Rekognition.
Outros serviços, como o Amazon S3, também aceitam políticas de permissões baseadas em recurso. Por exemplo: você pode anexar uma política a um bucket do S3 para gerenciar permissões de acesso a esse bucket.
Para acessar imagens armazenadas em um bucket do Amazon S3, você deve ter permissão para acessar o objeto no bucket do S3. Com essa permissão, o Amazon Rekognition pode baixar imagens do bucket do S3. A política de exemplo a seguir permite que o usuário realize a ação s3:GetObject no bucket do S3 chamado amzn-s3-demo-bucket3.
Para usar um bucket do S3 com o versionamento ativado, adicione a ação s3:GetObjectVersion, conforme mostrado no exemplo a seguir.
Perfis do IAM do Amazon Rekognition
Perfil do IAM é uma entidade dentro da sua conta da AWS que tem permissões específicas.
Usando credenciais temporárias com o Amazon Rekognition
É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. As credenciais de segurança temporárias são obtidas chamando operações da API do AWS STS, como AssumeRole ou GetFederationToken.
O Amazon Rekognition oferece suporte ao uso de credenciais temporárias.
Perfis vinculados a serviço
Perfis vinculados ao serviço permitem que os serviços da AWS acessem recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar as permissões para perfis vinculados a serviço.
O Amazon Rekognition não oferece suporte a funções vinculadas a serviços.
Perfis de serviço
Esse atributo permite que um serviço assuma um perfil de serviço em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. Os perfis de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso significa que um administrador do IAM pode alterar as permissões para esse perfil. Porém, fazer isso pode alterar a funcionalidade do serviço.
O Amazon Rekognition oferece suporte a funções de serviço.
O uso de um perfil de serviço pode criar um problema de segurança em que o Amazon Rekognition é usado para chamar outro serviço e agir sobre recursos aos quais ele não deveria ter acesse. Para manter sua conta segura, você deve limitar o escopo do acesso do Amazon Rekognition apenas aos recursos que você está usando. Isso pode ser feito anexando uma política de confiança à suo perfil de serviço do IAM. Para obter informações sobre como fazer isso, consulte Prevenção contra o ataque do “substituto confuso” em todos os serviços.
Escolha de um perfil do IAM no Amazon Rekognition
Ao configurar o Amazon Rekognition para analisar vídeos armazenados, você deve escolher uma função para permitir que o Amazon Rekognition acesse o Amazon SNS em seu nome. Se você já criou um perfil de serviço ou uma função vinculada a um serviço, o Amazon Rekognition fornece uma lista de funções para você escolher. Para obter mais informações, consulte Configuração do Amazon Rekognition Video.
Exemplo: como configurar o Amazon Rekognition para acessar imagens em um bucket do Amazon S3
Veja abaixo um exemplo de configuração do Amazon Rekognition para analisar imagens em um bucket do Amazon S3. Se você quiser usar o Amazon Rekognition para analisar imagens em um bucket do Amazon S3, faça o seguinte:
-
Verifique se o seu usuário/perfil do IAM (o cliente) tem permissão para chamar as operações relevantes da API do Amazon Rekognition (como DetectLabels, DetectFaces, etc.)
Anexe uma política baseada em identidade que conceda as permissões apropriadas para invocar as operações de API desejadas. Por exemplo, fornecer permissões à sua função para chamar
DetectLabelseDetectFaces, você anexaria uma política parecida com a seguinte à sua função: -
O serviço do Amazon Rekognition precisa de permissões para acessar seu bucket do Amazon S3. Crie um perfil de serviço do IAM, que você precisará passar para o Amazon Rekognition ao fazer chamadas de API. O perfil de serviço deve confiar na entidade principal do serviço Amazon Rekognition e ter as permissões
s3:GetObjectpara seu bucket.A política de confiança deve ser parecida com a seguinte:
A política baseada em identidade anexada ao perfil de serviço pode ser parecida com a seguinte: