Warum erhalte ich einen Amazon S3-GetBucketAcl-Berechtigungsfehler, wenn ich meine CRL-Konfiguration für AWS Private CA aktualisiere?

Lesedauer: 3 Minute
0

Ich habe meine AWS Private Certificate Authority (AWS Private CA) (AWS private Zertifizierungsstelle) aktualisiert, um eine Zertifikatssperrliste (Certificate Revocation Llist, CRL) zu konfigurieren. Ich habe jedoch die Fehlermeldung „The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions“ erhalten.

Kurzbeschreibung

Die AWS Private CA platziert die CRL in einem Amazon Simple Storage Service (Amazon S3)-Bucket, den du für die Verwendung festlegst. Der Amazon S3-Bucket muss durch eine angehängte Berechtigungsrichtlinie gesichert sein. Autorisierte Benutzer und Service-Prinzipale benötigen die Put-Berechtigung, damit AWS Private CA Objekte im Bucket platzieren, und die Get-Berechtigung, um sie abzurufen. Weitere Informationen findest du unter Zugriffsrichtlinien für CRLs in Amazon S3.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Gehe wie folgt vor, um die standardmäßige Amazon S3-Richtlinie durch eine weniger tolerante Richtlinie zu ersetzen:

  1. Öffne die Amazon-S3-Konsole.

  2. Öffne in der Liste der Buckets den Bucket, in dem du die CRL platzieren möchtest.

  3. Wähle die Registerkarte Berechtigungen aus.

  4. Wähle unter Bucket-Richtlinie die Option Bearbeiten aus.

  5. Kopiere unter Richtlinie die folgende Richtlinie und füge sie ein:

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

    Hinweis: Ersetze den Wert für Ressource durch deinen Amazon S3-Bucket-Namen. Ersetze den Wert für aws:SourceAccount durch deine Konto-ID. Ersetze den Wert für aws:SourceArn durch deinen ARN.

  6. Wähle Änderungen speichern aus.

  7. Verschlüssele deine CRLs.

  8. Führe den Befehl update-certificate-authority aus, um die Sperrkonfiguration der AWS Private CA zu aktualisieren:

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

    Hinweis: Ersetze Certification_Auhtority_ARN durch deinen ARN.
    Die Datei revoke_config.txt enthält Sperrinformationen, die den folgenden ähneln:

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

Hinweis:

  • Wenn du die Funktion Block Public Access (BPA, Öffentlichen Zugang blockieren) in Amazon S3 deaktiviert hast, kannst du entweder BUCKET_OWNER_FULL_CONTROL oder PUBLIC_READ als Wert angeben.
  • Wenn du die AWS-Managementkonsole verwendest, um die CRL zu konfigurieren, erhältst du möglicherweise die Fehlermeldung „ValidationException“. Wiederhole Schritt 8, um die CA-Sperrkonfiguration über die AWS CLI zu aktualisieren.

Ähnliche Informationen

Aktivieren von S3 Block Public Access (BPA) mit CloudFront

Bewährte Sicherheitsmethoden für Amazon S3

GetBucketAcl

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten