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á.
Gerenciando AWS CloudShell o acesso e o uso com políticas do IAM
Com os recursos de gerenciamento de acesso que podem ser fornecidos por AWS Identity and Access Management, os administradores podem conceder permissões aos usuários do IAM. Dessa forma, esses usuários podem acessar AWS CloudShell e usar os recursos do ambiente. Os administradores também podem criar políticas que especifiquem em um nível granular quais ações esses usuários podem realizar com o ambiente shell.
A maneira mais rápida de um administrador conceder acesso aos usuários é por meio de uma política AWS gerenciada. Uma política gerenciada pela AWS é uma política independente, criada e administrada pela AWS. A seguinte política AWS gerenciada para AWS CloudShell pode ser anexada às identidades do IAM:
-
AWS CloudShellFullAccess: concede permissão para uso da AWS CloudShell com acesso total a todos os recursos.
A AWS CloudShellFullAccesspolítica usa o caractere curinga (*) para dar à identidade do IAM (usuário, função ou grupo) acesso total CloudShell e recursos. Para obter mais informações sobre essa política, consulte AWS CloudShellFullAccesso Guia do usuário da política AWS gerenciada.
nota
As identidades do IAM com as seguintes políticas AWS gerenciadas também podem ser CloudShell lançadas. No entanto, essas políticas fornecem permissões abrangentes. Portanto, recomendamos que essas políticas sejam concedidas somente se elas forem essenciais para a função de trabalho de um usuário do IAM.
-
Administrador: fornece aos usuários do IAM acesso total e permite que eles deleguem AWS permissões a todos os serviços e recursos do.
-
Usuário avançado do desenvolvedor: permite que os usuários do IAM realizem tarefas de desenvolvimento de aplicativos e criem e configurem recursos e serviços que suportem o desenvolvimento AWS consciente de aplicativos.
Para obter mais informações sobre como anexar políticas gerenciadas, consulte Adicionar permissões de identidade do IAM (console) no Manual do usuário do IAM.
Gerenciando ações permitidas no AWS CloudShell uso de políticas personalizadas
Para gerenciar as ações que um usuário do IAM pode realizar CloudShell, crie uma política personalizada que use a política CloudShellPolicy gerenciada como modelo. Você também pode editar uma política em linha integrada a uma identidade do IAM relevante (usuário, grupo ou função).
Por exemplo, você pode permitir que os usuários do IAM acessem CloudShell, mas impedir que eles encaminhem as credenciais do CloudShell ambiente usadas para fazer login. AWS Management Console
Importante
Para iniciar a AWS CloudShell partir do AWS Management Console, um usuário do IAM precisa de permissões para as seguintes ações:
-
CreateEnvironment
-
CreateSession
-
GetEnvironmentStatus
-
StartEnvironment
Se uma dessas ações não for explicitamente permitida por uma política anexada, um erro de permissões do IAM será retornado quando você tentar CloudShell iniciá-la.
Name | Descrição da permissão concedida | Necessário para o lançamento CloudShell? |
---|---|---|
|
Cria um CloudShell ambiente, recupera o layout no início da CloudShell sessão e salva o layout atual do aplicativo web no back-end. Essa permissão só espera |
Sim |
|
Conecta-se a um CloudShell ambiente a partir do AWS Management Console. |
Sim |
|
Leia o status de um CloudShell ambiente. |
Sim |
|
Exclui um CloudShell ambiente. |
Não |
|
Gera Amazon URLs S3 pré-assinado que é usado para baixar arquivos usando CloudShell CloudShell a interface web. Não está disponível para ambientes de VPC. |
Não |
|
Gera Amazon URLs S3 pré-assinado que é usado para fazer upload de arquivos usando CloudShell CloudShell a interface web. Não está disponível para ambientes de VPC. |
Não |
|
Descreve os ambientes. |
Não |
|
Encaminha as credenciais usadas para fazer login no. AWS Management Console CloudShell |
Não |
|
Inicia um CloudShell ambiente que está parado. |
Sim |
|
Interrompe um CloudShell ambiente em execução. |
Não |
|
Aprova um comando enviado de outros consoles CloudShell de AWS serviço. | Não |
Exemplos de políticas do IAM para CloudShell
Os exemplos a seguir mostram como as políticas podem ser criadas para restringir quem pode acessar CloudShell. Os exemplos também mostram as ações que podem ser executadas no ambiente shell.
A política a seguir impõe uma negação total do acesso CloudShell e de seus recursos.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyCloudShell", "Effect": "Deny", "Action": [ "cloudshell:*" ], "Resource": "*" }] }
A política a seguir permite que os usuários do IAM acessem CloudShell , mas impede que eles gerem pré-assinados URLs para upload e download de arquivos. Os usuários ainda podem transferir arquivos de e para o ambiente, usando clientes como wget
, por exemplo.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUsingCloudshell", "Effect": "Allow", "Action": [ "cloudshell:*" ], "Resource": "*" }, { "Sid": "DenyUploadDownload", "Effect": "Deny", "Action": [ "cloudshell:GetFileDownloadUrls", "cloudshell:GetFileUploadUrls" ], "Resource": "*" }] }
A política a seguir permite que os usuários do IAM acessem CloudShell. No entanto, a política impede que as credenciais que você usou para fazer login sejam encaminhadas para o CloudShell ambiente. AWS Management Console Os usuários do IAM com essa política precisam configurar manualmente suas credenciais nela CloudShell.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUsingCloudshell", "Effect": "Allow", "Action": [ "cloudshell:*" ], "Resource": "*" }, { "Sid": "DenyCredentialForwarding", "Effect": "Deny", "Action": [ "cloudshell:PutCredentials" ], "Resource": "*" }] }
A política a seguir permite que os usuários do IAM AWS CloudShell criem ambientes.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "CloudShellUser", "Effect": "Allow", "Action": [ "cloudshell:CreateEnvironment", "cloudshell:CreateSession", "cloudshell:GetEnvironmentStatus", "cloudshell:StartEnvironment" ], "Resource": "*" }] }
Permissões do IAM necessárias para criar e usar CloudShell ambientes VPC
Para criar e usar ambientes de CloudShell VPC, o administrador do IAM deve habilitar o acesso às permissões específicas da VPC na Amazon. EC2 Esta seção lista as EC2 permissões da Amazon necessárias para criar e usar ambientes VPC.
Para criar ambientes de VPC, a política do IAM atribuída à sua função deve incluir as seguintes permissões da Amazon EC2 :
ec2:DescribeVpcs
ec2:DescribeSubnets
ec2:DescribeSecurityGroups
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
-
ec2:CreateTags
-
ec2:CreateNetworkInterface
-
ec2:CreateNetworkInterfacePermission
Também recomendamos incluir:
-
ec2:DeleteNetworkInterface
nota
Essa permissão não é obrigatória, mas é necessária CloudShell para limpar o recurso ENI (ENIs criado para ambientes CloudShell VPC marcados ManagedByCloudShell com chave) criado por ele. Se essa permissão não estiver habilitada, você deverá limpar manualmente o recurso ENI após cada uso do ambiente CloudShell VPC.
Política do IAM que concede CloudShell acesso total, incluindo acesso à VPC
O exemplo a seguir mostra como habilitar permissões completas, incluindo acesso à VPC, para: CloudShell
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudShellOperations", "Effect": "Allow", "Action": [ "cloudshell:*" ], "Resource": "*" }, { "Sid": "AllowDescribeVPC", "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Sid": "AllowCreateTagWithCloudShellKey", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" }, "ForAnyValue:StringEquals": { "aws:TagKeys": "ManagedByCloudShell" } } }, { "Sid": "AllowCreateNetworkInterfaceWithSubnetsAndSG", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Sid": "AllowCreateNetworkInterfaceWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "ManagedByCloudShell" } } }, { "Sid": "AllowCreateNetworkInterfacePermissionWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } } }, { "Sid": "AllowDeleteNetworkInterfaceWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } } } ] }
Usar chaves de condição do IAM para ambientes de VPC
Você pode usar chaves CloudShell de condição específicas para configurações de VPC para fornecer controles de permissão adicionais para seus ambientes de VPC. Também é possível especificar as sub-redes e os grupos de segurança que os usuários do ambiente de VPC podem e não podem usar.
CloudShell é compatível com as seguintes chaves de condição nas políticas do IAM:
-
CloudShell:VpcIds
— Permitir ou negar um ou mais VPCs -
CloudShell:SubnetIds
: permitir ou negar uma ou mais sub-redes -
CloudShell:SecurityGroupIds
: permitir ou negar um ou mais grupos de segurança
nota
Se as permissões dos usuários com acesso a CloudShell ambientes públicos forem modificadas para adicionar restrições à cloudshell:createEnvironment
ação, eles ainda poderão acessar o ambiente público existente. No entanto, se você quiser modificar uma política do IAM com essa restrição e desativar o acesso ao ambiente público existente, primeiro atualize a política do IAM com a restrição e, em seguida, garanta que cada CloudShell usuário em sua conta exclua manualmente o ambiente público existente usando a interface de usuário da CloudShell web (Ações → Excluir CloudShell ambiente).
Políticas de exemplo com chaves de condição para configurações de VPC
Os exemplos a seguir demonstram como usar chaves de condição para configurações de VPC. Depois de criar uma instrução de política com as restrições desejadas, acrescente a instrução de política para o usuário ou a função de destino.
Garanta que os usuários criem somente ambientes de VPC e neguem a criação de ambientes públicos
Para garantir que os usuários possam criar somente ambientes de VPC, use a permissão de negação, conforme mostrado no seguinte exemplo:
{ "Statement": [ { "Sid": "DenyCloudShellNonVpcEnvironments", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "Null": { "cloudshell:VpcIds": "true" } } } ] }
Negar aos usuários acesso a grupos específicos VPCs, sub-redes ou grupos de segurança
Para negar aos usuários acesso a VPCs informações específicas, use StringEquals
para verificar o valor da cloudshell:VpcIds
condição. O seguinte exemplo nega aos usuários acesso à vpc-1
e à vpc-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "cloudshell:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }
Para negar aos usuários acesso a VPCs informações específicas, use StringEquals
para verificar o valor da cloudshell:SubnetIds
condição. O seguinte exemplo nega aos usuários acesso à subnet-1
e à subnet-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSubnet", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "cloudshell:SubnetIds": [ "subnet-1", "subnet-2" ] } } } ] }
Para negar aos usuários acesso a VPCs informações específicas, use StringEquals
para verificar o valor da cloudshell:SecurityGroupIds
condição. O seguinte exemplo nega aos usuários acesso à sg-1
e à sg-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSecurityGroups", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "cloudshell:SecurityGroupIds": [ "sg-1", "sg-2" ] } } } ] }
Permitir que os usuários criem ambientes com configurações de VPC específicas
Para permitir que os usuários acessem VPCs dados específicos, use StringEquals
para verificar o valor da cloudshell:VpcIds
condição. O seguinte exemplo dá aos usuários permissão para acessar vpc-1
e vpc-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "cloudshell:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }
Para permitir que os usuários acessem VPCs dados específicos, use StringEquals
para verificar o valor da cloudshell:SubnetIds
condição. O seguinte exemplo dá aos usuários permissão para acessar subnet-1
e subnet-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificSubnets", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "cloudshell:SubnetIds": [ "subnet-1", "subnet-2" ] } } } ] }
Para permitir que os usuários acessem VPCs dados específicos, use StringEquals
para verificar o valor da cloudshell:SecurityGroupIds
condição. O seguinte exemplo dá aos usuários permissão para acessar sg-1
e sg-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificSecurityGroup", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "cloudshell:SecurityGroupIds": [ "sg-1", "sg-2" ] } } } ] }
Permissões para acessar Serviços da AWS
CloudShell usa as credenciais do IAM que você usou para fazer login no. AWS Management Console
nota
Para usar as credenciais do IAM que você usou para entrar no AWS Management Console, você precisa ter cloudshell:PutCredentials
permissão.
Esse recurso de pré-autenticação CloudShell facilita o uso AWS CLI. No entanto, um usuário do IAM ainda precisa de permissões explícitas para Serviços da AWS as chamadas na linha de comando.
Por exemplo, suponha que os usuários do IAM precisem criar buckets do Amazon S3 e carregar arquivos como objetos para eles. Você pode criar uma política que permita explicitamente essas ações. O console do IAM fornece um editor visual interativo que orienta o processo de criação de um documento de política formatado em JSON. Uma vez criada a política, ela pode ser anexada a uma identidade do IAM relevante (usuário, grupo ou função).
Para obter mais informações sobre como anexar políticas gerenciadas, consulte Adicionar permissões de identidade do IAM (console) no Manual do usuário do IAM.
Permissões para acessar os recursos da Amazon Q CLI em CloudShell
Para usar os recursos da Amazon Q CLI CloudShell, como sugestões embutidas, bate-papo e tradução, verifique se você tem as permissões necessárias do IAM. Se você não conseguir acessar os recursos do Amazon Q CLI no CloudShell, entre em contato com seu administrador para fornecer as permissões necessárias do IAM. Para obter mais informações, consulte Identity-based policy examples for Amazon Q Developer no Amazon Q Developer User Guide.