Chiffrement dans Amazon OpenSearch Serverless - Amazon OpenSearch Service

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.

Chiffrement dans Amazon OpenSearch Serverless

Chiffrement au repos

Chaque collection Amazon OpenSearch Serverless que vous créez est protégée par le chiffrement des données au repos, une fonctionnalité de sécurité qui permet d'empêcher tout accès non autorisé à vos données. Encryption at rest utilise AWS Key Management Service (AWS KMS) pour stocker et gérer vos clés de chiffrement. Il utilise l'algorithme Advanced Encryption Standard avec des clés 256 bits (AES-256) afin de procéder au chiffrement.

Stratégies de chiffrement

Les stratégies de chiffrement vous permettent de gérer de nombreuses collections à grande échelle en attribuant automatiquement une clé de chiffrement aux collections nouvellement créées qui correspondent à un nom ou à un modèle spécifique.

Lorsque vous créez une stratégie de chiffrement, vous pouvez soit spécifier un préfixe, qui est une règle de correspondance basée sur des caractères génériques, par exemple MyCollection*, soit saisir un nom de collection unique. Ensuite, lorsque vous créez une collection correspondant à ce nom ou à ce modèle de préfixe, la stratégie et la clé KMS correspondante lui sont automatiquement attribuées.

Les stratégies de chiffrement comportent les éléments suivants :

  • Rules : une ou plusieurs règles de correspondance des collections, chacune comportant les sous-éléments suivants :

    • ResourceType : à l'heure actuelle, la seule option est « collection ». Les stratégies de chiffrement s'appliquent uniquement aux ressources de collection.

    • Resource : un ou plusieurs noms ou modèles de collection auxquels la stratégie s'appliquera, au format collection/<collection name|pattern>.

  • AWSOwnedKey : si une Clé détenue par AWS doit être utilisée.

  • KmsARN : si vous définissez AWSOwnedKey sur false (faux), spécifiez l'Amazon Resource Name (ARN) de la clé KMS avec laquelle chiffrer les collections associées. Si vous incluez ce paramètre, OpenSearch Serverless l'AWSOwnedKeyignore.

L'exemple de stratégie suivant attribuera une clé gérée par le client à toute collection future nommée autopartsinventory, ainsi qu'aux collections commençant par le terme « sales » (ventes) :

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Même si une stratégie correspond au nom d'une collection, vous pouvez choisir de remplacer cette attribution automatique lors de la création de la collection si le modèle de ressource contient un caractère générique (*). Si vous choisissez de remplacer l'attribution automatique des clés, OpenSearch Serverless crée pour vous une politique de chiffrement nommée auto-< collection-name > et l'attache à la collection. La stratégie ne s'applique initialement qu'à une seule collection, mais vous pouvez la modifier pour inclure des collections supplémentaires.

Si vous modifiez les règles de stratégie pour qu'elles ne correspondent plus à une collection, la clé KMS associée ne sera pas dissociée de cette collection. La collection reste toujours chiffrée à l'aide de sa clé de chiffrement initiale. Si vous souhaitez modifier la clé de chiffrement d'une collection, vous devez recréer la collection.

Si les règles de plusieurs stratégies correspondent à une collection, la règle la plus spécifique est utilisée. Par exemple, si une stratégie contient une règle pour collection/log* et une autre pour collection/logSpecial, la clé de chiffrement de la seconde stratégie est utilisée, car elle est plus spécifique.

Vous ne pouvez pas utiliser de nom ou de préfixe dans une politique s'il existe déjà dans une autre stratégie. OpenSearch Serverless affiche une erreur si vous essayez de configurer des modèles de ressources identiques dans différentes politiques de chiffrement.

Considérations

Tenez compte des éléments suivants lorsque vous configurez le chiffrement de vos collections :

  • Le chiffrement au repos est requis pour toutes les collections sans serveur.

  • Vous avez la possibilité d'utiliser une clé gérée par le client ou une Clé détenue par AWS. Si vous choisissez une clé gérée par le client, nous vous recommandons d'activer la rotation automatique des clés.

  • Vous ne pouvez pas modifier la clé de chiffrement d'une collection après la création de la collection. Choisissez soigneusement celle que vous AWS KMS souhaitez utiliser la première fois que vous configurez une collection.

  • Une collection ne peut correspondre qu'à une seule stratégie de chiffrement.

  • Les collections dotées de clés KMS uniques ne peuvent pas partager d'unités de OpenSearch calcul (OCU) avec d'autres collections. Chaque collection dotée d'une clé unique nécessite ses propres quatre OCU.

  • Si vous mettez à jour la clé KMS dans une stratégie de chiffrement, la modification n'affecte pas les collections correspondantes existantes auxquelles des clés KMS ont déjà été attribuées.

  • OpenSearch Serverless ne vérifie pas explicitement les autorisations des utilisateurs sur les clés gérées par le client. Si un utilisateur est autorisé à accéder à une collection par le biais d'une stratégie d'accès aux données, il pourra ingérer et interroger les données chiffrées à l'aide de la clé associée.

Autorisations nécessaires

Le chiffrement au repos pour OpenSearch Serverless utilise les autorisations AWS Identity and Access Management (IAM) suivantes. Vous pouvez spécifier des conditions IAM pour restreindre les utilisateurs à des collections spécifiques.

  • aoss:CreateSecurityPolicy : créer une stratégie de chiffrement.

  • aoss:ListSecurityPolicies : répertorier toutes les stratégies de chiffrements et collections auxquelles elles sont associées.

  • aoss:GetSecurityPolicy : consulter les détails d'une stratégie de chiffrement spécifique.

  • aoss:UpdateSecurityPolicy : modifier une stratégie de chiffrement.

  • aoss:DeleteSecurityPolicy : supprimer une stratégie de chiffrement.

L'exemple de stratégie d'accès basée sur l'identité suivant fournit les autorisations minimales nécessaires à un utilisateur pour gérer les stratégies de chiffrement à l'aide du modèle de ressource collection/application-logs.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "aoss:CreateSecurityPolicy", "aoss:UpdateSecurityPolicy", "aoss:DeleteSecurityPolicy", "aoss:GetSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"application-logs" } } }, { "Effect":"Allow", "Action":[ "aoss:ListSecurityPolicies" ], "Resource":"*" } ] }

Politique de clé pour une clé gérée par le client

Si vous sélectionnez une clé gérée par le client pour protéger une collection, OpenSearch Serverless obtient l'autorisation d'utiliser la clé KMS au nom du principal qui effectue la sélection. Ce principal, un utilisateur ou un rôle, doit disposer des autorisations sur la clé KMS requises par OpenSearch Serverless. Vous pouvez fournir ces autorisations dans une stratégie de clé ou une politique IAM.

OpenSearch Serverless nécessite au minimum les autorisations suivantes sur une clé gérée par le client :

Par exemple :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aoss.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

OpenSearch Serverless crée une subvention avec les autorisations kms : GenerateDataKey et KMS:Decrypt.

Pour de plus amples informations, veuillez consulter Utilisation des politiques de clé AWS KMS dans le AWS Key Management Service Guide du développeur.

Comment OpenSearch Serverless utilise les subventions dans AWS KMS

OpenSearch Serverless nécessite une autorisation pour utiliser une clé gérée par le client.

Lorsque vous créez une politique de chiffrement dans votre compte avec une nouvelle clé, OpenSearch Serverless crée une subvention en votre nom en envoyant une CreateGrantdemande à AWS KMS. AWS KMS Les autorisations sont utilisées pour donner un accès OpenSearch sans serveur à une clé KMS dans un compte client.

OpenSearch Serverless nécessite l'autorisation d'utiliser votre clé gérée par le client pour les opérations internes suivantes :

  • Envoyez DescribeKeydes demandes AWS KMS à pour vérifier que l'ID de clé symétrique géré par le client fourni est valide.

  • Envoyez GenerateDataKeydes demandes à KMS Key pour créer des clés de données avec lesquelles chiffrer des objets.

  • Envoyez des demandes de déchiffrement AWS KMS à pour déchiffrer les clés de données chiffrées afin qu'elles puissent être utilisées pour chiffrer vos données.

Vous pouvez révoquer l'accès à l'octroi ou supprimer l'accès du service à la clé gérée par le client à tout moment. Si vous le faites, OpenSearch Serverless ne pourra accéder à aucune des données chiffrées par la clé gérée par le client, ce qui affectera toutes les opérations qui dépendent de ces données, entraînant des AccessDeniedException erreurs et des échecs dans les flux de travail asynchrones.

OpenSearch Serverless retire les autorisations dans un flux de travail asynchrone lorsqu'une clé gérée par le client n'est associée à aucune politique de sécurité ou à aucune collection.

Créer des stratégies de chiffrement (console)

Dans une stratégie de chiffrement, vous spécifiez une clé KMS et une série de modèles de collection auxquels la stratégie s'appliquera. Toutes les nouvelles collections correspondant à l'un des modèles définis dans la stratégie se verront attribuer les clés KMS correspondantes lors de la création de la collection. Nous vous recommandons de créer des stratégies de chiffrement avant de commencer à créer des collections.

Pour créer une politique de chiffrement OpenSearch sans serveur
  1. Ouvrez la console Amazon OpenSearch Service à l'adresse https://console.aws.amazon.com/aos/home.

  2. Dans le panneau de navigation de gauche, développez Serverless (Sans serveur) et choisissez Encryption policies (Stratégies de chiffrement).

  3. Choisissez Create encryption policy (Créer une stratégie de chiffrement).

  4. Saisissez un nom et une description pour la stratégie.

  5. Sous Resources (Ressources), saisissez un ou plusieurs modèles de ressources pour cette stratégie de chiffrement. Toutes les collections nouvellement créées sur le Compte AWS et dans la région actuels qui correspondent à l'un des modèles sont automatiquement attribuées à cette stratégie. Par exemple, si vous saisissez ApplicationLogs (sans caractère générique) et que vous créez ultérieurement une collection portant ce nom, la stratégie et la clé KMS correspondante sont attribuées à cette collection.

    Vous pouvez également fournir un préfixe tel que Logs*, qui attribue la stratégie à toute nouvelle collection dont le nom commence par Logs. En utilisant des caractères génériques, vous pouvez gérer les paramètres de chiffrement de plusieurs collections à grande échelle.

  6. Sous Encryption (Chiffrement), choisissez une clé KMS à utiliser.

  7. Choisissez Créer.

Étape suivante : créer des collections

Après avoir configuré une ou plusieurs stratégies de chiffrement, vous pouvez commencer à créer des collections qui correspondent aux règles définies dans ces stratégies. Pour obtenir des instructions, veuillez consulter Créer des collections.

À l'étape Chiffrements de la création de la collection, OpenSearch Serverless vous informe que le nom que vous avez saisi correspond au modèle défini dans une politique de chiffrement et attribue automatiquement la clé KMS correspondante à la collection. Si le modèle de ressource contient un caractère générique (*), vous pouvez choisir de remplacer la correspondance et de sélectionner votre propre clé.

Créer des stratégies de chiffrement (AWS CLI)

Pour créer une politique de chiffrement à l'aide des opérations de l'API OpenSearch Serverless, vous devez spécifier des modèles de ressources et une clé de chiffrement au format JSON. La CreateSecurityPolicydemande accepte à la fois les politiques intégrées et les fichiers .json.

Les stratégies de chiffrement prennent le format suivant. Cet exemple de fichier my-policy.json correspond à toute future collection nommée autopartsinventory, ainsi qu'à toutes les collections dont le nom commence par sales.

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Pour utiliser une clé appartenant au service, définissez AWSOwnedKey sur true :

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":true }

La requête suivante crée la stratégie de chiffrement :

aws opensearchserverless create-security-policy \ --name sales-inventory \ --type encryption \ --policy file://my-policy.json

Utilisez ensuite l'opération CreateCollectionAPI pour créer une ou plusieurs collections correspondant à l'un des modèles de ressources.

Affichage des stratégies de chiffrement

Avant de créer une collection, vous souhaiterez peut-être prévisualiser les stratégies de chiffrement existantes dans votre compte pour voir laquelle possède un modèle de ressource correspondant au nom de votre collection. La ListSecurityPoliciesdemande suivante répertorie toutes les politiques de chiffrement de votre compte :

aws opensearchserverless list-security-policies --type encryption

La requête renvoie des informations sur toutes les stratégies de chiffrement configurées. Utilisez le contenu de l'élément policy pour consulter les règles de modèle définies dans la stratégie :

{ "securityPolicyDetails": [ { "createdDate": 1663693217826, "description": "Sample encryption policy", "lastModifiedDate": 1663693217826, "name": "my-policy", "policy": "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"]}],\"AWSOwnedKey\":true}", "policyVersion": "MTY2MzY5MzIxNzgyNl8x", "type": "encryption" } ] }

Pour afficher des informations détaillées sur une politique spécifique, y compris la clé KMS, utilisez la GetSecurityPolicycommande.

Mise à jour des stratégies de chiffrement

Si vous mettez à jour la clé KMS dans une stratégie de chiffrement, la modification s'applique uniquement aux collections nouvellement créées qui correspondent au nom ou au modèle configuré. Cela n'affecte pas les collections existantes auxquelles des clés KMS ont déjà été attribuées.

Il en va de même des règles de correspondance de stratégie. Si vous ajoutez, modifiez ou supprimez une règle, la modification ne s'applique qu'aux collections nouvellement créées. Les collections existantes ne perdent pas la clé KMS qui leur est attribuée si vous modifiez les règles d'une stratégie afin qu'elle ne corresponde plus au nom d'une collection.

Pour mettre à jour une politique de chiffrement dans la console OpenSearch Serverless, choisissez Politiques de chiffrement, sélectionnez la politique à modifier, puis choisissez Modifier. Effectuez les modifications souhaitées, puis choisissez Save (Enregistrer).

Pour mettre à jour une politique de chiffrement à l'aide de l'API OpenSearch Serverless, utilisez l'UpdateSecurityPolicyopération. La requête suivante met à jour une stratégie de chiffrement avec un nouveau document JSON de stratégie :

aws opensearchserverless update-security-policy \ --name sales-inventory \ --type encryption \ --policy-version 2 \ --policy file://my-new-policy.json

Supprimer des stratégies de chiffrement

Lorsque vous supprimez une stratégie de chiffrement, toutes les collections qui utilisent actuellement la clé KMS définie dans la stratégie ne sont pas affectées. Pour supprimer une politique dans la console OpenSearch Serverless, sélectionnez-la, puis choisissez Supprimer.

Vous pouvez également utiliser l'DeleteSecurityPolicyopération :

aws opensearchserverless delete-security-policy --name my-policy --type encryption

Chiffrement en transit

Dans OpenSearch Serverless, tous les chemins d'une collection sont chiffrés en transit à l'aide du protocole TLS (Transport Layer Security) avec un algorithme de chiffrement AES-256 conforme aux normes du secteur. L'accès à toutes les API et à tous les tableaux de bord pour Opensearch se fait également via TLS 1.2. Le protocole TLS est un ensemble de protocoles cryptographiques conformes aux normes de l'industrie utilisés pour chiffrer les informations échangées sur le réseau.