나는 많은 것을 시도하고 패배를 인정합니다. (나는 많은 응답을 읽었지만 아무도 지금까지 나를 도왔습니다.) Cloudfont에 보관 된 파일의 서명 된 URL을 설정하려고합니다. S3 용으로 서명 된 URL을 만들 수 있지만 Cloudfront에서 사용할 수있는 항목이 없습니다. CloudFront를 위해 나는하여 AWS SDK에서 다음 사용하고 있습니다 : Cloudfront 서명 된 URL을 사용하여 C#
var url = AmazonCloudFrontUrlSigner.GetCannedSignedURL( AmazonCloudFrontUrlSigner.Protocol.http, "cdn.coffeebreakgrooves.com", privateKey,
file, cloudFrontKeyPairID, DateTime.Now.AddDays(2));
나는 서명 된 URL이 생성 얻을 그러나 나는 그것이 내가 설정 원산지 액세스 신원 제안에 대해 내가 읽은 링크를, 다음의 경우 액세스가 거부 얻을. 그래서 나는 그 기원 액세스 신원 내 배포 설정 및 설정에 가서 선택 :
- 제한 버킷 액세스 : 예
- 원산지 액세스 정체성 : 예, 업데이트 버킷 정책 : 기존 신원
- 부여 읽기 권한을 사용하여
그렇다면 S3의 ACL에 대한 설정에 관계없이 모든 파일을 Cloudfront에서 공개적으로 사용할 수 있습니다 (따라서 file.txt에 Cloudfront를 통해 액세스 할 수있는 S3의 사용자에게는 권한이 없음). 서명 된 URL이 작동하는지 여부를 알려주지 않습니다. 다운로드는 쿼리 문자열 유무와 상관없이 작동하며 파일은 공개적으로 사용할 수있게되었습니다. 기본적으로 파일을 비공개로 설정하고 서명 된 URL로 다운로드 할 수있는 방법은 무엇입니까 (내 서명 방법이 맞습니까?). 생성 된 버킷 정책을 삭제하면 액세스가 다시 제한됩니다. 나는 원래의 액세스 ID가 서명 된 URL로만 버킷에 액세스 할 수 있도록 버킷 정책을 설정하는 방법을 알아야한다고 생각합니다. 아마도.
사전 도움을 주셔서 감사합니다.