ACM 사설 인증 기관 CRL구성을 업데이트할 때 Amazon S3 GetBucketAcl 권한 오류가 발생하는 이유는 무엇입니까?

2분 분량
0

AWS Certificate Manager(ACM) 사설 인증 기관(CA)을 업데이트하여 CRL(인증서 해지 목록)을 구성했습니다. 하지만, 다음과 유사한 오류가 발생했습니다. “ACM 사설 CA 서비스 보안 주체 'acm-pca.amazonaws.com'에는 's3:GetBucketAcl' permissions'가 필요합니다.” 이 문제를 해결하려면 어떻게 해야 하나요?

간략한 설명

ACM 사설 CA는 CRL을 사용자가 사용하도록 지정한 Amazon Simple Storage Service(S3) 버킷에 배치합니다. Amazon S3 버킷은 연결된 권한 정책에 의해 보호되어야 합니다. 승인된 사용자 및 서비스 보안 주체는 ACM 사설 CA가 객체를 버킷에 배치할 수 있도록 Put 권한과 객체를 검색할 수 있는 Get 권한이 필요합니다.

자세한 내용은 Amazon S3의 CRL에 대한 액세스 정책을 참조하세요.

해결 방법

다음 지침에 따라 기본 Amazon S3 정책을 다음과 같이 덜 허용적인 정책으로 대체하세요.

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

1.    Amazon S3 콘솔을 엽니다.

2.    버킷 목록에서 CRL를 배치하려는 버킷을 선택합니다.

3.    [권한] 탭을 선택합니다.

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에서 퍼블릭 액세스 차단(BPA) 기능을 비활성화한 경우 BUCKET_OWNER_FULL_CONTROL 또는 PUBLIC_READ를 값으로 지정할 수 있습니다.
  • AWS Management Console을 사용하여 CRL을 구성한 경우 “ValidationException” 오류가 발생할 수 있습니다. AWS CLI를 사용하여 CA 해지 구성을 업데이트하려면 8단계를 반복합니다.

관련 정보

S3 퍼블릭 액세스 차단(BPA) 기능 활성화

Amazon S3의 보안 모범 사례

GetBucketAcl

AWS 공식
AWS 공식업데이트됨 2년 전