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á.
AWSProvedor de credenciais de carga de trabalho
O AWS Workload Credentials Provider automatiza o uso de certificados TLS públicos e privados exportados do ACM. O provedor recupera periodicamente os certificados e suas chaves privadas, os grava nos caminhos configurados e, opcionalmente, executa um comando para recarregar serviços dependentes, como servidores web.
Você pode usar o Workload Credentials Provider com os seguintes ambientes computacionais:
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
On-premises servidores com AWS credenciais
O provedor de credenciais de carga de trabalho usa a suposição de função do IAM para recuperar certificados. Ele é executado nativamente como um serviço de sistema no Linux e no Windows sob um usuário dedicado de baixos privilégios e grava arquivos de certificado com permissões restritas.
Importante
Somente certificados exportáveis podem ser usados com esse provedor. Para obter mais informações, consulte AWS Certificate Manager certificados públicos exportáveis Exportar um certificado privado.
O AWS Workload Credentials Provider é de código aberto. Para ver o código-fonte e as contribuições, consulte o GitHub repositório.
Como funciona a automação de certificados
O provedor usa um agendador que atualiza cada certificado configurado em um intervalo fixo:
-
O intervalo de atualização é de 24 horas.
-
Em cada ciclo, o provedor exporta o certificado, o compara com os arquivos no disco e grava novos arquivos somente se o conteúdo tiver sido alterado.
-
Quando os arquivos de certificado são atualizados, o configurado
refresh_commandé executado (por exemplo, para recarregar o NGINX ou o Apache). -
Se o conteúdo do certificado não tiver sido alterado, o comando de atualização será ignorado.
O provedor realiza uma atualização inicial em cada inicialização do sistema e logo após a inicialização do serviço, com uma pequena instabilidade aleatória para evitar chamadas de API sincronizadas quando vários provedores iniciam simultaneamente em toda a frota.
O provedor também oferece suporte ao recarregamento dinâmico da configuração, permitindo que você adicione, remova ou modifique certificados sem reinstalar. Para obter mais informações, consulte Recarga dinâmica da configuração.
Pré-requisitos
Antes de instalar o provedor, verifique se você tem o seguinte:
-
Uma instância Linux com systemd (Amazon Linux 2023, Ubuntu 20.04+ ou RHEL 8+)
-
Ou uma instância do Windows executando o Windows Server 2016 ou posterior com PowerShell 5.1 ou posterior
-
Acesso de administrador para executar o instalador
-
Um certificado exportável no ACM
-
Uma função do IAM com permissões de exportação do ACM (consultePermissões obrigatórias)
-
AWScredenciais disponíveis na instância (perfil da instância, variáveis de ambiente ou arquivo de credenciais)
Instale o provedor
Configurar o provedor
Crie um arquivo de configuração TOML com os detalhes do seu certificado. O instalador copia esse arquivo para /etc/aws-workload-credentials-provider/config.toml quando você usa a --config opção.
nota
Quando chain_path é omitida, a cadeia de certificados é anexada ao arquivo em certificate_path para produzir um arquivo de cadeia completa. Isso é compatível com servidores web que esperam um único arquivo contendo o certificado e sua cadeia.
Recarga dinâmica da configuração
Você pode atualizar a configuração do provedor sem reinstalar executando o acm reload comando. Isso valida a nova configuração, atualiza as permissões para corresponder aos novos caminhos do certificado e reinicia o serviço.
Os certificados removidos da configuração param de ser atualizados. Os novos certificados iniciam sua primeira exportação imediatamente. Cada certificado é executado como uma tarefa independente, portanto, uma falha em um não afeta os outros.
Permissões obrigatórias
Credenciais básicas
As credenciais básicas do provedor (perfil da instância ou ambiente) devem ser capazes de assumir a função especificada em cada certificado: role_arn
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
Função de exportação de certificados
A função especificada em role_arn requer as seguintes permissões:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
A política de confiança da função deve permitir que a identidade básica do provedor a assuma:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
Atualizar permissões de comando (Linux)
No Linux, o provedor executa o configurado refresh_command por meio sudo de. O instalador gera uma entrada sudoers em /etc/sudoers.d/aws-workload-credentials-provider que permite que o usuário do provedor execute o comando configurado exato sem um prompt de senha.
Importante
Certifique-se de /etc/sudoers incluir o /etc/sudoers.d diretório. O instalador avisa se essa diretiva de inclusão não estiver presente. Sem ele, o arquivo sudoers gerado não tem efeito e os comandos de atualização falharão.
No Windows, o provedor aciona a tarefa agendada refresh_command como sistema.
Verificar a instalação
Após a instalação, verifique se o provedor está em execução e se os certificados estão sendo gravados:
Referência da configuração
| Campo | Obrigatório | Padrão | Description |
|---|---|---|---|
logging.log_level |
Não | info |
Detalhamento do registro:debug,,,info, warn error none |
logging.log_to_file |
Não | true |
Gravar registros no arquivo (true) ou stdout/stderr (false) |
capabilities.acm.enabled |
Não | false |
Ativar ou desativar o recurso ACM |
certificates[].certificate_arn |
Sim | — | ARN do certificado ACM a ser exportado |
certificates[].role_arn |
Sim | — | Função do IAM (ARN) a ser assumida para a chamada ExportCertificate |
certificates[].certificate_path |
Sim | — | Caminho absoluto para gravar o arquivo de certificado |
certificates[].private_key_path |
Sim | — | Caminho absoluto para gravar o arquivo de chave privada |
certificates[].chain_path |
Não | — | Caminho absoluto para escrever a cadeia de certificados. Se omitida, a cadeia é anexada a certificate_path |
certificates[].refresh_command |
Não | — | Comando a ser executado após a atualização dos arquivos de certificado. Deve ser um caminho absoluto |
certificates[].certificate_and_chain_permission |
Não | 0600 |
Permissões de arquivo para arquivos cert e chain (modeformato Linux) |
certificates[].key_permission |
Não | 0600 |
Permissões de arquivo para o arquivo de chave privada (modeformato Linux) |
Registro em log
No Linux, o provedor faz login em/opt/aws/workload-credentials-provider/logs/acm_provider.log.
No Windows, o provedor faz login emC:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log. Os eventos de início e parada do serviço também são registrados no Registro de Eventos de Aplicativos do Windows abaixo da fonteAWSWorkloadCredentialsProvider-ACM.
Rotação de registros — o provedor cria um novo arquivo de log quando o arquivo atual atinge 10 MB e armazena até cinco arquivos de log arquivados.
AWSregistro de serviço — Quando o provedor ligaExportCertificate, essa chamada é gravada AWS CloudTrail com uma string de agente de usuário contendoaws-workload-credentials-provider. As operações internas do provedor (ciclos do agendador, gravações de arquivos) aparecem somente no registro local.
Você pode configurar o registro com log_level as log_to_file configurações e. Para obter mais informações, consulte Referência da configuração.