인증서 해지 목록(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 정책을 덜 허용되는 정책으로 바꾸려면 다음 단계를 완료하십시오.
-
Amazon S3 콘솔을 엽니다.
-
버킷 목록에서 CRL을 배치하려는 버킷을 엽니다.
-
권한 탭을 선택합니다.
-
버킷 정책에서 편집을 선택합니다.
-
정책에서 다음 정책을 복사하여 붙여넣습니다.
{
"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으로 바꾸십시오.
-
변경 사항 저장을 선택합니다.
-
CRL을 암호화합니다.
-
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