Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Como configurar um bucket central do Amazon S3 para o registro do Session Manager a partir de várias contas?
Quero configurar o registro central do Amazon Simple Storage Service (Amazon S3) para o Session Manager, um recurso do AWS Systems Manager, para minhas contas da AWS.
Breve descrição
No Systems Manager, você pode identificar e configurar o log do Amazon S3 para o Session Manager.
Introdução
O AWS Systems Manager Agent (SSM Agent) usa a mesma função do AWS Identity and Access Management (IAM) para ativação e upload de logs para o Amazon S3. Você pode usar um perfil de instância do IAM vinculado a uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou o perfil do IAM configurado para a Configuração padrão de gerenciamento de host.
Você deve ter as seguintes permissões para concluir a configuração:
- A conta que tem a entidade principal do IAM usada para permissões deve conceder permissões ao Amazon S3 por meio de uma política do IAM.
- O proprietário do bucket do S3 também deve conceder permissões por meio de uma política de bucket ou lista de controle de acesso (ACL) para todas as contas.
- Se o bucket for criptografado com uma chave do AWS Key Management Service (AWS KMS), você deverá criar e usar uma política do IAM.
Observação:
- Você deve anexar a política do IAM ao perfil que concede permissões ao Agente SSM.
- A chave do KMS usada para criptografar o bucket também deve conceder a permissão por meio da política de chaves do KMS.
Para configurar o log central do bucket do Amazon S3 para o Session Manager, primeiro identifique a conta principal que possui seu bucket do S3 centralizado. No exemplo a seguir, a Conta A possui o bucket centralizado.
Em seguida, conclua as seguintes etapas:
- Na Conta A, crie uma ou duas chaves personalizadas do AWS KMS e uma política personalizada do KMS.
- Na Conta A, crie um bucket do S3 para o log do Systems Manager.
- Na conta A, crie a política de recursos para o bucket do S3.
- Em outra conta, crie uma política do IAM para conceder permissões ao bucket do S3 e às duas chaves do KMS.
- (Opcional) Use os perfis de shell do Systems Manager para criar e configurar o log..
- Verifique se o registro em logo do Session Manager está configurado para os buckets de destino e usando a chave KMS.
- Verifique se os logs estão sendo gerados no bucket.
Resolução
Observação: para definir o escopo das permissões, o processo de exemplo a seguir usa chaves de condição para os perfis e as organizações da AWS. Se você precisar de controle adicional de permissões, é uma prática recomendada usar os perfis de entidades principais no Session Manager.
Esse processo usa as seguintes permissões principais:
- A política gerenciada pela AWS do IAM AmazonSSMManagedInstanceCore para fornecer permissões ao Systems Manager.
- A permissão s3:getEncryptionConfiguration para descrever a configuração de criptografia no bucket do S3.
- As permissões s3:PutObject e s3:PutObjectAcl para colocar objetos criptografados no bucket do S3.
- As permissões kms:decrypt e kms:generateDataKey para fornecer acesso às chaves do KMS ao acessar os buckets e o Session Manager.
- A permissão aws:PrincipalOrgID: o-xxxxxxx para permitir acesso restrito a qualquer entidade principal que não corresponda ao ID da organização.
Pré-requisitos
Você deve ter conectividade com endpoints para os seguintes serviços:
- Amazon S3
- AWS KMS
- Mensagens do Systems Manager e do Systems Manager
- Mensagens do Amazon EC2
Criar as chaves do KMS
Primeiro, crie uma ou duas chaves.
- Se você estiver criando uma chave, use-a (Chave 1) para criptografia S3 no bucket de log do Session Manager e na criptografia KMS de preferências do Session Manager.
- Se você estiver criando duas chaves, use a primeira chave KMS (Chave 1) para criptografar o bucket do S3 para log. Use a segunda chave do KMS (Chave 2) para criptografar o stream do Session Manager para o bucket do Amazon S3.
Em seguida, crie a chave Sid para cada chave. Adicione o elemento Sid à sua política do KMS para cada chave.
Para permitir que o Session Manager criptografe a sessão, adicione as seguintes permissões às Organizações:
Observação: substitua o valor aws:PrincipalOrgID pelo ID da organização e pelo ARN da entidade principal.
{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxx" } } }
Criar um bucket do S3 para fazer login na Conta A
Crie um bucket do Amazon S3 para registrar em log os dados do Session Manager na Conta A. Atribua um nome ao bucket, por exemplo, customer_session_manager_logging_bucket. Ao escolher a criptografia, use a Chave 1.
Criar a política de recursos para o bucket do S3
Aplique a seguinte política de recursos ao bucket utilizado para registrar suas sessões.
Para usar uma chave de condição do PrincipalOrgID para restringir o acesso ao bucket do S3, adicione a seguinte política de recursos ao seu bucket do S3:
Observação: essa política rejeita solicitações de acesso de um diretor que está fora da sua organização.
{ "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" } } } ] }
Criar uma política do IAM
Primeiro, crie uma política do IAM para conceder permissões ao bucket do S3 e às chaves.
Anexe o exemplo de política a seguir ao seu perfil de instância para usar nas contas que você deseja conectar. Você pode usar uma política integrada ou uma política gerenciada pelo cliente para anexar a política:
{ "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" ] } ] }
(Opcional) Use os perfis de shell do Session Manager para criar e configurar o log
Para criar um perfil de shell personalizado, crie primeiro um arquivo. Em seguida, salve o arquivo com um nome de descrição, por exemplo, SessionManagerRunshell.json. Substitua o conteúdo desse arquivo.json pelo exemplo a seguir:
Observação: substitua customer_session_manager_logging_bucket pelo nome do bucket e YOUR-KMS-FOR-SessionManagerEncryption pela chave designada para o Session Manager.
{ "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": ""} } }
Execute os seguintes comandos para salvar esse arquivo como o documento padrão do Session Manager:
aws ssm update-document --name "SSM-SessionManagerRunShell" --content "file://SessionManagerRunShell.json" --document-version "$LATEST"
Verifique se o registro do Session Manager está configurado para os buckets de destino e está usando a chave KMS
Abra o bucket do S3 e verifique se você tem a Ccriptografia de bucket ativada. Verifique o ARN do KMS para confirmar se o Session Manager está usando a Chave 1.
Observação: ao configurar o log de contas cruzadas do Session Manager, é uma prática recomendada usar um prefixo do ID da conta. Isso ajuda acompanhar as contas e seus logs associados.
Para verificar as preferências do Session Manager, conclua as seguintes etapas:
- Abra o ](https://console.aws.amazon.com/systems-manager/session-manager/)console do Session Manager[ e escolha sua região da AWS.
- Verifique se você tem a criptografia de bucket do S3 ativada e insira o ARN da Chave 1 que está na Conta A.
- No bucket do S3, insira o nome do bucket do S3 que está na Conta A.
Verifique se os logs estão sendo gerados no bucket
Para gerar logs, use o Session Manager em outra conta para se conectar à sua instância.
Execute as etapas a seguir:
- Abra o console do Session Manager e escolha sua região.
- Verifique se a sessão está conectada e a seguinte mensagem é exibida: “Esta sessão é criptografada usando o AWS KMS”
- Insira algumas entradas de teste para gerar os logs e, em seguida, encerre sua sessão.
- Na Conta A, navegue até o bucket do S3 que você criou para log e procure os logs mais recentes por hora.
Observação: depois de desconectar a sessão, pode levar pelo menos 30 segundos para que os logs sejam preenchidos. 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
Exemplos de políticas de bucket
Diretrizes da política de acesso
Permitir que um usuário criptografe e descriptografe com chaves específicas do KMS

Conteúdo relevante
- Resposta aceitafeita há um mêslg...
- feita há 11 diaslg...
- feita há um mêslg...
- feita há 10 diaslg...
- Resposta aceitafeita há 3 meseslg...
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 6 meses