내용으로 건너뛰기

AWS Private CA CRL 구성을 업데이트할 때 Amazon S3 GetBucketAcl 권한 오류가 발생하는 이유는 무엇입니까?

2분 분량
0

인증서 해지 목록(CRL)을 구성하도록 AWS Private Certificate Authority(AWS Private CA)를 업데이트했습니다. 하지만 "The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions" 오류가 발생했습니다.

간략한 설명

AWS Private CA는 CRL을 사용자가 사용하도록 지정한 Amazon Simple Storage Service(Amazon S3) 버킷에 배치합니다. Amazon S3 버킷은 연결된 권한 정책으로 보호되어야 합니다. 인증된 사용자 및 서비스 주체에게는 AWS Private CA가 버킷에 객체를 배치할 수 있는 Put 권한과 객체를 검색할 수 있는 Get 권한이 필요합니다. 자세한 내용은 Amazon S3의 CRL 액세스 정책을 참조하십시오.

해결 방법

참고: AWS Command Line Interface(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 Private 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 Management Console을 사용하여 CRL을 구성하는 경우 “ValidationException” 오류가 발생할 수 있습니다. 8단계를 반복하여 AWS CLI를 통해 CA 해지 구성을 업데이트합니다.

관련 정보

CloudFront를 통해 S3 Block Public Access(BPA) 활성화

Amazon S3 보안 모범 사례

GetBucketAcl

AWS 공식업데이트됨 일 년 전