Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous pouvez authentifier les utilisateurs à l'aide de listes de contrôle d'accès (ACLs).
ACLs vous permettent de contrôler l'accès au cluster en regroupant les utilisateurs. Ces listes de contrôle d'accès sont conçues pour organiser l'accès aux clusters.
Avec ACLs, vous créez des utilisateurs et leur attribuez des autorisations spécifiques à l'aide d'une chaîne d'accès, comme décrit dans la section suivante. Vous assignez les utilisateurs à des listes de contrôle d'accès alignées sur un rôle spécifique (administrateurs, ressources humaines) qui sont ensuite déployées sur un ou plusieurs clusters MemoryDB. Vous pouvez ainsi établir des limites de sécurité entre les clients utilisant le ou les mêmes clusters MemoryDB et empêcher les clients d'accéder aux données des autres.
ACLs sont conçus pour prendre en charge l'introduction de l'ACL
Vous ne pouvez pas spécifier de mots de passe dans une chaîne d'accès. Vous définissez des mots de passe avec CreateUserou par UpdateUserappels.
Pour les droits d'utilisateur, vous passez
on
etoff
dans le cadre de la chaîne d'accès. Si aucune des deux n'est spécifiée dans la chaîne d'accès, l'utilisateur est affecté au clusteroff
et ne dispose pas de droits d'accès.Vous ne pouvez pas utiliser de commandes interdites. Si vous spécifiez une commande interdite, une exception sera émise. Pour obtenir la liste de ces commandes, consultezCommandes limitées.
Vous ne pouvez pas utiliser la commande
reset
dans le cadre d'une chaîne d'accès. Vous spécifiez les mots de passe avec les paramètres de l'API, et MemoryDB gère les mots de passe. Par conséquent, vous ne pouvez pas utiliserreset
car il supprimerait tous les mots de passe d'un utilisateur.Redis OSS 6 introduit la commande ACL LIST
. Cette commande renvoie une liste d'utilisateurs ainsi que les règles de liste ACL appliquées à chaque utilisateur. MemoryDB prend en charge la ACL LIST
commande, mais ne prend pas en charge le hachage des mots de passe comme le fait Redis OSS. Avec MemoryDB, vous pouvez utiliser l'DescribeUsersopération pour obtenir des informations similaires, y compris les règles contenues dans la chaîne d'accès. Cependant, DescribeUsersne permet pas de récupérer le mot de passe utilisateur.Les autres commandes en lecture seule prises en charge par MemoryDB incluent ACL WHOAMI, ACL USERS
et ACL CAT . MemoryDB ne prend en charge aucune autre commande ACL basée sur l'écriture.
L'utilisation ACLs avec MemoryDB est décrite plus en détail ci-dessous.
Rubriques
Définition des autorisations à l'aide d'une chaîne d'accès
Pour spécifier les autorisations d'accès à un cluster MemoryDB, vous créez une chaîne d'accès et vous l'attribuez à un utilisateur en utilisant le AWS CLI ou. AWS Management Console
Les chaînes d'accès sont définies comme une liste de règles délimitées par des espaces qui sont appliquées à l'utilisateur. Elles définissent les commandes qu'un utilisateur peut exécuter et les clés qu'un utilisateur peut utiliser. Pour exécuter une commande, un utilisateur doit avoir accès à la commande en cours d'exécution et à toutes les clés accessibles par la commande. Les règles sont appliquées de gauche à droite de manière cumulative, et une chaîne plus simple peut être utilisée à la place de celle fournie en cas de redondance dans la chaîne fournie.
Pour plus d'informations sur la syntaxe des règles de liste ACL, veuillez consulter Listes ACL
Dans l'exemple suivant, la chaîne d'accès représente un utilisateur actif ayant accès à toutes les clés et commandes disponibles.
on ~* &* +@all
La syntaxe de la chaîne d'accès se décompose comme suit :
on
: l'utilisateur est un utilisateur actif.~*
: l'accès est accordé à toutes les clés disponibles.&*
— L'accès est donné à toutes les chaînes pubsub.+@all
: l'accès est accordé à toutes les commandes disponibles.
Les paramètres précédents sont les moins restrictifs. Vous pouvez modifier ces paramètres pour les rendre plus sécurisés.
Dans l'exemple suivant, la chaîne d'accès représente un utilisateur dont l'accès est restreint à l'accès en lecture sur les clés commençant par un keyspace « app:: »
on ~app::* -@all +@read
Vous pouvez affiner ces autorisations en listant les commandes auxquelles l'utilisateur a accès :
+
: l'accès de l'utilisateur aux commandes est limité à command1
.command1
+@category
: l'accès de l'utilisateur est limité à une catégorie de commandes.
Pour plus d'informations sur l'attribution d'une chaîne d'accès à un utilisateur, veuillez consulter Création d'utilisateurs et de listes de contrôle d'accès à l'aide de la console et de la CLI.
Si vous migrez une charge de travail existante vers MemoryDB, vous pouvez récupérer la chaîne d'accès en appelantACL LIST
, en excluant l'utilisateur et tout hachage de mot de passe.
Capacités de recherche vectorielle
En Recherche vectorielle effet, toutes les commandes de recherche appartiennent à la @search
catégorie et aux catégories existantes @read
@write
, @fast
et @slow
sont mises à jour pour inclure les commandes de recherche. Si un utilisateur n'a pas accès à une catégorie, il n'a accès à aucune commande de cette catégorie. Par exemple, si l'utilisateur n'y a pas accès@search
, il ne peut exécuter aucune commande liée à la recherche.
Le tableau suivant indique le mappage des commandes de recherche vers les catégories appropriées.
Commandes VSS | @read | @write | @fast | @slow |
---|---|---|---|---|
FT.CREATE |
Y | Y | ||
FT.DROPINDEX |
Y | Y | ||
FT.LIST |
Y | Y | ||
FT.INFO |
Y | Y | ||
FT.SEARCH |
Y | Y | ||
FT.AGGREGATE |
Y | Y | ||
FT.PROFILE |
Y | Y | ||
FT.ALIASADD |
Y | Y | ||
FT.ALIASDEL |
Y | Y | ||
FT.ALIASUPDATE |
Y | Y | ||
FT._ALIASLIST |
Y | Y | ||
FT.EXPLAIN |
Y | Y | ||
FT.EXPLAINCLI |
Y | Y | ||
FT.CONFIG |
Y | Y |
Appliquer ACLs à un cluster pour MemoryDB
Pour utiliser MemoryDB ACLs, vous devez suivre les étapes suivantes :
Créez un ou plusieurs utilisateurs.
Créez une ACL et ajoutez des utilisateurs à la liste.
Assignez l'ACL à un cluster.
Ces étapes sont décrites en détail ci-dessous.
Rubriques
Création d'utilisateurs et de listes de contrôle d'accès à l'aide de la console et de la CLI
Les informations utilisateur pour ACLs les utilisateurs sont un nom d'utilisateur, et éventuellement un mot de passe et une chaîne d'accès. La chaîne d'accès fournit le niveau d'autorisation relatif aux clés et commandes. Le nom est propre à l'utilisateur et est transmis au moteur.
Assurez-vous que les autorisations utilisateur que vous fournissez correspondent à l'objectif de l'ACL. Par exemple, si vous créez une ACL appeléeAdministrators
, la chaîne d'accès de tout utilisateur que vous ajoutez à ce groupe doit être définie de manière à avoir un accès complet aux touches et aux commandes. Pour les utilisateurs d'une e-commerce
ACL, vous pouvez définir leurs chaînes d'accès en lecture seule.
MemoryDB configure automatiquement un utilisateur par défaut par compte avec un nom d'utilisateur. "default"
Il ne sera associé à aucun cluster sauf s'il est explicitement ajouté à une ACL. Vous ne pouvez pas le supprimer ou le modifier. Cet utilisateur est destiné à être compatible avec le comportement par défaut des versions précédentes de Redis OSS et dispose d'une chaîne d'accès qui lui permet d'appeler toutes les commandes et d'accéder à toutes les touches.
Une ACL « open access » immuable sera créée pour chaque compte contenant l'utilisateur par défaut. Il s'agit de la seule ACL dont l'utilisateur par défaut peut être membre. Lorsque vous créez un cluster, vous devez sélectionner une ACL à associer au cluster. Bien que vous ayez la possibilité d'appliquer l'ACL « libre accès » à l'utilisateur par défaut, nous vous recommandons vivement de créer une ACL avec des utilisateurs dont les autorisations sont limitées à leurs besoins commerciaux.
Les clusters sur lesquels le protocole TLS n'est pas activé doivent utiliser l'ACL « open access » pour fournir une authentification ouverte.
ACLs peut être créé sans aucun utilisateur. Une ACL vide n'aurait aucun accès à un cluster et ne pourrait être associée qu'à des clusters compatibles TLS.
Lors de la création d'un utilisateur, vous pouvez configurer jusqu'à deux mots de passe. Lorsque vous modifiez un mot de passe, toutes les connexions existantes aux clusters sont conservées.
Tenez compte en particulier de ces contraintes liées au mot de passe utilisateur lors de l'utilisation ACLs de MemoryDB :
-
Les mots de passe doivent comporter de 16 à 128 caractères imprimables.
-
Les caractères non alphanumériques suivants ne sont pas autorisés :
,
""
/
@
.
Gestion des utilisateurs avec la console et la CLI
Pour créer des utilisateurs sur la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, sélectionnez Utilisateurs.
Choisissez Créer un utilisateur
Sur la page Créer un utilisateur, entrez un nom.
Les contraintes d'attribution de noms de cluster sont les suivantes :
Doit contenir entre 1 et 40 caractères alphanumériques ou traits d'union.
Doit commencer par une lettre.
Ils ne peuvent pas comporter deux traits d'union consécutifs.
Ils ne peuvent pas se terminer par un trait d'union.
Sous Mots de passe, vous pouvez saisir jusqu'à deux mots de passe.
Sous Chaîne d'accès, entrez une chaîne d'accès. La chaîne d'accès définit le niveau d'autorisation accordé à l'utilisateur pour les clés et commandes.
-
Pour les tags, vous pouvez éventuellement appliquer des tags pour rechercher et filtrer vos utilisateurs ou suivre vos AWS coûts.
Sélectionnez Create (Créer).
Pour créer un utilisateur à l'aide de la CLI
-
Utilisez la commande create-user pour créer un utilisateur.
Pour Linux, macOS ou Unix :
aws memorydb create-user \ --user-name user-name-1 \ --access-string "~objects:* ~items:* ~public:*" \ --authentication-mode \ Passwords=
"abc"
,Type=passwordPour Windows :
aws memorydb create-user ^ --user-name user-name-1 ^ --access-string "~objects:* ~items:* ~public:*" ^ --authentication-mode \ Passwords=
"abc"
,Type=password
Pour modifier les utilisateurs sur la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, sélectionnez Utilisateurs.
Cliquez sur le bouton radio à côté de l'utilisateur que vous souhaitez modifier, puis choisissez Actions -> Modifier
Si vous souhaitez modifier un mot de passe, cliquez sur le bouton radio Modifier les mots de passe. Notez que si vous avez deux mots de passe, vous devez saisir les deux lorsque vous modifiez l'un d'entre eux.
Si vous mettez à jour la chaîne d'accès, entrez la nouvelle.
Sélectionnez Modifier.
Pour modifier un utilisateur à l'aide de la CLI
-
Utilisez la commande update-user pour modifier un utilisateur.
-
Lorsqu'un utilisateur est modifié, les listes de contrôle d'accès associées à l'utilisateur sont mises à jour, ainsi que tous les clusters associés à l'ACL. Toutes les connexions existantes sont maintenues. Voici quelques exemples.
Pour Linux, macOS ou Unix :
aws memorydb update-user \ --user-name user-name-1 \ --access-string "~objects:* ~items:* ~public:*"
Pour Windows :
aws memorydb update-user ^ --user-name user-name-1 ^ --access-string "~objects:* ~items:* ~public:*"
Pour afficher les détails de l'utilisateur sur la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, sélectionnez Utilisateurs.
Choisissez l'utilisateur sous Nom d'utilisateur ou utilisez le champ de recherche pour trouver l'utilisateur.
Dans Paramètres utilisateur, vous pouvez consulter la chaîne d'accès, le nombre de mots de passe, le statut et le nom de ressource Amazon (ARN) de l'utilisateur.
Sous Listes de contrôle d'accès (ACL), vous pouvez consulter l'ACL à laquelle appartient l'utilisateur.
Sous Tags, vous pouvez consulter tous les tags associés à l'utilisateur.
Utilisez la commande describe-users pour afficher les détails d'un utilisateur.
aws memorydb describe-users \ --user-name
my-user-name
Pour supprimer des utilisateurs sur la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, sélectionnez Utilisateurs.
Cliquez sur le bouton radio à côté de l'utilisateur que vous souhaitez modifier, puis choisissez Actions -> Supprimer
Pour confirmer, entrez
delete
dans la zone de texte de confirmation, puis choisissez Supprimer.Pour annuler, choisissez Cancel (Annuler).
Pour supprimer un utilisateur à l'aide de la CLI
-
Utilisez la commande delete-user pour supprimer un utilisateur.
Le compte est supprimé et retiré de toutes les listes de contrôle d'accès auxquelles il appartient. Voici un exemple.
Pour Linux, macOS ou Unix :
aws memorydb delete-user \ --user-name user-name-2
Pour Windows :
aws memorydb delete-user ^ --user-name user-name-2
Gestion des listes de contrôle d'accès avec la console et la CLI
Vous pouvez créer des listes de contrôle d'accès pour organiser et contrôler l'accès des utilisateurs à un ou plusieurs clusters, comme indiqué ci-dessous.
Utilisez la procédure suivante pour gérer les listes de contrôle d'accès à l'aide de la console.
Pour créer une liste de contrôle d'accès à l'aide de la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, choisissez Listes de contrôle d'accès (ACL).
Choisissez Create ACL.
Sur la page Créer une liste de contrôle d'accès (ACL), entrez un nom d'ACL.
Les contraintes d'attribution de noms de cluster sont les suivantes :
Doit contenir entre 1 et 40 caractères alphanumériques ou traits d'union.
Doit commencer par une lettre.
Ils ne peuvent pas comporter deux traits d'union consécutifs.
Ils ne peuvent pas se terminer par un trait d'union.
Sous Utilisateurs sélectionnés, effectuez l'une des opérations suivantes :
Créez un nouvel utilisateur en choisissant Créer un utilisateur
Ajoutez des utilisateurs en choisissant Gérer, puis en sélectionnant des utilisateurs dans la boîte de dialogue Gérer les utilisateurs, puis en sélectionnant Choisir.
-
Pour les balises, vous pouvez éventuellement appliquer des balises pour rechercher et filtrer vos coûts ACLs ou suivre vos AWS coûts.
Sélectionnez Create (Créer).
Utilisez les procédures suivantes pour créer une liste de contrôle d'accès à l'aide de la CLI.
Pour créer une nouvelle ACL et ajouter un utilisateur à l'aide de la CLI
-
Utilisez la commande create-acl pour créer une ACL.
Pour Linux, macOS ou Unix :
aws memorydb create-acl \ --acl-name "new-acl-1" \ --user-names
"user-name-1"
"user-name-2"
Pour Windows :
aws memorydb create-acl ^ --acl-name "new-acl-1" ^ --user-names
"user-name-1"
"user-name-2"
Pour modifier une liste de contrôle d'accès à l'aide de la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, choisissez Listes de contrôle d'accès (ACL).
Choisissez l'ACL que vous souhaitez modifier, puis choisissez Modifier
Sur la page Modifier, sous Utilisateurs sélectionnés, effectuez l'une des opérations suivantes :
Créez un nouvel utilisateur en choisissant Create user à ajouter à l'ACL.
Ajoutez ou supprimez des utilisateurs en choisissant Gérer, puis en sélectionnant ou désélectionnant des utilisateurs dans la boîte de dialogue Gérer les utilisateurs, puis en sélectionnant Choisir.
Sur la page Créer une liste de contrôle d'accès (ACL), entrez un nom d'ACL.
Les contraintes d'attribution de noms de cluster sont les suivantes :
Doit contenir entre 1 et 40 caractères alphanumériques ou traits d'union.
Doit commencer par une lettre.
Ils ne peuvent pas comporter deux traits d'union consécutifs.
Ils ne peuvent pas se terminer par un trait d'union.
Sous Utilisateurs sélectionnés, effectuez l'une des opérations suivantes :
Créez un nouvel utilisateur en choisissant Créer un utilisateur
Ajoutez des utilisateurs en choisissant Gérer, puis en sélectionnant des utilisateurs dans la boîte de dialogue Gérer les utilisateurs, puis en sélectionnant Choisir.
Choisissez Modifier pour enregistrer vos modifications ou Annuler pour les ignorer.
Pour modifier une ACL en ajoutant de nouveaux utilisateurs ou en supprimant des membres actuels à l'aide de la CLI
-
Utilisez la commande update-acl pour modifier une ACL.
Pour Linux, macOS ou Unix :
aws memorydb update-acl --acl-name new-acl-1 \ --user-names-to-add
user-name-3
\ --user-names-to-removeuser-name-2
Pour Windows :
aws memorydb update-acl --acl-name new-acl-1 ^ --user-names-to-add
user-name-3
^ --user-names-to-removeuser-name-2
Note
Cette commande met fin à toutes les connexions ouvertes appartenant à un utilisateur supprimé d'une ACL.
Pour afficher les détails de l'ACL sur la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, choisissez Listes de contrôle d'accès (ACL).
Choisissez l'ACL sous le nom de l'ACL ou utilisez le champ de recherche pour trouver l'ACL.
Sous Utilisateurs, vous pouvez consulter la liste des utilisateurs associés à l'ACL.
Sous Clusters associés, vous pouvez consulter le cluster auquel appartient l'ACL.
Sous Tags, vous pouvez consulter tous les tags associés à l'ACL.
Utilisez la commande describe-acls pour afficher les détails d'une ACL.
aws memorydb describe-acls \ --acl-name test-group
Pour supprimer des listes de contrôle d'accès à l'aide de la console
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Dans le volet de navigation de gauche, choisissez Listes de contrôle d'accès (ACL).
Choisissez l'ACL que vous souhaitez modifier, puis choisissez Supprimer
Sur la page Supprimer, entrez
delete
dans la case de confirmation et choisissez Supprimer ou Annuler pour éviter de supprimer l'ACL.
C'est l'ACL elle-même, et non les utilisateurs appartenant au groupe, qui est supprimée.
Pour supprimer une ACL à l'aide de la CLI
-
Utilisez la commande delete-acl pour supprimer une ACL.
Pour Linux, macOS ou Unix :
aws memorydb delete-acl / --
acl-name
Pour Windows :
aws memorydb delete-acl ^ --
acl-name
Les exemples précédents renvoient la réponse suivante.
aws memorydb delete-acl --acl-name "new-acl-1" { "ACLName": "new-acl-1", "Status": "deleting", "EngineVersion": "6.2", "UserNames": [ "user-name-1", "user-name-3" ], "clusters": [], "ARN":"arn:aws:memorydb:us-east-1:493071037918:acl/new-acl-1" }
Affectation de listes de contrôle d'accès aux clusters
Après avoir créé une ACL et ajouté des utilisateurs, la dernière étape de la mise en œuvre ACLs consiste à attribuer l'ACL à un cluster.
Affectation de listes de contrôle d'accès à des clusters à l'aide de la console
Pour ajouter une ACL à un cluster à l'aide du AWS Management Console, voirCréation d'un cluster MemoryDB.
Affectation de listes de contrôle d'accès à des clusters à l'aide du AWS CLI
L' AWS CLI opération suivante crée un cluster avec le chiffrement en transit (TLS) activé et le acl-name paramètre avec la valeur
. Remplacez le groupe de sous-réseaux my-acl-name
subnet-group
par un groupe de sous-réseaux existant.
Paramètres clés
-
--engine-version
— Doit être 6,2. -
--tls-enabled
— Utilisé pour l'authentification et pour associer une ACL. -
--acl-name
— Cette valeur fournit des listes de contrôle d'accès composées d'utilisateurs dotés d'autorisations d'accès spécifiées pour le cluster.
Pour Linux, macOS ou Unix :
aws memorydb create-cluster \ --cluster-name "new-cluster" \ --description
"new-cluster"
\ --engine-version "6.2" \ --node-type db.r6g.large \ --tls-enabled \ --acl-name "new-acl-1" \ --subnet-group-name"subnet-group"
Pour Windows :
aws memorydb create-cluster ^ --cluster-name "new-cluster" ^ --cluster-description
"new-cluster"
^ --engine-version "6.2" ^ --node-type db.r6g.large ^ --tls-enabled ^ --acl-name "new-acl-1" ^ --subnet-group-name"subnet-group"
L' AWS CLI opération suivante modifie un cluster dont le chiffrement en transit (TLS) est activé et dont le acl-name paramètre contient la valeur. new-acl-2
Pour Linux, macOS ou Unix :
aws memorydb update-cluster \ --cluster-name cluster-1 \ --acl-name "new-acl-2"
Pour Windows :
aws memorydb update-cluster ^ --cluster-name cluster-1 ^ --acl-name "new-acl-2"