Global outage event
If you're experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Como configuro um bucket central do Amazon S3 para o registro do Gerenciador de Sessões a partir de várias contas da AWS?
Quero configurar o registro central do Amazon Simple Storage Service (Amazon S3) para o Gerenciador de Sessões, um recurso do AWS Systems Manager, para minhas contas da AWS.
Resolução
Configurar as permissões
O Systems Manager Agent (SSM Agent) usa o mesmo perfil do AWS Identity and Access Management (AWS IAM) para ativar e fazer upload de logs para o Amazon S3.
É possível usar um dos seguintes perfis do IAM:
- Um perfil de instância do IAM anexado a uma instância do Amazon Elastic Compute Cloud (Amazon EC2).
- Um perfil do IAM configurada para a configuração padrão de gerenciamento de host.
Para conceder permissões, use as seguintes políticas:
- A conta da AWS que possui a entidade principal do IAM deve usar uma política do IAM para conceder permissões do Amazon S3.
- O proprietário do bucket do S3 deve usar a política de chaves ou a lista de controle de acesso (ACL) do AWS Key Management Service (AWS KMS) para permitir o acesso a todas as contas.
- Se o bucket estiver criptografado com uma chave do AWS KMS, você deverá usar uma política do IAM.
- Você deve anexar a política do IAM ao perfil que concede permissões ao SSM Agent.
- Você deve usar uma política de chave do KMS para conceder acesso à chave do AWS KMS que você usa para criptografar o bucket.
- Você deve usar a política gerenciada pela AWS do AmazonSSMManagedInstanceCore para acessar a funcionalidade principal do Systems Manager.
As seguintes permissões são necessárias para que o Gerenciador de Sessões faça upload de logs para o bucket do S3:
- As permissões s3:PutObject e s3:PutObjectAcl para carregar objetos criptografados no bucket do S3.
- As permissões kms:decrypt e kms:GenerateDataKey para acessar as chaves do AWS KMS.
- A permissão aws:PrincipalOrgID: o-xxxxxxx para restringir o acesso a entidade principal que não correspondam ao ID da sua organização no AWS Organizations.
Verifique a conectividade com os seguintes endpoints:
- Endpoints do Amazon S3: com.amazonaws.region.s3
- Endpoints do serviço AWS KMS: com.amazonaws.region.kms
- Endpoints do Systems Manager: com.amazonaws.region.ssm
- Endpoints do Gerenciador de Sessões do Systems Manager: com.amazonaws.region.ssmmessages
- Endpoints do Amazon EC2: com.amazonaws.region.ec2
Crie chaves e políticas de chaves do AWS KMS
Crie chaves do AWS KMS para criptografar o bucket do S3 e os logs do Gerenciador de Sessões.
É possível criar uma chave para criptografar os logs do Gerenciador de Sessões e a criptografia do AWS KMS, ou criar chaves separadas para cada um.
Para cada chave, adicione a seguinte declaração de chave à política do AWS KMS para permitir que o Gerenciador de Sessões criptografe os logs:
{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxx" } } }
Observação: substitua o aws:PrincipalOrgID pelo ID da sua organização e a entidade principal pelo ARN do seu perfil do IAM.
Crie a política de bucket e bucket do S3
Crie um bucket do S3 para armazenar os logs do Gerenciador de Sessões. Para obter mais informações, consulte Criação de um bucket de uso geral e Registro de dados de sessão usando o Amazon S3 (console).
Para permitir o acesso aos logs, adicione a seguinte política de recursos ao bucket do S3:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetEncryptionConfiguration", "Resource": "arn:aws:s3:::customer_session_manager_logging_bucket", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxxxxxxxxx" } } }, { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::customer_session_manager_logging_bucket/*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxxxxxxxx" } } } ] }
Para obter mais informações sobre permissões de acesso a logs, consulte Permissões para entrega de logs.
Crie uma política do IAM para acessar o bucket do S3 e as chaves do AWS KMS
Crie uma política do IAM que conceda permissões para acessar o bucket do S3 e as chaves do AWS KMS.
Anexe o exemplo de política a seguir ao perfil de instância que suas contas usam para se conectar ao bucket do S3:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PutObjectsBucket", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::customer_session_manager_logging_bucket/*" }, { "Sid": "ListBucketAndEncryptionConfig", "Action": [ "s3:GetEncryptionConfiguration" ], "Effect": "Allow", "Resource": "arn:aws:s3:::customer_session_manager_logging_bucket" }, { "Sid": "S3KMSSessionManagerKMS", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:us-east-1:ACCOUNTId:key/YOUR-KMS-FOR-SessionManagerEncryption", "arn:aws:kms:us-east-1:ACCOUNTID:key/YOUR-KMS-FOR-S3BucketEncryption" ] } ] }
Observação: é possível usar uma política em linha ou uma política gerenciada pelo cliente. Para obter mais informações, consulte Como usar políticas do IAM com o AWS KMS.
(Opcional) Configurar perfis de shell do Gerenciador de Sessões para logs
Para criar um perfil de shell personalizado, crie um arquivo JSON, remova o conteúdo e substitua-o pelos seguintes valores:
{ "schemaVersion": "1.0", "description": "Document to hold regional settings for Session Manager", "sessionType": "Standard_Stream", "inputs": { "s3BucketName": "customer_session_manager_logging_bucket", "s3KeyPrefix": "", "s3EncryptionEnabled": true, "cloudWatchLogGroupName": "", "cloudWatchEncryptionEnabled": false, "cloudWatchStreamingEnabled": false, "kmsKeyId": "arn:aws:kms:REGION:ACCOUNTID:key/YOUR-KMS-FOR-SessionManagerEncryption", "runAsDefaultUser": "", "idleSessionTimeout": "20", "maxSessionDuration": "", "shellProfile": {"windows": "", "linux": ""} } }
Observação: substitua customer_session_manager_logging_bucket pelo nome do bucket e YOUR-KMS-FOR-SessionManagerEncryption pela chave designada para o Gerenciador de Sessões.
Execute o comando a seguir para salvar o arquivo como o documento padrão do Gerenciador de Sessões com um nome como SessionManagerRunShell.json:
aws ssm update-document --name "SSM-SessionManagerRunShell" \ --content "file://SessionManagerRunShell.json" \ --document-version "\$LATEST"
Verifique a configuração de registro do Gerenciador de Sessões
Abra o console do Amazon S3 e, em seguida, navegue até o bucket de registro. Nas configurações do bucket, confirme se a criptografia do bucket está ativa. Além disso, confirme se o ARN da chave do AWS KMS corresponde à chave 1 para garantir que o Gerenciador de Sessões use a chave de criptografia correta.
Para verificar as preferências do Gerenciador de Sessões, conclua as seguintes etapas:
- Abra o console do Gerenciador de Sessões.
- Selecione sua região da AWS.
- Confirme se você ativou a criptografia.
- Insira o ARN da chave 1.
- Verifique se você configurou o bucket do S3 correto.
Verifique se os logs estão sendo gerados no bucket
Para gerar logs, use o Gerenciador de Sessões em outra conta.
Conclua as etapas a seguir:
- Use o Gerenciador de Sessões para se conectar a uma instância.
- Selecione sua região.
- Verifique se a sessão se conecta e mostra “Esta sessão está criptografada usando o AWS KMS.”
- Insira as entradas de teste para gerar os logs e, em seguida, encerre a sessão.
Observação: após o término da sessão, pode levar pelo menos 30 segundos para que os logs apareçam. Para obter mais informações, consulte Registro em log de solicitações usando o log de acesso ao servidor.
Informações relacionadas
Proteger dados com criptografia no lado do servidor
Ações, recursos e chaves de condição para o Amazon S3
- Tópicos
- Management & Governance
- Idioma
- Português
