Segurança - Agendador de instâncias na AWS

Segurança

Quando você cria sistemas na infraestrutura da AWS, as responsabilidades de segurança são compartilhadas entre você e a AWS. Esse modelo de responsabilidade compartilhada reduz seus encargos operacionais, pois a AWS opera, gerencia e controla os componentes, incluindo o sistema operacional do host, a camada de virtualização e a segurança física das instalações onde os serviços operam. Para obter mais informações sobre segurança da AWS, visite Segurança da Nuvem AWS.

AWS KMS

A solução cria uma chave gerenciada pelo cliente gerenciada pela AWS, que é usada para configurar a criptografia do lado do servidor para o tópico do SNS e as tabelas do DynamoDB.

Amazon IAM

As funções do Lambda da solução exigem permissões para acessar recursos da conta do hub, obter/inserir parâmetros do Systems Manager, acessar grupos de logs do CloudWatch, usar a criptografia/descriptografia de chaves do AWS KMS e publicar mensagens no SNS. Além disso, o Agendador de instâncias na AWS também criará funções de agendamento em todas as contas gerenciadas que fornecerão acesso para iniciar/interromper recursos do EC2, RDS, Auto Scaling e instâncias de banco de dados, bem como para modificar atributos de instâncias e atualizar as tags desses recursos. Todas as permissões necessárias são fornecidas pela solução para o perfil de serviço do Lambda criado como parte do modelo de solução.

Na implantação, o Agendador de instâncias na AWS implantará perfis do IAM com escopo reduzido para cada uma de suas funções do Lambda, juntamente com Perfis do Agendador que podem ser assumidos somente por Lambdas de agendamento específicos no modelo de hub implantado. Esses perfis de agendamento terão nomes seguindo o padrão {namespace}-Scheduler-Role e {namespace}-ASG-Scheduling-Role.

Para obter informações detalhadas sobre a permissão fornecida para cada perfil de serviço, consulte os modelos do CloudFormation.

Volumes do EC2 EBS criptografados

Ao programar instâncias do EC2 anexadas a volumes do EBS criptografados pelo AWS KMS, você deve conceder permissão ao Agendador de instâncias na AWS para usar as chaves do AWS KMS associadas. Isso permite que o Amazon EC2 decifre os volumes do EBS em anexo durante a função iniciada. Essa permissão deve ser concedida ao perfil de agendamento na mesma conta da(s) instância(s) do EC2 que usam a chave.

Para conceder permissão para usar uma chave do AWS KMS com o Agendador de instâncias na AWS, adicione o ARN da chave do AWS KMS à pilha do Agendador de instâncias na AWS (hub ou spoke) na mesma conta que a(s) instância(s) do EC2 usando a(s) chave(s):

ARNs da chave do KMS para EC2

image3

Isso gerará automaticamente a seguinte política e a adicionará ao perfil de agendamento dessa conta:

{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Null": { "kms:EncryptionContextKeys": "false", "kms:GrantOperations": "false" }, "ForAllValues:StringEquals": { "kms:EncryptionContextKeys": [ "aws:ebs:id" ], "kms:GrantOperations": [ "Decrypt" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } }, "Action": "kms:CreateGrant", "Resource": [ "Your-KMS-ARNs-Here" ], "Effect": "Allow" } ] }