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á.
AWSExemplos de políticas baseadas em identidade do Device Farm
Por padrão, IAM usuários e funções não têm permissão para criar ou modificar recursos do Device Farm. Eles também não podem realizar tarefas usando o AWS Management Console, AWS CLI, ou AWS API. Um IAM administrador deve criar IAM políticas que concedam aos usuários e funções permissão para realizar API operações específicas nos recursos especificados de que precisam. O administrador deve anexar essas políticas aos IAM usuários ou grupos do que exigem essas permissões.
Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos JSON de política, consulte Criação de políticas na JSON guia do IAMusuário.
Tópicos
Práticas recomendadas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Device Farm em sua conta. Essas ações podem gerar custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões aos 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 gerenciadas da AWS ou Políticas gerenciadas da AWS para funções de trabalho no Guia do usuário do IAM.
-
Aplique permissões de privilégio mínimo: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre o uso do IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do usuário do IAM.
-
Use condições nas políticas do IAM para restringir ainda mais o acesso: você pode adicionar uma condição às 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 IAM O 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 Validar políticas com o IAM Access Analyzer no Guia do IAMUsuá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 APIAcesso seguro MFA no Guia do IAM usuário.
Para obter mais informações sobre as práticas recomendadas no IAM, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
Permitir que usuários visualizem suas próprias permissões
Este exemplo mostra como você pode criar uma política que permite que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de 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": "*" } ] }
Acesso a um projeto de teste de navegador de desktop do Device Farm
Neste exemplo, você deseja conceder a um IAM usuário da sua AWS conta acesso a um dos seus projetos de teste do navegador de desktop Device Farm,. arn:aws:devicefarm:us-west-2:111122223333:testgrid-project:123e4567-e89b-12d3-a456-426655441111
Você deseja que a conta seja capaz de ver itens relacionados ao projeto.
Além do endpoint devicefarm:GetTestGridProject
, a conta deve ter os endpoints devicefarm:ListTestGridSessionArtifacts
devicefarm:ListTestGridSessions
, devicefarm:GetTestGridSession
e devicefarm:ListTestGridSessionActions
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"GetTestGridProject", "Effect":"Allow", "Action":[ "devicefarm:GetTestGridProject" ], "Resource":"arn:aws:devicefarm:us-west-2:111122223333:testgrid-project:123e4567-e89b-12d3-a456-426655441111" }, { "Sid":"ViewProjectInfo", "Effect":"Allow", "Action":[ "devicefarm:ListTestGridSessions", "devicefarm:ListTestGridSessionActions", "devicefarm:ListTestGridSessionArtifacts" ], "Resource":"arn:aws:devicefarm:us-west-2:111122223333:testgrid-*:123e4567-e89b-12d3-a456-426655441111/*" } ] }
Se estiver usando sistemas de CI, você deverá fornecer a cada executor de CI credenciais de acesso exclusivas. Por exemplo, é improvável que um sistema de CI precise de mais permissões do que devicefarm:ScheduleRun
ou devicefarm:CreateUpload
. A IAM política a seguir descreve uma política mínima para permitir que um executor de CI inicie um teste de um novo teste de aplicativo nativo do Device Farm criando um upload e usando-o para agendar uma execução de teste:
{ "Version":"2012-10-17", "Statement": [ { "$id":"scheduleTestRuns", "effect":"Allow", "Action": [ "devicefarm:CreateUpload","devicefarm:ScheduleRun" ], "Resource": [ "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000", "arn:aws:devicefarm:us-west-2:111122223333:*:123e4567-e89b-12d3-a456-426655440000/*", ] } ] }
Visualizando projetos de teste do navegador de desktop Device Farm com base em tags
Você pode usar condições em sua política baseada em identidade para controlar o acesso aos recursos do Device Farm com base em tags. Este exemplo mostra como você pode criar uma política que permite a visualização de projetos e sessões. A permissão será concedida se a tag Owner
do recurso solicitado corresponder ao nome de usuário da conta solicitante.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListTestGridProjectSessions", "Effect": "Allow", "Action": [ "devicefarm:ListTestGridSession*", "devicefarm:GetTestGridSession", "devicefarm:ListTestGridProjects" ], "Resource": [ "arn:aws:devicefarm:us-west-2:testgrid-project:*/*" "arn:aws:devicefarm:us-west-2:testgrid-session:*/*" ], "Condition": { "StringEquals": {"aws:TagKey/Owner":"${aws:username}"} } } ] }
Você pode anexar essa política aos usuários do IAM na sua conta. Se um usuário chamado richard-roe
tentar visualizar um projeto ou uma sessão do Device Farm, o projeto deverá ser marcado com Owner=richard-roe
ou owner=richard-roe
. Caso contrário, o usuário terá o acesso negado. A chave da tag de condição Owner
corresponde a Owner
e a owner
porque os nomes de chaves de condição não diferenciam letras maiúsculas de minúsculas. Para obter mais informações, consulte Elementos da IAM JSON política: condição no Guia IAM do usuário.