Je suis assez novice en matière d'AWS et j'essaie de comprendre certains concepts de base. Dans mon application Android, j'utilise :
- Cognito User Pool et Identity Pool pour permettre à mes utilisateurs de s'inscrire et de se connecter, mais aussi d'utiliser l'application en tant que invité utilisateurs
- API Gateway et AWS Lambda pour créer des services Web que l'application peut appeler.
Mon cas d'utilisation est très simple : Je veux que certaines des API que j'ai créées dans API Gateway soient disponibles pour mes utilisateurs authentifiés. y mes utilisateurs invités, et les autres API disponibles uniquement pour mes utilisateurs authentifiés.
Pour les APIs disponibles uniquement pour mes utilisateurs authentifiés, je pensais mettre les utilisateurs dans un groupe d'utilisateurs (merci à CognitoIdentityServiceProvider.adminAddUserToGroup()
), qui peuvent avoir un rôle commun auquel est attachée une stratégie IAM, pour leur permettre d'accéder à ces API. Je pense que c'est logique puisque je vais avoir différents types d'utilisateurs, donc j'utiliserai un groupe pour chaque type.
Mais pour les API disponibles pour mes utilisateurs authentifiés et mes utilisateurs invités, je ne suis pas tout à fait sûr de ce que je suis censé faire. Les API doivent-elles être publiques, de sorte qu'elles puissent être appelées par n'importe qui, y compris par mes utilisateurs invités, ou est-il possible de les rendre uniquement disponibles pour mes utilisateurs authentifiés et mes utilisateurs invités, mais sans être publiques ? Quelles sont les bonnes pratiques et comment puis-je les mettre en œuvre ?
Merci pour votre aide.