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 IAM políticas
Com os recursos de gerenciamento de acesso que podem ser fornecidos por AWS Identity and Access Management (IAM), os administradores podem conceder permissões aos IAM usuários. Dessa forma, esses usuários podem acessar o AWS CloudShell e usar os atributos 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 AWS gerenciada é uma política independente criada e administrada pela AWS. A seguinte política AWS gerenciada para AWS CloudShell pode ser anexada às IAM identidades:
-
AWS CloudShellFullAccess: concede permissão para uso AWS CloudShell com acesso total a todos os recursos.
A AWS CloudShellFullAccesspolítica usa o caractere curinga (*) para dar à IAM identidade (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
IAMidentidades 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 você conceda essas políticas somente se elas forem essenciais para a função profissional de um IAM usuário.
-
Administrador: fornece IAM aos usuários 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 IAM os usuários executem 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 IAM identidade (console) no Guia do IAM usuário.
Gerenciando ações permitidas no AWS CloudShell uso de políticas personalizadas
Para gerenciar as ações que um IAM usuário pode executar CloudShell, crie uma política personalizada que use a política CloudShellPolicy gerenciada como modelo. Como alternativa, edite uma política embutida que esteja incorporada na IAM identidade relevante (usuário, grupo ou função).
Por exemplo, você pode permitir que IAM os usuários 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 IAM usuário 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 IAM permissões será retornado quando você tentar CloudShell iniciá-la.
AWS CloudShell permissões | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nome | 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. Isso não está disponível para VPC ambientes. |
Não |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Gera Amazon URLs S3 pré-assinado que é usado para fazer upload de arquivos usando CloudShell CloudShell a interface web. Isso não está disponível para VPC ambientes. |
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 |
Exemplos de IAM políticas 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 IAM os usuários 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 IAM os usuários 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 IAMos usuários com essa política precisam configurar manualmente suas credenciais dentro CloudShell dela.
{ "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 IAM os usuários AWS CloudShell criem ambientes.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "CloudShellUser", "Effect": "Allow", "Action": [ "cloudshell:CreateEnvironment", "cloudshell:CreateSession", "cloudshell:GetEnvironmentStatus", "cloudshell:StartEnvironment" ], "Resource": "*" }] }
IAMPermissões necessárias para criar e usar CloudShell VPC ambientes
Para criar e usar CloudShell VPC ambientes, o IAM administrador deve habilitar o acesso a EC2 permissões VPC específicas da Amazon. Esta seção lista as EC2 permissões da Amazon necessárias para criar e usar VPC ambientes.
Para criar VPC ambientes, a IAM política atribuída à sua função deve incluir as seguintes EC2 permissões da Amazon:
ec2:DescribeVpcs
ec2:DescribeSubnets
ec2:DescribeSecurityGroups
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
-
ec2:CreateTags
-
ec2:CreateNetworkInterface
-
ec2:CreateNetworkInterfacePermission
Recomendamos também incluir:
-
ec2:DeleteNetworkInterface
nota
Essa permissão não é obrigatória, mas é necessária CloudShell para limpar o ENI recurso (ENIscriado para CloudShell VPC ambientes marcados com ManagedByCloudShell chave) criado por ele. Se essa permissão não estiver habilitada, você deverá limpar manualmente o ENI recurso após cada uso do CloudShell VPC ambiente.
IAMpolítica que concede CloudShell acesso total, incluindo acesso a VPC
O exemplo a seguir mostra como habilitar permissões completas, incluindo acesso VPC a 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": "" } } } ] }
Usando chaves de IAM condição para VPC ambientes
Você pode usar chaves CloudShell de condição específicas para VPC configurações para fornecer controles de permissão adicionais para seus VPC ambientes. Você também pode especificar as sub-redes e os grupos de segurança que o VPC ambiente pode ou não usar.
CloudShell oferece suporte às seguintes chaves de condição nas IAM políticas:
-
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 IAM política com essa restrição e desativar seu acesso ao ambiente público existente, você deve primeiro atualizar a IAM política com a restrição e, em seguida, garantir 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).
Exemplo de políticas com chaves de condição para VPC configurações
Os exemplos a seguir demonstram como usar chaves de condição para VPC configurações. 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 VPC ambientes e neguem a criação de ambientes públicos
Para garantir que os usuários possam criar somente VPC ambientes, use a permissão de negação conforme mostrado no exemplo a seguir:
{ "Statement": [ { "Sid": "DenyCloudShellNonVpcEnvironments", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "Null": { "cloudshell:VpcIds": "true" } } } ] }
Negar aos usuários acesso a grupos específicosVPCs, 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 exemplo a seguir nega aos usuários o acesso a vpc-1
evpc-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue: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 exemplo a seguir nega aos usuários o acesso a subnet-1
esubnet-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSubnets", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue: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 exemplo a seguir nega aos usuários o acesso a sg-1
esg-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSecurityGroups", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "cloudshell:SecurityGroupIds": [ "sg-1", "sg-2" ] } } } ] }
Permita que os usuários criem ambientes com VPC configurações 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 exemplo a seguir permite que os usuários acessem vpc-1
evpc-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues: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 exemplo a seguir permite que os usuários acessem subnet-1
esubnet-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 exemplo a seguir permite que os usuários acessem sg-1
esg-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 IAM credenciais que você usou para entrar no. AWS Management Console
nota
Para usar IAM as credenciais que você usou para entrar no AWS Management Console, você deve ter cloudshell:PutCredentials
permissão.
Esse recurso de pré-autenticação CloudShell facilita o uso AWS CLI. No entanto, um IAM usuário ainda precisa de permissões explícitas para Serviços da AWS as chamadas na linha de comando.
Por exemplo, suponha que IAM os usuários precisem criar buckets do Amazon S3 e fazer upload de arquivos como objetos para eles. Você pode criar uma política que permita explicitamente essas ações. O IAM console fornece um editor visual interativo que orienta o processo de criação de um documento JSON de política formatado. Depois que a política for criada, você poderá anexá-la à IAM identidade relevante (usuário, grupo ou função).
Para obter mais informações sobre como anexar políticas gerenciadas, consulte Adicionar permissões de IAM identidade (console) no Guia do IAM usuário.