2017-07-06 7 views
1

Nous avons un site Web hébergé sur AWS S3 dont l'intention est d'être accessible uniquement à un groupe limité de personnes. À l'heure actuelle, nous sommes en blanc liste les adresses IP autorisées, comme décrit dans Restrict access to website hosted on S3. Cependant, certaines personnes qui doivent avoir accès à ce site Web n'ont pas d'ips statiques, ce qui nous oblige à mettre constamment à jour les ips sur la politique AWS. Je suis assez sûr que quelque chose comme les certificats côté client devrait fonctionner, mais je ne sais pas comment l'implémenter en termes de politique AIM. Toute autre alternative (plus simple) qui ne repose pas sur les adresses IP étant statiques? Je suppose que l'ajout de clés ssh à AWS ne ferait pas de bien dans ce cas, non?Restreindre l'accès au site Web hébergé par S3 sans ajouter de billetterie à la liste blanche

+0

Avez-vous l'intention d'avoir un contrôle d'accès basé sur l'utilisateur? – Ashan

Répondre

1

Une approche alternative consiste à configurer un contrôle d'accès basé sur l'utilisateur. Vous pouvez le faire en utilisant les services AWS suivants.

  • AWS Cognito UserPools
  • API AWS passerelle
  • AWS S3

Les étapes sont les suivantes

  1. Créer une AWS Cognito UserPool
  2. Créez vos utilisateurs là-bas avec IAM authentifié rôle à autoriser API Gateway Execute.
  3. Créer une page de connexion du public dans S3 avec Cognito Login SDK
  4. passerelle API d'installation et passer à travers au service S3 AWS et également ajouter Cognito userpool approbateur création de rôles requred IAM (Vérifier this exemple)

Après l'installation, les utilisateurs doivent pouvoir se connecter et accéder à S3 via API Gateway.

+0

Je ne suis pas sûr de comprendre comment cela empêcherait quelqu'un d'accéder à une page hébergée en S3. Les pages ne seraient-elles pas toujours accessibles, à moins que je ne change mon code pour forcer une redirection si je ne suis pas connecté? Je n'ai jamais utilisé le service Cognito, mais je crois comprendre qu'il se comporterait comme si j'avais mis en place une authentification sur mon propre site Web. Est-ce que je manque quelque chose? – redwulf

+0

Oui, c'est similaire à l'implémentation d'un mécanisme d'authentification. La différence nette entre votre propre implémentation personnalisée et l'utilisation de Userpools et de l'autorisation IAM est que la quantité importante est la configuration plutôt que le codage. – Ashan

+0

Donc, si je comprends bien, Cognito bloquerait tout accès à un compartiment S3 spécifique, à moins que l'utilisateur ne soit authentifié en premier, n'est-ce pas? Merci, je pourrais essayer, si je ne peux pas trouver une autre solution. Je préférerais néanmoins éviter toute sorte d'authentification utilisateur/mot de passe, bien que ... – redwulf