ACM プライベート認証局の CRL 設定を更新するときに Amazon S3 GetBucketAcl 許可エラーが表示されるのはなぜですか?

所要時間2分
0

AWS Certificate Manager (ACM) プライベート認証局 (CA) を更新して、証明書失効リスト (CRL) を設定しました。しかし、次のようなエラーが表示されました。 「The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions.」(ACM プライベート CA サービスプリンシパル「acm-pca.amazonaws.com」には、「s3:GetBucketAcl」許可が必要です。) このエラーを解決するにはどうすればよいですか?

簡単な説明

ACM プライベート CA は、使用するように指定した Amazon Simple Storage Service (Amazon S3) バケットに CRL を配置します。Amazon S3 バケットは、アタッチされた許可ポリシーによって保護されている必要があります。承認されたユーザーとサービスプリンシパルには、ACM プライベート CA がバケットにオブジェクトを配置することを許可する Put 許可と、それらのオブジェクトを取得するための Get 許可が必要です。

詳細については、「Access policies for CRLs in Amazon S3」(Amazon S3 の CRL のアクセスポリシー) を参照してください。

解決方法

次の手順に従って、デフォルトの Amazon S3 ポリシーを、次の許容度の低いポリシーに置き換えます。

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

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

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

3.    [Permissions] (アクセス権限) タブを選択します。

4.    [Bucket policy] (バケットポリシー) で [Edit] (編集) を選択します。

5.    [Policy] (ポリシー) で、次のポリシーをコピーして貼り付けます。

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

注: S3 バケット名、アカウント ID、ACM PCA ARN を変数に置き換えます。

6.    [Save changes] (変更を保存) を選択します。

7.    手順に従って CRL を暗号化します。

8.    次のような AWS CLI コマンド update-certificate-authority を使用して、CA 失効設定を更新します。

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

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 失効設定を更新します。

関連情報

Enabling the S3 Block Public Access (BPA) feature (S3 Block Public Access (BPA) 機能を有効にする)

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

GetBucketAcl

AWS公式
AWS公式更新しました 2年前
コメントはありません