Crittografia in Amazon OpenSearch Serverless - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crittografia in Amazon OpenSearch Serverless

Crittografia a riposo

Ogni raccolta Amazon OpenSearch Serverless che crei è protetta con la crittografia dei dati inattivi, una funzionalità di sicurezza che aiuta a prevenire l'accesso non autorizzato ai tuoi dati. Encryption at rest utilizza AWS Key Management Service (AWS KMS) per archiviare e gestire le chiavi di crittografia. Per eseguire la crittografia, utilizza l'algoritmo Advanced Encryption Standard con chiavi a 256 bit (AES-256).

Policy di crittografia

Con le policy di crittografia è possibile gestire molte raccolte su larga scala assegnando automaticamente una chiave di crittografia alle raccolte appena create che corrispondono a un nome o a un modello specifico.

Quando si crea una policy di crittografia, è possibile specificare un prefisso, ossia una regola di corrispondenza basata su caratteri jolly come MyCollection*, oppure inserire un unico nome di raccolta. Quindi, quando si crea una raccolta che corrisponde a tale modello di prefisso o nome, ad essa vengono assegnate automaticamente la policy e la chiave KMS corrispondenti.

Le policy di crittografia contengono i seguenti elementi:

  • Rules: una o più regole di abbinamento delle raccolte, ciascuna con i seguenti sottoelementi:

    • ResourceType: attualmente l'unica opzione è "raccolta". Le policy di crittografia si applicano solo alle risorse di raccolta.

    • Resource: uno o più nomi o modelli di raccolta a cui si applicherà la policy, nel formato collection/<collection name|pattern>.

  • AWSOwnedKey: se usare o meno una Chiave di proprietà di AWS.

  • KmsARN: se impostati AWSOwnedKey su falso, specifica il nome della risorsa Amazon (ARN) della chiave KMS con cui crittografare le raccolte associate. Se si include questo parametro, OpenSearch Serverless ignora il AWSOwnedKey parametro.

La seguente policy di esempio assegnerà una chiave gestita dal cliente a qualsiasi raccolta futura denominata autopartsinventory, nonché alle raccolte che iniziano con il termine "vendite":

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

Anche se una policy corrisponde al nome di una raccolta, è possibile scegliere di sovrascrivere tale assegnazione automatica durante la creazione della raccolta se il modello di risorsa contiene un carattere jolly (*). Se scegli di ignorare l'assegnazione automatica delle chiavi, OpenSearch Serverless crea per te una politica di crittografia denominata auto-< collection-name > e la allega alla raccolta. La policy inizialmente si applica solo a una singola raccolta, ma è possibile modificarla per includere raccolte aggiuntive.

Se modifichi le regole delle policy in modo che non corrispondano più a una raccolta, la chiave KMS associata non verrà annullata da tale raccolta. La raccolta rimane sempre crittografata con la sua chiave di crittografia iniziale. Se desideri modificare la chiave di crittografia per una raccolta, è necessario creare nuovamente la raccolta.

Se a una raccolta corrispondono le regole di più policy, viene utilizzata la regola più specifica. Ad esempio, se una policy contiene una regola per collection/log* e un'altra per collection/logSpecial, la chiave di crittografia per la seconda policy viene utilizzata in quanto è più specifica.

Non è possibile utilizzare un nome o un prefisso in una politica se esiste già in un'altra politica. OpenSearch Serverless visualizza un errore se si tenta di configurare modelli di risorse identici in diverse politiche di crittografia.

Considerazioni

Quando configuri la crittografia per le tue raccolte considera quanto segue:

  • La crittografia dei dati inattivi è obbligatoria per tutte le raccolte serverless.

  • Hai la possibilità di utilizzare una chiave gestita dal cliente o una Chiave di proprietà di AWS. Se scegli una chiave gestita dal cliente, ti consigliamo di abilitare la rotazione automatica delle chiavi.

  • Dopo la creazione di una raccolta non è possibile modificarne la chiave di crittografia. Scegliete con AWS KMS attenzione quale utilizzare la prima volta che configurate una raccolta.

  • Una raccolta può corrispondere solo a una singola policy di crittografia.

  • Le raccolte con chiavi KMS uniche non possono condividere le unità di OpenSearch calcolo (OCU) con altre raccolte. Ogni raccolta con una chiave univoca richiede le proprie 4 OCU.

  • Se aggiorni la chiave KMS in una policy di crittografia, la modifica non influirà sulle corrispondenti raccolte esistenti a cui sono state già assegnate chiavi KMS.

  • OpenSearch Serverless non controlla esplicitamente le autorizzazioni degli utenti sulle chiavi gestite dal cliente. Se un utente dispone delle autorizzazioni per accedere a una raccolta tramite una policy di accesso ai dati, sarà in grado di inserire e interrogare i dati crittografati con la chiave associata.

Autorizzazioni richieste

Encryption at rest for OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management (IAM). È possibile specificare le condizioni IAM per limitare gli utenti a raccolte specifiche.

  • aoss:CreateSecurityPolicy: crea una policy di crittografia.

  • aoss:ListSecurityPolicies: elenca tutte le policy e le raccolte di crittografia a cui sono allegate.

  • aoss:GetSecurityPolicy: visualizza i dettagli di una policy di crittografia specifica.

  • aoss:UpdateSecurityPolicy: modifica una policy di crittografia.

  • aoss:DeleteSecurityPolicy: elimina una policy di crittografia.

Il seguente esempio di policy di accesso basata sull'identità fornisce le autorizzazioni minime necessarie all'utente per gestire le policy di crittografia con il modello di risorsa 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":"*" } ] }

Policy delle chiavi per una chiave gestita dal cliente

Se si seleziona una chiave gestita dal cliente per proteggere una raccolta, OpenSearch Serverless ottiene l'autorizzazione a utilizzare la chiave KMS per conto del principale che effettua la selezione. Tale principale, un utente o un ruolo, deve disporre delle autorizzazioni sulla chiave KMS richieste da Serverless. OpenSearch Puoi fornire queste autorizzazioni in una policy delle chiavi o in una policy IAM.

OpenSearch Serverless richiede almeno le seguenti autorizzazioni su una chiave gestita dal cliente:

Per esempio:

{ "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 crea una concessione con le autorizzazioni kms: GenerateDataKey e kms:decrypt.

Per ulteriori informazioni, consulta Utilizzo delle policy delle chiavi in AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service .

In OpenSearch che modo Serverless utilizza le sovvenzioni in AWS KMS

OpenSearch Serverless richiede una concessione per utilizzare una chiave gestita dal cliente.

Quando crei una politica di crittografia nel tuo account con una nuova chiave, OpenSearch Serverless crea una concessione per tuo conto inviando una CreateGrantrichiesta a. AWS KMS Le concessioni AWS KMS vengono utilizzate per fornire a OpenSearch Serverless l'accesso a una chiave KMS in un account cliente.

OpenSearch Serverless richiede la concessione per utilizzare la chiave gestita dal cliente per le seguenti operazioni interne:

  • Invia DescribeKeyrichieste AWS KMS a per verificare che l'ID della chiave gestita dal cliente simmetrico fornito sia valido.

  • Invia GenerateDataKeyle richieste alla chiave KMS per creare chiavi di dati con cui crittografare gli oggetti.

  • Invia richieste Decrypt a per AWS KMS decrittografare le chiavi di dati crittografate in modo che possano essere utilizzate per crittografare i dati.

Puoi revocare l'accesso alla concessione o rimuovere l'accesso del servizio alla chiave gestita dal cliente in qualsiasi momento. In tal caso, OpenSearch Serverless non sarà in grado di accedere a nessuno dei dati crittografati dalla chiave gestita dal cliente, il che influirà su tutte le operazioni che dipendono da tali dati, causando AccessDeniedException errori e guasti nei flussi di lavoro asincroni.

OpenSearch Serverless annulla le sovvenzioni in un flusso di lavoro asincrono quando una determinata chiave gestita dal cliente non è associata a politiche o raccolte di sicurezza.

Creazione di policy di crittografia (console)

In una policy di crittografia, si specifica una chiave KMS e una serie di modelli di raccolta a cui verrà applicata la policy. A qualsiasi nuova raccolta che corrisponde a uno dei modelli definiti nella policy verrà assegnata la chiave KMS corrispondente al momento della creazione della raccolta. Consigliamo di creare policy di crittografia prima di iniziare a creare raccolte.

Per creare una politica di crittografia Serverless OpenSearch
  1. Apri la console Amazon OpenSearch Service all'indirizzo https://console.aws.amazon.com/aos/home.

  2. Nel pannello di navigazione a sinistra, espandi Serverless e scegli Encryption policies (Policy di crittografia).

  3. Scegli Create encryption policy (Crea policy di crittografia).

  4. Fornisci un nome e una descrizione per la policy.

  5. In Resources (Risorse), inserisci uno o più modelli di risorse per questa policy di crittografia. Tutte le nuove raccolte create nella Regione e nell' Account AWS attuali che corrispondono a uno dei modelli vengono automaticamente assegnate a questa policy. Ad esempio, se inserisci ApplicationLogs (senza caratteri jolly) e successivamente crei una raccolta con quel nome, la policy e la chiave KMS corrispondente vengono assegnate a tale raccolta.

    Puoi anche fornire un prefisso, ad esempio Logs*, che assegni la policy a tutte le nuove raccolte i cui nomi iniziano con Logs. Utilizzando i caratteri jolly, puoi gestire le impostazioni di crittografia per varie raccolte su larga scala.

  6. In Encryption (Crittografia), scegli una chiave KMS da usare.

  7. Seleziona Create (Crea).

Fase successiva: creazione di raccolte

Dopo aver configurato una o più policy di crittografia, puoi iniziare a creare raccolte che corrispondono alle regole definite in tali policy. Per istruzioni, consulta Creazione di raccolte.

Nella fase di crittografia della creazione della raccolta, OpenSearch Serverless ti informa che il nome che hai inserito corrisponde al modello definito in una politica di crittografia e assegna automaticamente la chiave KMS corrispondente alla raccolta. Se il modello di risorsa contiene un carattere jolly (*), puoi scegliere di ignorare la corrispondenza e selezionare la tua chiave.

Creazione di policy di crittografia (AWS CLI)

Per creare una politica di crittografia utilizzando le operazioni dell'API OpenSearch Serverless, si specificano modelli di risorse e una chiave di crittografia in formato JSON. La CreateSecurityPolicyrichiesta accetta sia le politiche in linea che i file.json.

Le policy di crittografia assumono il formato seguente. Questo file my-policy.json di esempio corrisponde a qualsiasi raccolta futura denominata autopartsinventory, nonché a qualsiasi raccolta con nomi che iniziano con 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" }

Per utilizzare una chiave di proprietà del servizio, imposta AWSOwnedKey su true:

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

La seguente richiesta crea la policy di crittografia:

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

Quindi, utilizzate l'operazione CreateCollectionAPI per creare una o più raccolte che corrispondono a uno dei modelli di risorse.

Visualizzazione delle policy di crittografia

Prima di creare una raccolta, hai la possibilità di visualizzare in anteprima le policy di crittografia esistenti nel tuo account per vedere quali hanno uno schema di risorse che corrisponde al nome della raccolta. La seguente ListSecurityPoliciesrichiesta elenca tutte le politiche di crittografia del tuo account:

aws opensearchserverless list-security-policies --type encryption

La richiesta restituisce informazioni su tutte le policy di crittografia configurate. Utilizza i contenuti dell'elemento policy per visualizzare le regole del modello definite nella policy:

{ "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" } ] }

Per visualizzare informazioni dettagliate su una politica specifica, inclusa la chiave KMS, usa il GetSecurityPolicycomando.

Aggiornamento di policy di crittografia

Se aggiorni la chiave KMS in una policy di crittografia, la modifica verrà applicata solo alle raccolte appena create che corrispondono al nome o al modello configurato. Non influisce sulle raccolte esistenti a cui sono già assegnate chiavi KMS.

Lo stesso vale per le regole di abbinamento delle policy. Se aggiungi, modifichi o elimini una regola, la modifica si applica solo alle raccolte appena create. Se modifichi le regole di una policy in modo che non corrisponda più al nome di una raccolta, le raccolte esistenti non perdono la chiave KMS assegnata.

Per aggiornare una politica di crittografia nella console OpenSearch Serverless, scegli Politiche di crittografia, seleziona la politica da modificare e scegli Modifica. Apporta le modifiche necessarie, quindi scegli Save (Salva).

Per aggiornare una politica di crittografia utilizzando l'API OpenSearch Serverless, utilizza l'UpdateSecurityPolicyoperazione. La seguente richiesta aggiorna una policy di crittografia con un nuovo documento JSON della policy:

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

Eliminazione delle policy di crittografia

Quando elimini una policy di crittografia, tutte le raccolte che attualmente utilizzano la chiave KMS definita nella policy non saranno modificate. Per eliminare una policy nella console OpenSearch Serverless, seleziona la policy e scegli Elimina.

Puoi anche utilizzare l'DeleteSecurityPolicyoperazione:

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

Crittografia in transito

In OpenSearch Serverless, tutti i percorsi di una raccolta sono crittografati in transito utilizzando Transport Layer Security 1.2 (TLS) con un codice AES-256 standard di settore. L'accesso a tutte le API e le dashboard per Opensearch avviene anche tramite TLS 1.2. TLS è un insieme di protocolli crittografici standard del settore utilizzati per crittografare le informazioni scambiate sulla rete.