Vous pouvez chiffrer de manière sécurisée toutes les données qui transitent entre vos applications clientes et Memorystore pour Valkey. Il s'agit du chiffrement en transit. Grâce au chiffrement en transit, tout le trafic Valkey est chiffré via le protocole TLS (Transport Layer Security). Cela garantit que toutes les données qui transitent entre vos applications et Memorystore pour Valkey restent confidentielles et ne sont pas altérées.
Lorsque le chiffrement en transit est activé, les clients Valkey communiquent exclusivement via une connexion sécurisée. Les clients Valkey qui ne sont pas configurés pour TLS sont bloqués. Si vous choisissez d'utiliser le chiffrement en transit, il vous incombe de vous assurer que votre client Valkey peut utiliser le protocole TLS.
Les instances qui utilisent le chiffrement en transit disposent d'autorités de certification. Vous utilisez les autorités de certification pour authentifier les certificats des machines de vos instances.
Un mode d'autorité de certification que vous pouvez utiliser est une autorité de certification gérée par le client. Vous pouvez utiliser des autorités de certification gérées par le client pour vos instances Memorystore pour Valkey. Si vous devez gérer vos propres autorités de certification pour des raisons de conformité, vous pouvez utiliser ce mode d'autorité de certification. Dans le cadre de l'utilisation de ce mode, vous devez configurer votre propre pool d'autorités de certification hébergé sur Certificate Authority Service.
Avant de pouvoir configurer une instance pour qu'elle utilise des autorités de certification gérées par le client, vous devez créer un pool d'autorités de certification dans la même région que votre instance et au moins une autorité de certification dans ce pool à l'aide du service CA. L'autorité de certification peut être une autorité de certification racine ou une autorité de certification subordonnée. Vous pouvez également créer une autorité de certification subordonnée dans le service CA, puis la chaîner à une autorité de certification racine externe.
Lorsque vous créez votre instance, vous spécifiez le pool d'autorités de certification. Dans le cadre de cette configuration, le compte de service Memorystore pour Valkey spécifique au projet est autorisé à utiliser le pool d'autorités de certification. Le compte de service demande une autorité de certification au pool, et Memorystore pour Valkey l'utilise pour signer le certificat de serveur de l'instance.
Avant de commencer
Avant d'utiliser le mode d'autorité de certification gérée par le client, assurez-vous de respecter les exigences suivantes.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un pool d'autorités de certification et une autorité de certification, demandez à votre administrateur de vous accorder le rôle IAM Gestionnaire d'opérations CA Service (roles/privateca.caManager) sur CA Service.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Workflow pour utiliser une autorité de certification gérée par le client
Pour utiliser une autorité de certification gérée par le client, procédez comme suit :
- Créez un pool d'autorités de certification. Avant de pouvoir configurer une instance pour qu'elle utilise une autorité de certification gérée par le client, vous devez créer un pool d'autorités de certification dans CA Service. Ce pool doit se trouver dans la même région que votre instance.
- Créez une autorité de certification dans le pool d'autorités de certification. Une fois le pool d'autorités de certification créé, vous devez utiliser CA Service pour créer au moins une autorité de certification dans le pool.
- Déléguez l'autorisation au compte de service Memorystore pour Valkey d'émettre des certificats de serveur avec des autorités de certification à partir du pool d'autorités de certification que vous créez.
- Créez une instance pour utiliser l' autorité de certification gérée par le client.
Créer un pool d'autorités de certification
Vous pouvez créer un pool d'autorités de certification dans CA Service dans le même projet que celui dans lequel vous prévoyez de créer vos instances Memorystore pour Valkey, ou dans un autre projet. Toutefois, si vous créez le pool d'autorités de certification dans un autre projet, VPC Service Controls peut vous empêcher de créer des instances, en fonction des règles de votre organisation. Pour résoudre ce problème, assurez-vous que le projet qui héberge le pool d'autorités de certification et l'autorité de certification, ainsi que le projet qui héberge Memorystore pour Valkey appartiennent au même périmètre de service. Pour en savoir plus, consultez la page Périmètres de service : détails et configuration et Gérer les périmètres de service.
Pour créer un pool d'autorités de certification, suivez les instructions de la section Créer un pool d'autorités de certification. Vous pouvez accepter les valeurs par défaut du pool d'autorités de certification, avec les paramètres de configuration obligatoires suivants :
- Créez le pool d'autorités de certification dans la même région que celle dans laquelle vous prévoyez de créer votre instance. Pour obtenir la liste des régions compatibles avec Memorystore pour Valkey, consultez Emplacements de Memorystore pour Valkey.
- Autorisez les demandes de certificat basées sur la configuration.
- Autorisez les noms DNS dans les autres noms d'objet. Lorsque vous configurez les contraintes d'identité du pool d'autorités de certification, ne définissez aucune restriction sur le format des noms DNS qui pourraient entrer en conflit avec ce que Memorystore pour Valkey pourrait ajouter à l'autre nom d'objet.
Créer une autorité de certification dans le pool d'autorités de certification
Créez au moins une autorité de certification dans le pool d'autorités de certification que vous avez créé.
Vous pouvez créer une autorité de certification racine ou une autorité de certification subordonnée.
Pour créer une autorité de certification racine, suivez les instructions de la section Créer une autorité de certification racine. Vous pouvez accepter les valeurs par défaut de l'autorité de certification, mais assurez-vous de la créer à l'état Activé.
Lorsque vous configurez l'algorithme et la taille de clé de l'autorité de certification, vous pouvez sélectionner n'importe quelle taille de clé et n'importe quel algorithme.
Si vous créez une autorité de certification subordonnée, vous devez d'abord créer et configurer votre autorité de certification racine.
Pour créer une autorité de certification subordonnée dans CA Service, suivez les instructions de la section Créer une autorité de certification subordonnée.
Pour créer une autorité de certification subordonnée à partir d'une autorité de certification racine externe, suivez les instructions de la section Créer une autorité de certification subordonnée à partir d'une autorité de certification externe.
Accorder au compte de service l'accès au pool d'autorités de certification
Pour vous assurer que votre compte de service Memorystore pour Valkey est autorisé à demander et à signer des certificats pour vos instances, accordez le rôle roles/privateca.certificateRequester au compte de service pour le pool d'autorités de certification que vous avez créé.
Ce compte de service présente le format suivant :
service-PROJECT_NUMBER@cloud-memorystore.iam.gserviceaccount.com. Remplacez PROJECT_NUMBER par le
numéro de votre Google Cloud projet.
gcloud
Pour accorder au compte de service l'accès au pool d'autorités de certification, utilisez la gcloud privateca pools add-iam-policy-binding
commande.
gcloud privateca pools add-iam-policy-binding CA_POOL_ID \ --project=PROJECT_ID \ --location=REGION_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/privateca.certificateRequester
Effectuez les remplacements suivants :
- CA_POOL_ID : ID du pool d'autorités de certification que vous avez créé.
- PROJECT_ID : ID du Google Cloud projet dans lequel vous souhaitez créer vos instances.
- REGION_ID : région où se trouve le pool d'autorités de certification.
- SERVICE_ACCOUNT_NAME : nom du compte de service Memorystore pour Valkey. Le numéro de projet de ce compte de service est le même que celui associé à PROJECT_ID.
Créer une instance qui utilise une autorité de certification gérée par le client
Console
Suivez les étapes décrites dans Créer des instances.
gcloud
Pour créer une instance qui utilise une autorité de certification gérée par le client, utilisez la gcloud memorystore instances create commande.
gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=customer-managed-cas-ca \
--server-ca-pool="projects/CA_POOL_PROJECT_ID/locations/REGION_ID/caPools/CA_POOL_ID"
Effectuez les remplacements suivants :
INSTANCE_ID : ID de l'instance que vous créez. L'ID de l'instance doit comporter entre 1 et 63 caractères, et ne contenir que des lettres minuscules, des chiffres ou des traits d'union. Il doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre.
REGION_ID : région dans laquelle vous souhaitez que l'instance soit située. Vous devez créer votre instance dans la même région que le pool d'autorités de certification que vous avez créé.
PROJECT_ID : ID du projet dans lequel vous souhaitez créer l' instance.
NETWORK_ID : ID du réseau que vous souhaitez utiliser pour créer l'instance.
REPLICA_COUNT : nombre d'instances répliquées (par segment). Les valeurs acceptées sont comprises entre
0et5.NODE_TYPE : type de nœud. Les valeurs acceptées sont les suivantes :
shared-core-nanostandard-smallhighmem-mediumhighmem-xlarge
SHARD_COUNT : nombre de segments dans l'instance. Le nombre de segments détermine la capacité mémoire totale pour stocker les données de l'instance. Pour en savoir plus sur les spécifications des instances, consultez la section Spécifications des instances et des nœuds.
ENGINE_VERSION : version de l'instance. Les valeurs acceptées pour ce paramètre sont
VALKEY_7_2,VALKEY_8_0etVALKEY_9_0. Si vous ne spécifiez pas de valeur,VALKEY_9_0est la valeur par défaut.VALKEY_9_0MODE : détermine si le mode cluster est activé ou désactivé pour l'instance. Si ce champ est omis, le mode cluster est activé par défaut pour l'instance. Pour en savoir plus, consultez la section Activer et désactiver le mode cluster.
CA_POOL_PROJECT_ID : ID du pool d'autorités de certification que vous avez créé.
REGION_ID : région où se trouve le pool d'autorités de certification. L'instance que vous créez et le pool d'autorités de certification doivent se trouver dans la même région.
CA_POOL_ID : ID du pool d'autorités de certification que vous avez créé.
Le paramètre server-ca-mode représente le mode d'autorité de certification de l'instance. Pour une autorité de certification gérée par le client, customer-managed-cas-ca est la valeur du paramètre.
Si vous n'utilisez pas ce paramètre, le mode d'autorité de certification par défaut est par instance.
Exemple :
gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=customer-managed-cas-ca \
--server-ca-pool="projects/my-CA-pool-project/locations/us-central1/caPools/my-CA-pool"
Effectuer une rotation des certificats de serveur de l'instance
En plus de la rotation hebdomadaire des certificats côté serveur effectuée par Memorystore pour Valkey, vous pouvez effectuer une rotation des certificats à la demande.
gcloud
Pour effectuer une rotation des certificats de serveur pour toutes les machines d'une instance, utilisez la
gcloud memorystore instances update
commande.
gcloud memorystore instances update INSTANCE_ID \ --location=REGION_ID \ --rotate-server-certificate
Effectuez les remplacements suivants :
- INSTANCE_ID : ID de l'instance contenant les machines pour lesquelles vous souhaitez effectuer une rotation des certificats de serveur
- REGION_ID : région où se trouve l'instance
Exemple :
gcloud memorystore instances update my-instance \ --location=us-central1 \ --rotate-server-certificate
Limites
Les limites suivantes s'appliquent lorsque vous utilisez des autorités de certification gérées par le client avec Memorystore pour Valkey :
- Une fois que vous avez configuré une autorité de certification gérée par le client pour une instance, vous ne pouvez plus modifier la configuration. Par exemple, vous ne pouvez pas modifier l'ID du pool d'autorités de certification pour l'instance.
- Ne supprimez pas le pool d'autorités de certification géré par le client ni ne révoquez les autorisations du compte de service associées à l'autorité de certification. Si vous le faites, les certificats de serveur ne pourront pas être renouvelés et expireront. Par conséquent, vos applications clientes ne pourront pas se connecter à l'instance.
Résoudre les problèmes
Cette section répertorie les messages d'erreur que vous pouvez recevoir lorsque vous utilisez des autorités de certification gérées par le client et inclut des conseils pour résoudre ces messages.
| Message d'erreur | Cause | Résoudre les problèmes |
|---|---|---|
FAILED_PRECONDITION: GetClusterCertificateAuthority not
supported for customer-managed CAs |
Si vous utilisez une autorité de certification gérée par le client, vous ne pouvez pas utiliser Memorystore pour Valkey pour récupérer les certificats d'autorité de certification. | Pour obtenir les certificats d'autorité de certification pour une autorité de certification gérée par le client, vous devez utiliser le CA Service. |
Server certificate rotation can only be triggered for
customer-managed CAs. |
Vous tentez d'effectuer une rotation des certificats de serveur pour une instance, mais le mode d'autorité de certification de l'instance est par instance ou partagé. | Vous ne pouvez pas effectuer de rotation des certificats de serveur, sauf si le mode que vous utilisez pour une instance est géré par le client. |
Invalid format for server CA pool: {CA pool resource}. Expected
projects/{project}/locations/{location}/caPools/{caPool}. |
Le pool d'autorités de certification que vous utilisez pour créer l'instance présente un format non valide. | Pour le pool d'autorités de certification, utilisez le format suivant : projects/CA_POOL_PROJECT_ID/locations/REGION_ID/ caPools/CA_POOL_ID |
The instance/cluster's server CA pool must be in the same region
as the instance/cluster. CA Pool region: {CA pool region}, Instance/cluster
region: {cluster region}. |
Vous tentez de créer une instance située dans une région différente de celle du pool d'autorités de certification. | Assurez-vous que l'instance que vous créez et votre pool d'autorités de certification se trouvent dans la même région. |
Request is prohibited by organization's policy for CA Pool
{CA pool ID}. |
Le Google Cloud projet qui héberge le pool d'autorités de certification et le projet qui héberge l'instance ne se trouvent pas dans le même périmètre de service. | Configurez VPC Service Controls afin que les projets appartiennent au même périmètre de service. |
Permission privateca.certificates.create denied on {CA pool ID}.
Make sure that you granted the roles/privateca.certificateRequester role
to the service account {P4SA email}. |
Le compte de service Memorystore pour Valkey ne dispose pas du
roles/privateca.certificateRequester rôle pour le pool d'autorités de certification. Par
conséquent, Memorystore pour Valkey ne peut pas générer de certificats de serveur. |
Accordez le rôle roles/privateca.certificateRequester au
compte de service. Pour en savoir plus, consultez la section Accorder au compte de service
l'accès au pool d'autorités de certification. |
Resource {CA pool ID} not found. |
Memorystore pour Valkey ne trouve pas le pool d'autorités de certification que vous avez spécifié lorsque vous avez tenté de créer l'instance. | Vérifiez l'ID, l'emplacement et le nom du projet du pool d'autorités de certification. |
There are no enabled CAs in the CaPool {CA pool ID}. Please
ensure that there is at least one enabled Certificate Authority to issue a
certificate. |
Aucune autorité de certification n'est activée dans le pool d'autorités de certification. Memorystore pour Valkey ne peut pas générer de certificats de serveur pour l'instance. | Assurez-vous de créer au moins une autorité de certification dans le pool d'autorités de certification et que l' autorité de certification est à l'état Activé. |
Quota exhausted for CA Service. Check quotas
for the project hosting the CA Pool: {CA pool ID}. |
Vous avez dépassé le quota pour CA Service dans le Google Cloud projet qui héberge le pool d'autorités de certification. Memorystore pour Valkey ne peut pas effectuer d'opérations nécessitant ce service. | Vérifiez le quota pour CA Service dans votre projet. Pour en savoir plus, consultez la page Quotas et limites. |
server_ca_pool must be provided when server_ca_mode is
SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
Vous tentez de créer une instance qui utilise le mode d'autorité de certification gérée par le client. Toutefois, vous n'avez pas fourni d'informations sur le pool d'autorités de certification. | Spécifiez l'ID, l'emplacement et le nom du projet du pool d'autorités de certification. |
server_ca_pool must not be provided when server_ca_mode is not SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
Vous tentez de créer une instance qui utilise le mode d'autorité de certification par instance ou
partagé. Ces modes d'autorité de certification n'utilisent pas le server_ca_pool
paramètre. |
Vous ne pouvez pas utiliser ce paramètre, sauf si le mode d'autorité de certification est géré par le client. |