Memorystore fournit la fonctionnalité d'authentification Identity and Access Management (IAM), qui utilise IAM pour vous aider à mieux gérer l'accès des comptes d'utilisateur et de service. L'authentification basée sur IAM s'intègre à Valkey AUTH, ce qui vous permet d'alterner facilement les identifiants (jetons IAM) sans dépendre de mots de passe statiques.
Pour savoir comment configurer l'authentification IAM pour votre instance Memorystore, consultez Gérer l'authentification IAM.
Authentification IAM pour Valkey
Lorsque vous utilisez l'authentification IAM, l'autorisation d'accéder à une instance Memorystore n'est pas accordée directement à l'utilisateur final. À la place, les autorisations sont regroupées dans des rôles, et les rôles sont attribués à des comptes principaux. Pour en savoir plus, consultez la présentation d'IAM.
Les administrateurs qui s'authentifient avec IAM peuvent utiliser l'authentification IAM Memorystore pour gérer de manière centralisée le contrôle des accès à leurs instances à l'aide de stratégies IAM. Les stratégies IAM impliquent les entités suivantes :
Comptes principaux. Dans Memorystore, vous pouvez utiliser deux types de comptes principaux : un compte utilisateur et un compte de service (pour les applications). Les autres types de comptes principaux, tels que les groupes Google, les domaines Google Workspace ou les domaines Cloud Identity, ne sont pas encore compatibles avec l'authentification IAM. Pour en savoir plus, consultez Concepts liés à l'identité.
Rôles Pour l'authentification IAM Memorystore, un utilisateur a besoin de l'autorisation memorystore.instances.connect pour s'authentifier auprès d'une instance. Pour obtenir cette autorisation, vous pouvez lier l'utilisateur ou le compte de service au rôle prédéfini Utilisateur de la connexion à la base de données Memorystore (roles/memorystore.dbConnectionUser). Pour en savoir plus sur les rôles IAM, consultez la page Rôles.
Ressources. Les ressources auxquelles les comptes principaux accèdent sont des instances Memorystore. Par défaut, des liaisons de stratégie IAM sont appliquées au niveau du projet, de sorte que les comptes principaux reçoivent des autorisations de rôle pour toutes les instances Memorystore du projet. Toutefois, les associations de stratégies IAM peuvent être limitées à une instance spécifique. Pour obtenir des instructions, consultez Gérer les autorisations pour l'authentification IAM.
Commande AUTH Valkey
La fonctionnalité d'authentification IAM utilise la commande AUTH de Valkey pour s'intégrer à IAM, ce qui permet aux clients de fournir un jeton d'accès IAM qui sera vérifié par l'instance Valkey avant d'autoriser l'accès aux données.
Comme pour chaque commande, la commande AUTH est envoyée non chiffrée, sauf si le chiffrement en transit est activé.
Pour obtenir un exemple de commande AUTH, consultez Se connecter à une instance utilisant l'authentification IAM.
Période de validité du jeton d'accès IAM
Le jeton d'accès IAM que vous récupérez lors de l'authentification expire au bout d'une heure par défaut. Vous pouvez également définir le délai d'expiration du jeton d'accès lorsque vous générez le jeton d'accès. Un jeton valide doit être présenté via la commande AUTH lors de l'établissement d'une nouvelle connexion Valkey. Si le jeton a expiré, vous devrez en obtenir un nouveau pour établir de nouvelles connexions.
Mettre fin à une connexion authentifiée
Pour mettre fin à une connexion, utilisez la commande Valkey CLIENT KILL
. Commencez par exécuter CLIENT LIST
pour identifier la connexion, puis exécutez CLIENT KILL
pour la fermer.
Activer l'authentification IAM
L'activation de l'authentification IAM ne dégrade pas les performances à l'état stable. Toutefois, cela affecte la fréquence à laquelle vous pouvez établir une connexion.
L'activation de l'authentification IAM limite le nombre de connexions client établies chaque seconde. En effet, l'authentification IAM de Google Cloud doit authentifier chaque nouvelle connexion. En état stable, une application active les pools de connexions. L'impact est donc négligeable. Toutefois, lorsque les applications clientes sont redémarrées ou déployées, il peut y avoir une augmentation du nombre de nouvelles connexions. Si vous mettez à jour vos clients progressivement et que vous implémentez un intervalle exponentiel entre les tentatives, vous pouvez absorber ce taux réduit.
Pour afficher un exemple de code sur l'utilisation de l'authentification IAM, consultez Exemple de code pour l'authentification IAM et le chiffrement en transit.
Sécurité et confidentialité
L'authentification IAM vous permet de vous assurer que votre instance Valkey n'est accessible qu'aux comptes principaux IAM autorisés. Le chiffrement TLS n'est pas fourni, sauf si l'option Chiffrement en transit est activée. Pour cette raison, il est recommandé d'activer le chiffrement en transit lorsque vous utilisez l'authentification IAM.
Se connecter à une VM Compute Engine
Si vous utilisez une VM Compute Engine pour vous connecter à une instance qui utilise l'authentification IAM, vous devez activer les niveaux d'accès et les API suivants pour votre projet :
Champ d'application de l'API Cloud Platform Pour savoir comment activer ce champ d'application, consultez Associer le compte de service et mettre à jour le niveau d'accès. Pour obtenir une description des bonnes pratiques concernant ce niveau d'accès#39;accès, consultez Bonnes pratiques concernant les niveaux d'accès.
API Memorystore for Valkey Pour obtenir un lien permettant d'activer l'API, cliquez sur le bouton suivant :
Memorystore pour Valkey