Armazenar chaves privadas com segurança no Amazon S3 - AWS Elastic Beanstalk

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á.

Armazenar chaves privadas com segurança no Amazon S3

A chave privada que você usa para assinar seu certificado público é privada e não deve ser submetida ao código-fonte. Evite armazenar chaves privadas em arquivos de configuração carregando-as no Amazon S3 e configurando o Elastic Beanstalk para fazer download do arquivo do Amazon S3 durante a implantação da aplicação.

O exemplo a seguir mostra as seções Recursos e arquivos de um arquivo de configuração que faz download do arquivo de chave privada de um bucket do Amazon S3.

exemplo .ebextensions/privatekey.config
Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["elasticbeanstalk-us-west-2-123456789012"] roleName: "Fn::GetOptionSetting": Namespace: "aws:autoscaling:launchconfiguration" OptionName: "IamInstanceProfile" DefaultValue: "aws-elasticbeanstalk-ec2-role" files: # Private key "/etc/pki/tls/certs/server.key": mode: "000400" owner: root group: root authentication: "S3Auth" source: https://elasticbeanstalk-us-west-2-123456789012.s3.us-west-2.amazonaws.com/server.key

Substitua o nome do bucket e o URL no exemplo pelos seus. A primeira entrada desse arquivo adiciona um método de autenticação chamado S3Auth aos metadados do grupo de Auto Scaling do ambiente. Se você tiver configurado um perfil de instância personalizado para o ambiente a ser usado, caso contrário, será aplicado o valor padrão aws-elasticbeanstalk-ec2-role. O perfil de instância padrão tem permissão de leitura do bucket de armazenamento do Elastic Beanstalk. Se você usar um outro bucket, adicione permissões ao perfil de instância.

A segunda entrada usa o método de autenticação S3Auth para fazer download da chave privada do URL especificado e salvá-la no /etc/pki/tls/certs/server.key. O servidor de proxy pode ler a chave privada a partir desse local para encerrar conexões HTTPS na instância.

O perfil de instância atribuído às instâncias do EC2 do ambiente deve ter permissão para ler o objeto chave do bucket especificado. Verifique se o perfil de instância tem permissão para ler o objeto no IAM e se as permissões no bucket e objeto não proíbem o perfil de instância.

Para visualizar as permissões de um bucket
  1. Abra o Console de gerenciamento do Amazon S3.

  2. Escolha um bucket.

  3. Escolha Propriedades e, em seguida, Permissões.

  4. Verifique se sua conta tem permissão de leitura no bucket.

  5. Se uma política de bucket estiver anexada, escolha Bucket policy para visualizar as permissões atribuídas ao bucket.