Comment autoriser l'accès à mes compartiments Amazon S3 aux clients n'utilisant pas TLS 1.2 ou une version ultérieure ?
Mes clients n'utilisent pas les versions 1.2 ou supérieures de TLS. Ils ne peuvent donc pas accéder au contenu stocké dans mes compartiments Amazon Simple Storage Service (Amazon S3). Comment autoriser ces clients d'accéder au contenu de mes compartiments Amazon S3 à l'aide de TLS 1.0 ou 1.1 ?
Brève description
AWS impose l'utilisation de TLS 1.2 ou version ultérieure sur tous les points de terminaison d'API AWS. Afin de continuer à vous connecter aux services AWS, mettez à jour tous les logiciels utilisant TLS 1.0 ou 1.1.
Solution
Amazon CloudFront permet l'utilisation d'anciennes versions TLS en extrayant les clients du protocole TLS utilisé entre votre distribution CloudFront et Amazon S3.
Création d'une distribution CloudFront avec OAC
À l'aide de CloudFront, prenez en charge les requêtes anonymes et publiques adressées à vos compartiments S3. Vous pouvez également rendre vos compartiments S3 privés et accessibles via CloudFront uniquement en exigeant des demandes signées afi d'accéder à vos compartiments S3.
La prise en charge des requêtes anonymes et publiques adressées à vos compartiments S3
Remarque : L'exemple suivant suppose qu'un compartiment S3 est en cours d'utilisation. Si vous n'avez pas de compartiment S3, créez-en un.
Afin de créer la distribution CloudFront, procédez comme suit :
- Ouvrez la console CloudFront.
- Choisissez Créer une distribution.
- Sous Origine, pour le Domaine d'origine, choisissez le point de terminaison de l'API REST de votre compartiment S3 dans la liste déroulante.
- Pour Stratégie de protocole d'utilisateur, sélectionnez Rediriger HTTP vers HTTPS.
- Pour les points de terminaison HTTP autorisés, sélectionnez GET, HEAD, OPTIONS pour la prise en charge des demandes de lecture**.**
- Dans la section Origin access, sélectionnez les paramètres de contrôle d'accès Origin (recommandé).
- Sélectionnez Créer un paramètre de contrôle et utilisez le nom par défaut. Pour le comportement de signature, sélectionnez Signer les demandes (recommandé), ensuite, sélectionnez Créer. Les paramètres recommandés par l'OAC authentifient automatiquement la demande du spectateur.
- Sélectionnez l'identité dans la liste déroulante**.** Une fois la distribution créée**,** mettez à jour la politique du compartiment en vue de restreindre l'accès à OAC.
- Sous Comportement du cache par défaut, Viewer, sélectionnez Rediriger HTTP vers HTTPS pour la politique de protocole du lecteur et laissez les autres paramètres par défaut.
- Sous Demandes de clé de cache et d'origine, sélectionnez Politique de cache et politique de demande d'origine (recommandé). Ensuite, utilisez CachingOptimized pour la politique de cache et CORS-S3Origin pour la politique de requête Origin.
- Sélectionnez Créer une distribution, ensuite, attendez que la mise à jour de son état passe à Activé.
Exigez des demandes signées afin d'accéder à vos compartiments S3
Renforcez la sécurité de vos compartiments S3 en prenant uniquement en charge les demandes signées. Pour les demandes signées, OAC suit vos paramètres d'authentification et les transmet à l'origine S3, qui refuse ensuite les demandes anonymes.
Pour créer une distribution CloudFront nécessitant des demandes signées pour accéder à vos compartiments S3, procédez comme suit :
- Ouvrez la console CloudFront.
- Choisissez Créer une distribution.
- Sous Origine, pour le Domaine d'origine, choisissez le point de terminaison de l'API REST de votre compartiment S3 dans la liste déroulante.
- Pour Stratégie de protocole d'utilisateur, sélectionnez Rediriger HTTP vers HTTPS.
- Pour les points de terminaison HTTP autorisés, sélectionnez GET, HEAD, OPTIONS pour la prise en charge des demandes de lecture**.**
- Dans la section Origin access, sélectionnez les paramètres de contrôle d'accès Origin (recommandé).
- Bloquez toutes les demandes non signées en cochant l'option Ne pas signer les demandes.
Remarque : Le blocage des demandes non signées nécessite que chaque client signe ses demandes afin que l'origine S3 puisse évaluer les autorisations.. - Créez une politique de cache personnalisée en vue de transmettre l'en-tête d'autorisation du client à l'origine.
- Sous Demandes de clé de cache et d'origine, sélectionnez Politique de cache et politique de demande d'origine (recommandé).
- Sélectionnez Créer une stratégie.
- Entrez un nom pour la politique de cache dans la section Nom.
- Sous Paramètres de clé de cache consultez En-têtes, et sélectionnez Inclure les en-têtes suivants.
- Ensuite, sous Ajouter des en-têtes sélectionnez Autorisation.
- Sélectionnez Créer.
Contrôlez la politique de sécurité du client
Afin de contrôler une politique de sécurité dans CloudFront, vous devez disposer d'un domaine personnalisé. Pour votre distribution, il est recommandé de spécifier un autre nom de domaine. Il est également recommandé d'utiliser un certificat SSL personnalisé configuré dans AWS Certificate Manager (ACM). Ainsi, vous pouvez mieux contrôler la politique de sécurité et permettre aux clients de continuer à utiliser TLS 1.0. Pour plus d'informations, consultez Protocoles et chiffrements pris en charge entre les utilisateurs et CloudFront.
Si vous utilisez le nom de domaine *.cloudfront.net par défaut, CloudFront alloue automatiquement un certificat et définit la stratégie de sécurité pour autoriser TLS 1.0 et 1.1. Pour plus d'informations, consultez Paramètres de distribution.
Afin de configurer un autre nom de domaine pour votre distribution CloudFront, procédez comme suit :
- Connectez-vous à la console de gestion AWS et ouvrez console CloudFront.
- Choisissez l'ID de la distribution à mettre à jour.
- Dans l'onglet Général, choisissez Modifier.
- Pour Nom de domaine alternatifs (CNAME), choisissez Ajouter un élément et saisissez votre domaine personnalisé.
Remarque : Il est recommandé d'utiliser un enregistrement de nom canonique (CNAME) personnalisé afin d'accéder à vos ressources. L'utilisation d'un CNAME vous permet de mieux contrôler le routage et d'améliorer la transition pour vos clients. - Dans Custom SSL Certificate (Certificat SSL personnalisé), choisissez le certificat SSL personnalisé dans la liste déroulante qui couvre votre CNAME à attribuer à la distribution.
Remarque : pour plus d'informations sur l'installation d'un certificat, consultez Comment configurer ma distribution CloudFront afin d'utiliser un certificat SSL/TLS ? - Choisissez Créer une distribution et attendez que son statut passe à Activé.
Après la création de la distribution, autorisez OAC à accéder à votre compartiment. Procédez comme suit :
- Accédez à la page de la console CloudFront et ouvrez votre distribution CloudFront.
- Sélectionnez l'onglet Origines, sélectionnez votre origine, ensuite, cliquez sur Modifier.
- Choisissez Copier la politique, ouvrez l'autorisation du compartiment et mettez à jour votre politique de compartiment.
- Ouvrez la page d'autorisations d'accès au compartiment S3.
- Dans la politique des compartiments, choisissez Modifier. Collez la politique copiée précédemment, ensuite, choisissez Enregistrer. Si votre stratégie de compartiment nécessite plus que la lecture à partir de S3, vous pouvez ajouter les API requises.
Si vous utilisez un nom de domaine personnalisé, modifiez vos entrées DNS afin d'utiliser la nouvelle URL de distribution CloudFront. Si vous n'utilisez pas de nom de domaine personnalisé, fournissez la nouvelle URL de distribution CloudFront à vos utilisateurs. Mettez également à jour tout logiciel client ou appareil utilisant l'ancienne URL.
Si vous utilisez un kit SDK AWS pour accéder aux objets Amazon S3, modifiez votre code en vue d'utiliser des points de terminaison HTTPS classiques. Assurez-vous également d'utiliser la nouvelle URL CloudFront. Si les objets ne sont pas publics et nécessitent un meilleur contrôle, vous pouvez diffuser du contenu privé à l'aide d'URL et de cookies signés.
Utilisez des URL présignées S3 afin d'accéder aux objets
Si votre flux de travail repose sur des URL présignées S3, utilisez une distribution CloudFront afin de relayer votre requête vers l'origine S3. Commencez par générer une URL présignée pour l'objet souhaité. Remplacez ensuite l'hôte dans l'URL par le point de terminaison CloudFront afin de passer l'appel via CloudFront et mettez automatiquement à niveau le protocole de chiffrement. Afin de tester et de générer une URL présignée, exécutez la commande CLI suivante :
aws s3 presign s3://BUCKET_NAME/test.jpg
Exemple de sortie :
https://bucket_name.s3.us-east-1.amazonaws.com/test.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=%5b...%5d%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=%5b...%5d&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature">https://BUCKET_NAME.s3.us-east-1.amazonaws.com/test.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=[...]%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=[...]&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature =[...]
Modifiez maintenant l'URL S3 vers le nouveau point de terminaison CloudFront. Par exemple, remplacez cette URL S3 :
BUCKET_NAME.s3.eu-west-1.amazonaws.com
avec ce point de terminaison :
https://DISTRIBUTION_ID.cloudfront.net.
Exemple de sortie :
https://<DISTRIBUTION_ID>.cloudfront.net /test.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=[...]%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=[...]&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=[...]
Afin d'utiliser des URL présignées, appliquez les paramètres CloudFront suivants :
- Définissez le comportement de signature OAC sur Ne pas signer les demandes.
- Définissez la politique de demande d'origine de distribution de CloudFront sur les paramètres de la demande d'origine : en-têtes — Aucun ; Cookies — Aucun ; Chaînes de requête — Tous.
- Définissez la politique de cache sur En-têtes — Aucun ; Cookies — Aucun ; Chaînes de requête — Aucune.
Dans AWS CloudTrail, la requête GET à télécharger à partir d'une URL présignée S3 s'affiche comme l'identité qui a généré l'URL présignée.
Si vous utilisez un kit SDK AWS afin d'accéder aux objets S3, modifiez votre code afin d'utiliser l'URL présignée. Utilisez plutôt une requête HTTPS normale et utilisez la nouvelle URL CloudFront.
Vérifiez que vous utilisez des protocoles de chiffrement modernes pour Amazon S3
En vue de tester votre nouvelle politique, utilisez l'exemple de commande curl suivant pour effectuer des requêtes HTTPS à l'aide d'un ancien protocole spécifique :
curl https://${CloudFront_Domain}/image.png -v --tlsv1.0 --tls-max 1.0
L'exemple de commande curl envoie une requête à CloudFront à l'aide de TLS 1.0. Cela se connecte à l'origine S3 à l'aide de TLS 1.2 et télécharge le fichier avec succès.
Il est recommandé d'utiliser AWS CloudTrail Lake pour identifier les anciennes connexions TLS aux points de terminaison de service AWS. Configurez le magasin de données d'événements de CloudTrail Lake afin de capturer les événements de gestion ou les événements de données. L'événement CloudTrail correspondant dans CloudTrail Lake affiche TLS version 1.2, confirmant que vos clients utilisent une politique de sécurité moderne pour se connecter à Amazon S3.

Contenus pertinents
- demandé il y a 25 jourslg...
- demandé il y a 2 moislg...
- demandé il y a un moislg...
- demandé il y a 10 jourslg...
- demandé il y a un moislg...
- AWS OFFICIELA mis à jour il y a 8 mois
- AWS OFFICIELA mis à jour il y a 5 mois
- AWS OFFICIELA mis à jour il y a 3 ans