CloudFront+S3+쿠키 인증

3367 단어 CloudFrontS3

S3



특히 없음 평소대로
public 액세스 등은 없음

Cloud Front



CNAME 등의 설정 생략

Origin 설정




  • Restrict Bucket AccessYes로 설정
  • Origin Access Identity에서 Create a New Identity로 설정하면 오리진 액세스 신원이 새로 생성됩니다
  • .
  • Grant Read Permissions on BucketYes, Update Bucket Policy로 설정하면 S3 버킷의 버킷 정책이 자동으로 업데이트됩니다
  • .

    Behavior 설정




  • Restrict Viewer AccessYes로 설정
  • Trusted Signers에서 Self 확인

  • 맞춤 정책


    {
      "Statement": [
        {
        "Resource": "https://hogehoge.com/*",
        "Condition": {
            "DateLessThan": {
            "AWS:EpochTime": 1561417200
            }
        }
         }
      ]
    }
    

    인증에 필요한 쿠키



    CloudFront-Policycat policy.json | openssl base64 | tr '+=/' '-_~'
    CloudFront-Signaturecat policy.json | openssl sha1 -sign pk.pem | openssl base64 | tr '+=/' '-_~'
    CloudFront-Expires
    Epoch Time Format

    CloudFront-Key-Pair-Id
    Cloud Front 인증 키 ID (루트 계정에서만 만들 수 있음)

    Reource에 와일드 카드를 사용하는 경우 맞춤 정책 사용

    CORS 설정


    Behaviors에서,Cache Based on Selected Request Headers ~ WhitelistWhitelist HeadersOrigin Access-Control-Request-Headers Access-Control-Request-Method 추가


    S3 액세스 권한으로
    <?xml version="1.0" encoding="UTF-8"?>
    <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>https://hogehoge.com</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
    </CORSConfiguration>
    

    어쨌든 느낌으로 저장

    Test


    curl -H 'Cookie: CloudFront-Expires=1741360031; CloudFront-Policy=; CloudFront-Signature=; CloudFront-Key-Pair-Id=XXXXXX' https://hogehoge.com/hoge/sample.html
    

    좋은 웹페이지 즐겨찾기