Políticas padrão do IAM do Quickstart para o Session Manager - AWS Systems Manager

Políticas padrão do IAM do Quickstart para o Session Manager

Use os exemplos nesta seção para ajudar a criar políticas do IAM que fornecem as permissões necessárias mais comuns para acesso ao Session Manager.

nota

Você também pode usar uma política de chaves do AWS KMS para controlar quais usuários do IAM, funções do IAM e contas da AWS recebem acesso à sua CMK. Para obter informações, consulte Visão geral do gerenciamento do acesso aos seus recursos do AWS KMS e Usar políticas de chaves no AWS KMS no AWS Key Management Service Developer Guide.

Políticas do usuário final do Quickstart para o Session Manager

Use os exemplos a seguir para criar políticas de usuário final do IAM para o Session Manager.

É possível criar uma política que permita que os usuários iniciem sessões apenas no console do Session Manager e na AWS CLI, apenas no console do Amazon EC2 ou nos três.

Essas políticas fornecem aos usuários finais a capacidade de iniciar uma sessão de uma instância específica e encerrar apenas suas próprias sessões. Consulte o Exemplos adicionais de políticas do IAM para o Session Manager para obter exemplos de customização que você pode querer fazer na política.

nota

Em todas as políticas de exemplo a seguir, substitua instance-id com a ID da instância à qual pretende conceder acesso, no formato i-02573cafcfEXAMPLE. Substituir region e account-id com o seu AWS Região e ID de conta AWS, tais como us-east-2 e 111122223333.

Escolha entre as guias a seguir para exibir a política de exemplo para o intervalo de acesso à sessão que você deseja fornecer.

Session Manager and CLI

Use esta política de exemplo para fornecer aos usuários a capacidade de iniciar sessões apenas do console do Session Manager e da AWS CLI. Esta política não fornece todas as permissões necessárias para iniciar sessões do console do Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }
Amazon EC2

Use esta política de exemplo para fornecer aos usuários a capacidade de iniciar sessões apenas do console do Amazon EC2. Esta política não fornece todas as permissões necessárias para iniciar sessões do console do Session Manager e da AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/instance-id" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

Use esta política de exemplo para fornecer aos usuários a capacidade de iniciar sessões do console do Session Manager, da AWS CLI e do console do Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell é o nome padrão do documento do SSM que o Session Manager cria para armazenar suas preferências de configuração de sessão. Você pode criar um documento de sessão personalizado e especificá-lo nessa política. Você também pode especificar o documento fornecido pela AWS, AWS-StartSSHSession, para usuários que estão iniciando sessões usando SSH. Para obter informações sobre as etapas de configuração necessárias para oferecer suporte a sessões que usam SSH, consulte (Opcional) Habilitar conexões SSH por meio do Session Manager.

2 Se você especificar o elemento de condição, ssm:SessionDocumentAccessCheck, como true, o sistema verificará se um usuário tem acesso explícito ao documento de sessão definido, neste exemplo, o SSM-SessionManagerRunShell, antes de uma sessão ser estabelecida. Para obter mais informações, consulte Impor uma verificação de permissão de documento de sessão para a AWS CLI.

3 A permissão kms:GenerateDataKey permite a criação de uma chave de criptografia de dados que será usada para criptografar dados de sessão. Se vai usar AWS Key Management Service (AWS KMS) encriptação para os dados da sua sessão, substituir key-name com o ARN da chave mestre do cliente (CMK) que pretende utilizar, no formato arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE. Se não usar AWS KMS encriptação chave para os seus dados de sessão, remova o seguinte conteúdo da política:

, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

Para obter informações sobre o AWS KMS e CMKs para criptografar dados de sessão, consulte Habilitar a criptografia de chaves do AWS KMS de dados de sessão (console).

4 A permissão para SendCommand é necessária nos casos em que um usuário tenta iniciar uma sessão do console do Amazon EC2, mas um comando deve ser enviado para atualizar o Agente do SSM primeiro.

Política do administrador do Quickstart para o Session Manager

Use os exemplos a seguir para criar políticas de administrador do IAM para o Session Manager.

Estas políticas fornecem aos administradores a capacidade de iniciar uma sessão para instâncias marcadas com Key=Finance,Value=WebServers, permissões para criar, atualizar e excluir preferências e permissões para encerrar apenas suas sessões próprias. Consulte o Exemplos adicionais de políticas do IAM para o Session Manager para obter exemplos de customização que você pode querer fazer na política.

É possível criar uma política que permita que os administradores executem essas tarefas apenas do console do Session Manager e da AWS CLI, apenas do console do Amazon EC2 ou dos três.

nota

Substituir region e account-id com o seu AWS Região e ID de conta AWS, tais como us-east-2 e 111122223333.

Escolha entre as guias a seguir para exibir a política de exemplo para o cenário de acesso ao qual você deseja oferecer suporte.

Session Manager and CLI

Use esta política de exemplo para fornecer aos administradores a capacidade de executar tarefas relacionadas à sessão somente do console do Session Manager e da AWS CLI. Esta política não fornece todas as permissões necessárias para executar tarefas relacionadas à sessão do console do Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Amazon EC2

Use esta política de exemplo para fornecer aos administradores a capacidade de executar tarefas relacionadas à sessão somente do Amazon EC2. Essa política não fornece todas as permissões necessárias para executar tarefas relacionadas à sessão do console do Session Manager e da AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

Use esta política de exemplo para fornecer aos administradores a capacidade de executar tarefas relacionadas à sessão do console do Session Manager, da AWS CLI e do console do Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }

1 A permissão para SendCommand é necessária nos casos em que um usuário tenta iniciar uma sessão do console do Amazon EC2, mas um comando deve ser enviado para atualizar o Agente do SSM primeiro.