Salta al contenuto

Perché ricevo un errore di autorizzazione GetBucketAcl di Amazon S3 quando aggiorno la configurazione CRL con AWS Private CA?

3 minuti di lettura
0

Ho aggiornato la mia AWS Private Certificate Authority (AWS Private CA) per configurare un elenco di revoca dei certificati (CRL). Tuttavia, ho ricevuto l'errore "The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions".

Breve descrizione

AWS Private CA inserisce il CRL in un bucket Amazon Simple Storage Service (Amazon S3) designato per l'uso. Il bucket Amazon S3 deve essere protetto da una policy di autorizzazione collegata. Gli utenti autorizzati e i principali del servizio richiedono l'autorizzazione Put per consentire ad AWS Private CA di inserire oggetti nel bucket e l'autorizzazione Get per recuperarli. Per ulteriori informazioni, consulta Access policies for CRLs in Amazon S3.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Troubleshooting errors for the AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Per sostituire la policy Amazon S3 predefinita con una policy meno permissiva, completa i passaggi seguenti:

  1. Apri la console Amazon S3.

  2. Dall'elenco dei bucket, apri il bucket dove vuoi inserire il CRL.

  3. Scegli la scheda Autorizzazioni.

  4. In Policy del bucket scegli Modifica.

  5. In Policy copia e incolla la policy seguente:

    {
      "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"
            }
          }
        }
      ]
    }

    Nota: sostituisci il valore di Resource con il nome del tuo bucket Amazon S3. Sostituisci il valore di aws:SourceAccount con il tuo ID account. Sostituisci il valore di aws:SourceArn con il tuo ARN.

  6. Scegli Salva le modifiche.

  7. Crittografa i tuoi CRL.

  8. Esegui il comando update-certificate-authority per aggiornare la configurazione di revoca di AWS Private CA:

    aws acm-pca update-certificate-authority --certificate-authority-arn Certification_Auhtority_ARN --revocation-configuration file://revoke_config.txt

    **Nota:**Sostituisci Certification_Auhtority_ARN con il tuo ARN.
    Il file revoke_config.txt contiene informazioni sulla revoca simili alle seguenti:

    {    "CrlConfiguration": {
            "Enabled": <true>,
            "ExpirationInDays": <7>,
            "CustomCname": "example1234.cloudfront.net",
            "S3BucketName": "example-test-crl-bucket-us-east-1",
            "S3ObjectAcl": "BUCKET_OWNER_FULL_CONTROL"
        }
    }

Nota:

  • Se hai disattivato la funzionalità di blocco dell'accesso pubblico (BPA) in Amazon S3, puoi specificare BUCKET_OWNER_FULL_CONTROL o PUBLIC_READ come valore.
  • Se utilizzi la Console di gestione AWS per configurare il CRL, potresti ricevere un errore "ValidationException". Ripeti il passaggio 8 per aggiornare la configurazione di revoca della CA tramite AWS CLI.

Informazioni correlate

Enable S3 Block Public Access (BPA) with CloudFront

Security best practices for Amazon S3

GetBucketAcl

AWS UFFICIALEAggiornata un anno fa