J'ai mis à jour mon autorité de certification privée AWS (AWS Private CA) pour configurer une liste de révocation de certificats (CRL). Cependant, j'ai reçu une erreur « The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions ».
Brève description
AWS Private CA place la CRL dans un compartiment Amazon Simple Storage Service (Amazon S3) que vous désignez pour utilisation. Votre compartiment Amazon S3 doit être sécurisé par une stratégie d'autorisations associée. Les utilisateurs autorisés et les responsables de service ont besoin de l'autorisation Put pour permettre à AWS Private CA de placer des objets dans le compartiment et d'obtenir l'autorisation de les récupérer. Pour plus d'informations, consultez la section Stratégies d'accès pour les CRL dans Amazon S3.
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Pour remplacer la stratégie Amazon S3 par défaut par une stratégie moins permissive, procédez comme suit :
-
Ouvrez la console Amazon S3.
-
Dans la liste des compartiments, ouvrez le compartiment dans lequel vous souhaitez placer la CRL.
-
Choisissez l’onglet Autorisations.
-
Dans Stratégie de compartiment, sélectionnez Modifier.
-
Dans Stratégie, copiez et collez la stratégie suivante :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "acm-pca.amazonaws.com"
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetBucketAcl",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::your-crl-storage-bucket/*",
"arn:aws:s3:::your-crl-storage-bucket"
],
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account",
"aws:SourceArn": "arn:partition:acm-pca:region:account:certificate-authority/CA_ID"
}
}
}
]
}
Remarque : Remplacez la valeur de Ressource par le nom de votre compartiment Amazon S3. Remplacez la valeur de aws:SourceAccount par votre ID de compte. Remplacez la valeur de aws:SourceArn par votre ARN.
-
Sélectionnez Enregistrer les modifications.
-
Chiffrez vos CRL.
-
Exécutez la commande update-certificate-authority pour mettre à jour la configuration de révocation d'AWS Private CA :
aws acm-pca update-certificate-authority --certificate-authority-arn Certification_Auhtority_ARN --revocation-configuration file://revoke_config.txt
Remarque : Remplacez Certification_Auhtority_ARN par votre ARN.
Le fichier revoke_config.txt contient des informations de révocation similaires aux révocations suivantes :
{ "CrlConfiguration": {
"Enabled": <true>,
"ExpirationInDays": <7>,
"CustomCname": "example1234.cloudfront.net",
"S3BucketName": "example-test-crl-bucket-us-east-1",
"S3ObjectAcl": "BUCKET_OWNER_FULL_CONTROL"
}
}
Remarque :
- Si vous avez désactivé la fonctionnalité Blocage de l’accès public (BPA) dans Amazon S3, vous pouvez spécifier BUCKET_OWNER_FULL_CONTROL ou PUBLIC_READ comme valeur.
- Si vous utilisez la console de gestion AWS pour configurer votre CRL, l’erreur « ValidationException » peut s’afficher. Répétez l'étape 8 pour mettre à jour la configuration de révocation de l'autorité de certification via l'AWS CLI.
Informations connexes
Activer le blocage de l’accès public S3 (BPA) avec CloudFront
Bonnes pratiques de sécurité pour Amazon S3
GetBucketAcl