Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWSFournisseur d'identifiants de charge de travail
Le fournisseur d'informations d'identification de AWS charge de travail automatise l'utilisation des certificats TLS publics et privés exportés depuis ACM. Le fournisseur récupère régulièrement les certificats et leurs clés privées, les écrit dans des chemins configurés et exécute éventuellement une commande pour recharger les services dépendants tels que les serveurs Web.
Vous pouvez utiliser le fournisseur d'informations d'identification de charge de travail dans les environnements informatiques suivants :
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
On-premises serveurs avec AWS informations d'identification
Le fournisseur d'informations d'identification de charge de travail utilise l'hypothèse du rôle IAM pour récupérer les certificats. Il s'exécute nativement en tant que service système sous Linux et Windows sous un utilisateur dédié à faibles privilèges et écrit des fichiers de certificat avec des autorisations restreintes.
Important
Seuls les certificats exportables peuvent être utilisés auprès de ce fournisseur. Pour plus d'informations, reportez-vous à AWS Certificate Manager certificats publics exportables la section Exportation d'un certificat privé.
Le fournisseur d'informations d'identification de AWS charge de travail est open source. Pour le code source et les contributions, consultez le GitHub référentiel
Comment fonctionne l'automatisation des certificats
Le fournisseur utilise un planificateur qui actualise chaque certificat configuré à intervalles réguliers :
-
L'intervalle de rafraîchissement est de 24 heures.
-
À chaque cycle, le fournisseur exporte le certificat, le compare aux fichiers sur le disque et écrit de nouveaux fichiers uniquement si le contenu a changé.
-
Lorsque les fichiers de certificats sont mis à jour, le fichier configuré
refresh_commands'exécute (par exemple, pour recharger NGINX ou Apache). -
Si le contenu du certificat n'a pas changé, la commande d'actualisation est ignorée.
Le fournisseur effectue une actualisation initiale à chaque démarrage du système et peu de temps après le démarrage du service, avec une légère instabilité aléatoire pour éviter les appels d'API synchronisés lorsque plusieurs fournisseurs démarrent simultanément sur le parc.
Le fournisseur prend également en charge le rechargement dynamique de la configuration, ce qui vous permet d'ajouter, de supprimer ou de modifier des certificats sans les réinstaller. Pour de plus amples informations, veuillez consulter Rechargement dynamique de la configuration.
Conditions préalables
Avant d'installer le fournisseur, assurez-vous que vous disposez des éléments suivants :
-
Une instance Linux avec systemd (Amazon Linux 2023, Ubuntu 20.04+ ou RHEL 8+)
-
Ou une instance Windows exécutant Windows Server 2016 ou version ultérieure avec PowerShell 5.1 ou version ultérieure
-
Accès administrateur pour exécuter le programme d'installation
-
Un certificat exportable dans ACM
-
Un rôle IAM avec des autorisations d'exportation ACM (voir) Autorisations requises
-
AWSinformations d'identification disponibles sur l'instance (profil d'instance, variables d'environnement ou fichier d'informations d'identification)
Installez le fournisseur
Configuration du fournisseur
Créez un fichier de configuration TOML avec les détails de votre certificat. Le programme d'installation copie ce fichier /etc/aws-workload-credentials-provider/config.toml lorsque vous utilisez l'--configoption.
Note
Lorsqu'elle chain_path est omise, la chaîne de certificats est ajoutée au fichier à l'adresse certificate_path pour produire un fichier de chaîne complète. Ceci est compatible avec les serveurs Web qui attendent un seul fichier contenant le certificat et sa chaîne.
Rechargement dynamique de la configuration
Vous pouvez mettre à jour la configuration du fournisseur sans la réinstaller en exécutant la acm reload commande. Cela valide la nouvelle configuration, met à jour les autorisations pour qu'elles correspondent aux nouveaux chemins de certificat et redémarre le service.
Les certificats supprimés de la configuration cessent d'être actualisés. Les nouveaux certificats commencent immédiatement leur première exportation. Chaque certificat s'exécute en tant que tâche indépendante, de sorte que l'échec de l'un d'entre eux n'affecte pas les autres.
Autorisations requises
Informations d'identification de base
Les informations d'identification de base du fournisseur (profil d'instance ou environnement) doivent être en mesure d'assumer le rôle spécifié dans chaque certificat role_arn :
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
Rôle d'exportation de certificats
Le rôle spécifié dans role_arn nécessite les autorisations suivantes :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
La politique de confiance du rôle doit permettre à l'identité de base du fournisseur de l'assumer :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
Actualiser les autorisations de commande (Linux)
Sous Linux, le fournisseur exécute la configuration refresh_command viasudo. Le programme d'installation génère une entrée sudoers /etc/sudoers.d/aws-workload-credentials-provider qui permet à l'utilisateur du fournisseur d'exécuter la commande configurée exactement sans demander de mot de passe.
Important
Assurez-vous d'/etc/sudoersinclure le /etc/sudoers.d répertoire. Le programme d'installation avertit si cette directive d'inclusion n'est pas présente. Sans cela, le fichier sudoers généré n'a aucun effet et les commandes d'actualisation échoueront.
Sous Windows, le fournisseur déclenche la tâche refresh_command en tant que tâche planifiée SYSTEM.
Vérifier l'installation
Après l'installation, vérifiez que le fournisseur fonctionne et que les certificats sont en cours d'écriture :
Référence de configuration
| Champ | Obligatoire | Par défaut | Description |
|---|---|---|---|
logging.log_level |
Non | info |
Verbosité de journalisation :debug,,info, warn error none |
logging.log_to_file |
Non | true |
Écrire les journaux dans le fichier (true) ou stdout/stderr (false) |
capabilities.acm.enabled |
Non | false |
Activer ou désactiver la fonctionnalité ACM |
certificates[].certificate_arn |
Oui | — | ARN du certificat ACM à exporter |
certificates[].role_arn |
Oui | — | Rôle IAM (ARN) à assumer pour l'appel ExportCertificate |
certificates[].certificate_path |
Oui | — | Chemin absolu pour écrire le fichier de certificat |
certificates[].private_key_path |
Oui | — | Chemin absolu pour écrire le fichier de clé privée |
certificates[].chain_path |
Non | — | Chemin absolu pour écrire la chaîne de certificats. En cas d'omission, la chaîne est ajoutée à certificate_path |
certificates[].refresh_command |
Non | — | Commande à exécuter après la mise à jour des fichiers de certificats. Doit être un chemin absolu |
certificates[].certificate_and_chain_permission |
Non | 0600 |
Autorisations de fichier pour les fichiers de certificat et de chaîne (modeformat Linux) |
certificates[].key_permission |
Non | 0600 |
Autorisations de fichier pour le fichier de clé privée (modeformat Linux) |
Logging
Sous Linux, le fournisseur se connecte à/opt/aws/workload-credentials-provider/logs/acm_provider.log.
Sous Windows, le fournisseur se connecte àC:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log. Les événements de démarrage et d'arrêt du service sont également enregistrés dans le journal des événements des applications Windows sous la sourceAWSWorkloadCredentialsProvider-ACM.
Rotation des journaux : le fournisseur crée un nouveau fichier journal lorsque le fichier actuel atteint 10 Mo et stocke jusqu'à cinq fichiers journaux archivés.
AWSjournalisation des services — Lorsque le fournisseur appelleExportCertificate, cet appel est enregistré AWS CloudTrail avec une chaîne d'agent utilisateur contenantaws-workload-credentials-provider. Les opérations internes du fournisseur (cycles du planificateur, écritures de fichiers) apparaissent uniquement dans le journal local.
Vous pouvez configurer la journalisation à l'aide log_level des log_to_file paramètres et. Pour de plus amples informations, veuillez consulter Référence de configuration.