S3 politique Bucket - restreindre l'accès aux objets

voix
0

Ma configuration:

  • images stockées sur un seau S3
  • seau relié à un CloudFront CDN en utilisant CNAME personnalisée ( cdn.mydomain.com)

Mes intentions: considérer un objet dont l' emplacement d' origine est mybucket.s3.amazonaws.com/object.jpget l' emplacement CDN est cdn.mydomain.com/object.jpg.

Autoriser uniquement lorsque

  • objet accessible à partir de mon domaine ( mydomain.com) en utilisant soit URL d' origine ou CDN

  • objet accessible sans en-tête (ie des liens dans le navigateur collé) en utilisant uniquement URL CDN

Pour ce faire, je me sers de la politique suivante:

{
    Version: 2008-10-17,
    Id: PolicyForCloudFrontPrivateContent,
    Statement: 
    [
        {
            Sid: Allow access to objects when requested by CloudFront Distribution,
            Effect: Allow,
            Principal: 
            {
                AWS: arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <my ID>
            },
            Action: s3:GetObject,
            Resource: arn:aws:s3:::<my bucket>/*
        },
        {
            Sid: Give access if referer is not set,
            Effect: Allow,
            Principal: { AWS: * },
            Action: s3:GetObject,
            Resource: arn:aws:s3:::<my bucket>/*,
            Condition: 
            {
                StringNotLike: 
                {
                    aws:Referer: *
                }
            }
        },
        {
            Sid: Give access if referer is my site,
            Effect: Allow,
            Principal: { AWS: * },
            Action: s3:GetObject,
            Resource: arn:aws:s3:::<my bucket>/*,
            Condition: 
            {
                StringLike: 
                {
                    aws:Referer: [https://www.example.com/*,https://example.com/*]
                }
            }
        }
    ]
}

Il y a deux problèmes que je suis face à ceci:

  • Chaque fois que cette politique est appliquée, de nombreuses images retour « accès refusé », même lorsqu'ils sont intégrés dans mon propre site web
  • L'URL d' origine S3 (c. -à- mybucket.s3.amazonaws.com/object.jpg) est toujours accessible lorsqu'aucun referer est spécifié.

Toute aide serait très appréciée.

Créé 20/10/2018 à 03:37
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more