AWS プライベート CA CRL 設定の更新時に Amazon S3 GetBucketACL アクセス許可に関するエラーが発生する理由を知りたいです。

所要時間2分
0

AWS プライベート認証機関 (AWS プライベート CA) を更新して、証明書失効リスト (CRL) を設定しましたが、「ACM プライベート CA サービスプリンシパル 'acm-pca.amazonaws.com' には 's3:GetBucketAcl' アクセス許可が必要です」というエラーが表示されました。

簡単な説明

AWS プライベート CA は、ユーザーが使用するように指定した Amazon Simple Storage Service (Amazon S3) バケットに CRL を配置します。Amazon S3 バケットは、アタッチされたアクセス許可ポリシーによって保護する必要があります。許可されたユーザーとサービスプリンシパルには、AWS Private CA がバケットにオブジェクトを配置できるようにするための PUT アクセス許可と、オブジェクトを取得するための Get アクセス許可が必要です。詳細については、「Amazon S3 における CRL のアクセスポリシー」を参照してください。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

デフォルトの Amazon S3 ポリシーを許容度の低いポリシーに置き換えるには、次の手順を実行します。

  1. Amazon S3 コンソールを開きます。

  2. バケットのリストから、CRL を配置するバケットを開きます。

  3. [アクセス許可] タブを選択します。

  4. [バケットポリシー] で、[編集] を選択します。

  5. 次のポリシーをコピーし、[ポリシー] に貼り付けます。

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

    注: Resource の値は、お使いの Amazon S3 バケット名に置き換えます。aws:SourceAccount の値は、お使いのアカウント ID に置き換えます。aws:SourceArn の値は、実際の ARN に置き換えます。

  6. [変更を保存] を選択します。

  7. CRL を暗号化します。

  8. update-certificate-authority コマンドを実行し、AWS プライベート CA の失効設定を更新します。

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

    注: Certification_Auhtority_ARN は、実際の ARN に置き換えます。
    **revoke_config.txt ** ファイルには、次のような失効情報が含まれています。

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

注:

  • Amazon S3 の Block Public Access (BPA) 機能を無効にした場合は、値に BUCKET_OWNER_FULL_CONTROL または PUBLIC_READ を指定します。
  • AWS マネジメントコンソールを使用して CRL を設定する場合、「ValidationException」エラーが発生することがあります。**ステップ 8 ** を繰り返して、AWS CLI を使用して CA 失効設定を更新します。

関連情報

CloudFront で S3 の Block Public Access (BPA) を有効にする

Amazon S3 のセキュリティベストプラクティス

GetBucketAcl

AWS公式
AWS公式更新しました 5ヶ月前
コメントはありません