Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Políticas de exemplo baseadas em permissões de recursos

Modo de foco
Políticas de exemplo baseadas em permissões de recursos - AWS Elastic Beanstalk

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

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

Esta seção aborda um caso de uso para controlar as permissões de usuário para ações do Elastic Beanstalk que acessam recursos específicos do Elastic Beanstalk. Apresentaremos as políticas de exemplo compatíveis com o caso de uso. Para obter mais informações sobre os recursos do Elastic Beanstalk, consulte Criar uma política de usuário personalizada. Para obter informações sobre como anexar políticas a usuários e grupos, acesse Gerenciamento de políticas do IAM em Uso do AWS Identity and Access Management.

No nosso caso de uso, Exemplo Corp. é uma pequena empresa de consultoria que desenvolve aplicativos para dois clientes diferentes. John é o gerente de desenvolvimento que supervisiona o desenvolvimento das duas aplicações do Elastic Beanstalk, app1 e app2. John faz o desenvolvimento e alguns testes nos dois aplicativos, e apenas ele pode atualizar o ambiente de produção dos dois aplicativos. Estas são as permissões de que ele precisa para o app1 e o app2:

  • Visualização do aplicativo, versões de aplicativos, ambientes e modelos de configuração

  • Criação das versões do aplicativo e implantação no ambiente de preparação

  • Atualização do ambiente de produção

  • Criação e encerramento de ambientes

Jill é uma testadora que precisa de acesso para visualizar os seguintes recursos a fim de monitorar e testar os dois aplicativos: aplicativos, versões de aplicativos, ambientes e modelos de configuração. No entanto, ela não deve ser capaz de fazer alterações em nenhum recurso do Elastic Beanstalk.

Jack é o desenvolvedor do app1 que precisa de acesso para visualizar todos os recursos do app1 e também precisa criar versões de aplicativos para o app1 e implantá-las no ambiente de preparação.

Judy é a administradora da conta da AWS para a Exemplo Corp. Ela já criou usuários do IAM para John, Jill e Jack, e anexa as políticas a seguir a esses usuários para conceder as permissões apropriadas para os aplicativos app1 e app2.

Exemplo 1: John: gerente de desenvolvimento para app1, app2

Dividimos a política de John em três políticas separadas para facilitar a leitura e o gerenciamento. Juntas, elas oferecem a John as permissões de que precisa para executar as ações de desenvolvimento, teste e implantação nos dois aplicativos.

A primeira política especifica ações para Auto Scaling, Amazon S3, Amazon EC2, CloudWatch, Amazon SNS, Elastic Load Balancing, Amazon RDS e AWS CloudFormation. O Elastic Beanstalk depende desses serviços adicionais para provisionar recursos subjacentes ao criar um ambiente.

Observe que esta política é um exemplo. Ela fornece um amplo conjunto de permissões para produtos da AWS que o Elastic Beanstalk usa para gerenciar aplicações e ambientes. Por exemplo, ec2:* permite que um usuário do IAM realize qualquer ação em qualquer recurso do Amazon EC2 na conta da AWS. Essas permissões não estão limitadas aos recursos utilizados com o Elastic Beanstalk. Como uma das melhores práticas, você deve conceder a indivíduos apenas as permissões de que precisam para executar suas tarefas.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ec2:*", "ecs:*", "ecr:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "dynamodb:*", "rds:*", "sqs:*", "logs:*", "iam:GetPolicyVersion", "iam:GetRole", "iam:PassRole", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfiles", "iam:ListRoles", "iam:ListServerCertificates", "acm:DescribeCertificate", "acm:ListCertificates", "codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource":"*" } ] }

A segunda política especifica as ações do Elastic Beanstalk que John tem permissão para executar nos recursos do app1 e do app2. A declaração AllCallsInApplications permite que todas as ações do Elastic Beanstalk ("elasticbeanstalk:*") sejam realizadas em todos os recursos no app1 e no app2 (por exemplo, elasticbeanstalk:CreateEnvironment). A declaração AllCallsOnApplications permite todas as ações do Elastic Beanstalk ("elasticbeanstalk:*") nos recursos do app1 e do app2 (por exemplo, elasticbeanstalk:DescribeApplications, elasticbeanstalk:UpdateApplication, etc.). A declaração AllCallsOnSolutionStacks permite todas as ações do Elastic Beanstalk ("elasticbeanstalk:*") para os recursos de pilha de solução (por exemplo, elasticbeanstalk:ListAvailableSolutionStacks).

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllCallsInApplications", "Action":[ "elasticbeanstalk:*" ], "Effect":"Allow", "Resource":[ "*" ], "Condition":{ "StringEquals":{ "elasticbeanstalk:InApplication":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1", "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app2" ] } } }, { "Sid":"AllCallsOnApplications", "Action":[ "elasticbeanstalk:*" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1", "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app2" ] }, { "Sid":"AllCallsOnSolutionStacks", "Action":[ "elasticbeanstalk:*" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2::solutionstack/*" ] } ] }

A terceira política especifica as ações do Elastic Beanstalk para as quais a segunda política precisa de permissões para concluir essas ações do Elastic Beanstalk. A instrução AllNonResourceCalls permite a ação elasticbeanstalk:CheckDNSAvailability, que é necessária para chamar elasticbeanstalk:CreateEnvironment e outras ações. Ela também permite a ação elasticbeanstalk:CreateStorageLocation, que é necessária para elasticbeanstalk:CreateApplication, elasticbeanstalk:CreateEnvironment e outras ações.

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability", "elasticbeanstalk:CreateStorageLocation" ], "Effect":"Allow", "Resource":[ "*" ] } ] }

Exemplo 2: Jill: testadora do app1, app2

Dividimos a política de Jill em três separadas para facilitar a leitura e o gerenciamento. Juntas, elas oferecem a Jill as permissões de que precisa para executar as ações de teste e monitoramento nos dois aplicativos.

A primeira política especifica as ações Describe*, List* e Get* no Auto Scaling, Amazon S3, Amazon EC2, CloudWatch, Amazon SNS, Elastic Load Balancing, Amazon RDS e AWS CloudFormation (para tipos de contêiner não herdados) para que as ações do Elastic Beanstalk possam recuperar as informações sobre os recursos subjacentes das aplicações app1 e app2.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ec2:Describe*", "elasticloadbalancing:Describe*", "autoscaling:Describe*", "cloudwatch:Describe*", "cloudwatch:List*", "cloudwatch:Get*", "s3:Get*", "s3:List*", "sns:Get*", "sns:List*", "rds:Describe*", "cloudformation:Describe*", "cloudformation:Get*", "cloudformation:List*", "cloudformation:Validate*", "cloudformation:Estimate*" ], "Resource":"*" } ] }

A segunda política especifica as ações do Elastic Beanstalk que Jill tem permissão para executar nos recursos do app1 e do app2. A instrução AllReadCallsInApplications permite que ela chame as ações Describe* e as ações de informações do ambiente. A instrução AllReadCallsOnApplications permite que ela chame as ações DescribeApplications and DescribeEvents nos recursos de aplicativos do app1 e do app2. A instrução AllReadCallsOnSolutionStacks permite visualizar as ações que envolvem recursos de pilha de soluções (ListAvailableSolutionStacks, DescribeConfigurationOptions e ValidateConfigurationSettings).

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllReadCallsInApplications", "Action":[ "elasticbeanstalk:Describe*", "elasticbeanstalk:RequestEnvironmentInfo", "elasticbeanstalk:RetrieveEnvironmentInfo" ], "Effect":"Allow", "Resource":[ "*" ], "Condition":{ "StringEquals":{ "elasticbeanstalk:InApplication":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1", "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app2" ] } } }, { "Sid":"AllReadCallsOnApplications", "Action":[ "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEvents" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1", "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app2" ] }, { "Sid":"AllReadCallsOnSolutionStacks", "Action":[ "elasticbeanstalk:ListAvailableSolutionStacks", "elasticbeanstalk:DescribeConfigurationOptions", "elasticbeanstalk:ValidateConfigurationSettings" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2::solutionstack/*" ] } ] }

A terceira política especifica as ações do Elastic Beanstalk para as quais a segunda política precisa de permissões para concluir essas ações do Elastic Beanstalk. A instrução AllNonResourceCalls permite a ação elasticbeanstalk:CheckDNSAvailability, que é necessária para chamar ações de visualização.

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability" ], "Effect":"Allow", "Resource":[ "*" ] } ] }

Exemplo 3: Jack: desenvolvedor do app1

Dividimos a política de Jack em três separadas para facilitar a leitura e o gerenciamento. Juntas, elas oferecem a Jack as permissões de que precisa para executar as ações de teste, monitoramento e implantação no recurso do app1.

A primeira política especifica as ações em Auto Scaling, Amazon S3, Amazon EC2, CloudWatch, Amazon SNS, Elastic Load Balancing, Amazon RDS e AWS CloudFormation (para tipos de contêiner não herdados) para que as ações do Elastic Beanstalk possam visualizar e trabalhar com os recursos subjacentes da app1. Para obter uma lista de tipos de contêiner não legados compatíveis, consulte Por que algumas versões de plataforma são marcadas como legadas?.

Observe que esta política é um exemplo. Ela fornece um amplo conjunto de permissões para produtos da AWS que o Elastic Beanstalk usa para gerenciar aplicações e ambientes. Por exemplo, ec2:* permite que um usuário do IAM realize qualquer ação em qualquer recurso do Amazon EC2 na conta da AWS. Essas permissões não estão limitadas aos recursos utilizados com o Elastic Beanstalk. Como uma das melhores práticas, você deve conceder a indivíduos apenas as permissões de que precisam para executar suas tarefas.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "rds:*", "cloudformation:*" ], "Resource":"*" } ] }

A segunda política especifica as ações do Elastic Beanstalk que Jack tem permissão para executar no recurso do app1.

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllReadCallsAndAllVersionCallsInApplications", "Action":[ "elasticbeanstalk:Describe*", "elasticbeanstalk:RequestEnvironmentInfo", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:DeleteApplicationVersion", "elasticbeanstalk:UpdateApplicationVersion" ], "Effect":"Allow", "Resource":[ "*" ], "Condition":{ "StringEquals":{ "elasticbeanstalk:InApplication":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1" ] } } }, { "Sid":"AllReadCallsOnApplications", "Action":[ "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEvents" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1" ] }, { "Sid":"UpdateEnvironmentInApplications", "Action":[ "elasticbeanstalk:UpdateEnvironment" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/app1/app1-staging*" ], "Condition":{ "StringEquals":{ "elasticbeanstalk:InApplication":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/app1" ] }, "StringLike":{ "elasticbeanstalk:FromApplicationVersion":[ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/app1/*" ] } } }, { "Sid":"AllReadCallsOnSolutionStacks", "Action":[ "elasticbeanstalk:ListAvailableSolutionStacks", "elasticbeanstalk:DescribeConfigurationOptions", "elasticbeanstalk:ValidateConfigurationSettings" ], "Effect":"Allow", "Resource":[ "arn:aws:elasticbeanstalk:us-east-2::solutionstack/*" ] } ] }

A terceira política especifica as ações do Elastic Beanstalk para as quais a segunda política precisa de permissões para concluir essas ações do Elastic Beanstalk. A instrução AllNonResourceCalls permite a ação elasticbeanstalk:CheckDNSAvailability, que é necessária para chamar elasticbeanstalk:CreateEnvironment e outras ações. Ela também permite a ação elasticbeanstalk:CreateStorageLocation, que é necessária para elasticbeanstalk:CreateEnvironment e outras ações.

{ "Version": "2012-10-17", "Statement":[ { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability", "elasticbeanstalk:CreateStorageLocation" ], "Effect":"Allow", "Resource":[ "*" ] } ] }
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.