Sicurezza di CloudWatch Investigations
Questa sezione include argomenti su come CloudWatch Investigations si integra con le funzionalità di sicurezza e le autorizzazioni di AWS.
Argomenti
Autorizzazioni, conservazione e crittografia predefinite di CloudWatch Investigations
Quando esegui indagini utilizzando le impostazioni predefinite senza configurazioni aggiuntive nell'account, l'indagine utilizza le autorizzazioni disponibili per la sessione corrente della console e accede ai dati di telemetria utilizzando esclusivamente le autorizzazioni di sola lettura. Non sono richieste policy di configurazione o autorizzazione dei ruoli IAM del gruppo di indagine. Tuttavia, ciò significa che l'accesso dell'indagine ai dati è limitato dalle autorizzazioni dell'utente registrato.
Questa indagine è disponibile solo per lo stesso utente che l'ha avviata. L'indagine è disponibile per la visualizzazione solo per un periodo di 24 ore, dopodiché viene eliminata senza che sia disponibile alcuna opzione di ripristino.
I dati dell'indagine vengono crittografati a riposo con una chiave di proprietà di AWS. Non è possibile visualizzare o gestire le chiavi di proprietà di AWS e non è possibile utilizzarle per altri scopi o verificarne l'utilizzo. Tuttavia, non devi effettuare alcuna operazione né modificare impostazioni per utilizzare queste chiavi. Per ulteriori informazioni, consulta AWS KMS keys.
Autorizzazioni utente per il gruppo di indagine CloudWatch
AWS ha creato tre policy IAM gestite che puoi utilizzare per gli utenti che lavoreranno con il tuo gruppo di indagine CloudWatch.
-
AIOpsConsoleAdminPolicy: concede a un amministratore la possibilità di configurare CloudWatch Investigations nell'account, l'accesso alle operazioni di CloudWatch Investigations, la gestione della propagazione delle identità attendibili e la gestione dell'integrazione con Centro identità IAM e l'accesso organizzativo.
-
AIOpsOperatorAccess: consente a un utente l'accesso alle operazioni di indagine, incluso l'avvio di un'indagine. Concede inoltre le autorizzazioni aggiuntive necessarie per accedere agli eventi di indagine.
-
AIOpsReadOnlyAccess: concede autorizzazioni di sola lettura per CloudWatch Investigations e altri servizi correlati.
Ti consigliamo di utilizzare tre principali IAM, concedendo a uno di essi la policy IAM AIOpsConsoleAdminPolicy, al secondo la policy AIOpsOperatorAccess e al terzo la policy AIOpsReadOnlyAccess. Questi principali potrebbero essere ruoli IAM (consigliato) o utenti IAM. Quindi i tuoi utenti che lavorano con CloudWatch Investigations, accederanno utilizzando uno di questi principali.
Autorizzazioni aggiuntive per Database Insights
Per utilizzare le funzionalità di Database Insights durante le indagini, devi collegare la policy gestita AmazonRDSPerformanceInsightsFullAccess al ruolo o all'utente IAM che utilizzi per eseguire le indagini. CloudWatch Investigations richiede queste autorizzazioni per creare e accedere ai report di analisi delle prestazioni per le istanze di database Amazon RDS.
Per collegare questa policy, utilizza la console IAM per aggiungere la policy gestita AmazonRDSPerformanceInsightsFullAccess al principale dell'indagine. Per ulteriori informazioni su questa policy gestita e sulle relative autorizzazioni, consulta AmazonRDSPerformanceInsightsFullAccess.
Come controllare a quali dati ha accesso CloudWatch Investigations durante le indagini
Quando configuri un gruppo di indagine nel tuo account, specifichi le autorizzazioni di cui CloudWatch Investigations dispone per accedere alle tue risorse durante le indagini. Puoi farlo assegnando un ruolo IAM al gruppo di indagine.
Per consentire a CloudWatch Investigations di accedere alle risorse ed essere in grado di formulare suggerimenti e ipotesi, il metodo consigliato consiste nel collegare AIOpsAssistantPolicy al ruolo del gruppo di indagine. Ciò concede al gruppo di indagine le autorizzazioni per analizzare le risorse AWS durante le indagini. Per informazioni sui contenuti completi di questa policy, consulta Policy IAM per CloudWatch Investigations (AIOpsAssistantPolicy).
Puoi anche scegliere di collegare la policy AWS generica ReadOnlyAccess al ruolo del gruppo di indagine, oltre a collegare AIOpsAssistantPolicy. Il motivo è che AWS aggiorna ReadOnlyAccess più frequentemente con le autorizzazioni per i nuovi servizi e le nuove operazioni AWS che vengono rilasciati. Anche la policy AIOpsAssistantPolicy viene aggiornata per le nuove operazioni, ma non altrettanto di frequente.
Se desideri circoscrivere le autorizzazioni concesse a CloudWatch Investigations, puoi collegare una policy IAM personalizzata al ruolo IAM del gruppo di indagine invece di collegare la policy AIOpsAssistantPolicy. Per fare ciò, avvia la tua policy personalizzata con i contenuti di AIOpsAssistantPolicy e poi rimuovi le autorizzazioni che non desideri concedere a CloudWatch Investigations. Ciò impedirà a CloudWatch Investigations di fornire suggerimenti basati sui servizi o sulle operazioni AWS per i quali non concedi l'accesso.
Nota
Tutto ciò a cui può accedere CloudWatch Investigations può essere aggiunto all'indagine e visto dagli operatori del tuo gruppo di indagine. Ti consigliamo di allineare le autorizzazioni di CloudWatch Investigations con le autorizzazioni degli operatori del tuo gruppo di indagine.
Consentire a CloudWatch Investigations di decrittografare i dati crittografati durante le indagini
Se crittografi i tuoi dati in uno dei seguenti servizi con una chiave gestita dal cliente in AWS KMS e desideri che CloudWatch Investigations sia in grado di decrittografare i dati di questi servizi e includerli nelle indagini, dovrai collegare una o più policy IAM aggiuntive al ruolo IAM del gruppo di indagine.
-
AWS Step Functions
L'istruzione della policy dovrebbe includere una chiave di contesto per il contesto di crittografia per aiutare a definire le autorizzazioni. Ad esempio, la seguente policy consentirebbe a CloudWatch Investigations di decrittografare i dati per una macchina a stati Step Functions.
Per ulteriori informazioni su questi tipi di policy e sull'utilizzo di queste chiavi di contesto, consulta kms:ViaService e kms:EncryptionContext:context-key nella Guida per gli sviluppatori di AWS Key Management Service e aws:SourceArn nella Guida per l'utente di IAM.
Crittografia dei dati di indagine
Per la crittografia dei dati delle indagini, AWS offre due opzioni:
-
Chiavi di proprietà di AWS: per impostazione predefinita, CloudWatch Investigations crittografa i dati di indagine a riposo con una chiave di proprietà di AWS. Non è possibile visualizzare o gestire le chiavi di proprietà di AWS e non è possibile utilizzarle per altri scopi o verificarne l'utilizzo. Tuttavia, non devi effettuare alcuna operazione né modificare impostazioni per utilizzare queste chiavi. Per ulteriori informazioni sulle chiavi di proprietà di AWS, consulta AWS owned keys.
-
Chiavi gestite dal cliente: sono chiavi che crei, possiedi e gestisci tu. Puoi scegliere di utilizzare una chiave gestita dal cliente anziché una chiave di proprietà di AWS per i dati delle indagini. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta Customer managed keys.
Nota
CloudWatch Investigations abilita automaticamente la crittografia dei dati a riposo utilizzando chiavi di proprietà di AWS senza costi aggiuntivi. Se utilizzi una chiave gestita dal cliente, verranno addebitati dei costi AWS KMS. Per ulteriori informazioni sui prezzi, consulta Prezzi di AWS Key Management Service
Per ulteriori informazioni su AWS KMS, consulta AWS Key Management Service.
Utilizzo di una chiave gestita dal cliente per il gruppo di indagine
Puoi associare un gruppo di indagine a una chiave gestita dal cliente. In tal modo, tutte le indagini create in quel gruppo utilizzeranno la chiave gestita dal cliente per crittografare i dati a riposo delle indagini.
L'utilizzo delle chiavi gestite dal cliente da parte di CloudWatch Investigations presenta le seguenti condizioni:
-
CloudWatch Investigations supporta solo chiavi AWS KMS di crittografia simmetriche con le specifiche di chiave predefinite,
SYMMETRIC_DEFAULT, e il cui utilizzo è definito comeENCRYPT_DECRYPT. -
Affinché un utente possa creare o aggiornare un gruppo di indagine con una chiave gestita dal cliente, deve disporre delle autorizzazioni
kms:DescribeKey,kms:GenerateDataKeyekms:Decrypt. -
Affinché un utente possa creare o aggiornare un'indagine in un gruppo di indagine che utilizza una chiave gestita dal cliente, deve disporre delle autorizzazioni
kms:GenerateDataKeyekms:Decrypt. -
Affinché un utente possa visualizzare i dati di indagine in un gruppo di indagine che utilizza una chiave gestita dal cliente, deve disporre dell'autorizzazione
kms:Decrypt.
Configurazione delle indagini per l'utilizzo di una chiave AWS KMS gestita dal cliente
Innanzitutto, se non disponi ancora di una chiave simmetrica da utilizzare, crea una nuova chiave con il seguente comando.
aws kms create-key
L'output del comando contiene l'ID e il nome della risorsa Amazon (ARN) della chiave. Ti serviranno nei passaggi successivi di questa sezione. Segue un esempio di output.
{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:111122223333:key/6f815f63-e628-448c-8251-e4EXAMPLE", "AWSAccountId": "111122223333", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
Impostazione delle autorizzazioni sulla chiave
Quindi, imposta le autorizzazioni sulla chiave. Per impostazione predefinita, tutte le chiavi AWS KMS sono private. Solo il proprietario della risorsa può utilizzarla per crittografare e decrittare i dati. Tuttavia, il proprietario della risorsa può concedere ad altri utenti e risorse le autorizzazioni per accedere alla chiave. Con questo passaggio, concedi al principale del servizio Operazioni di IA l'autorizzazione a utilizzare la chiave. Questo principale del servizio deve trovarsi nella stessa Regione AWS in cui è archiviata la chiave KMS.
Come best practice, si consiglia di limitare l'uso della chiave solo agli account o alle risorse AWS specificati.
Il primo passaggio per impostare le autorizzazioni consiste nel salvare la policy predefinita per la chiave come policy.json. A tale scopo, utilizza il comando seguente. Sostituisci key-id con l'ID della chiave.
aws kms get-key-policy --key-idkey-id--policy-name default --output text > ./policy.json
Apri il file policy.json in un editor di testo e aggiungi le seguenti sezioni della policy in tale policy. Separa l'istruzione esistente dalle nuove sezioni con una virgola. Queste nuove sezioni utilizzano le sezioni Condition per migliorare la sicurezza della chiave AWS KMS. Per ulteriori informazioni, consulta AWS KMS keys and encryption context.
Questa policy fornisce le autorizzazioni ai principali del servizio per i seguenti motivi:
-
Il servizio
aiopsnecessita delle autorizzazioniGenerateDataKeyper ottenere la chiave dati e utilizzarla per crittografare i dati mentre sono archiviati in un file a riposo. L'autorizzazioneDecryptè necessaria per decrittografare i dati durante la lettura dall'archivio dati. La decrittografia avviene quando si leggono i dati utilizzando le APIaiopso quando si aggiorna l'indagine o l'evento di indagine. L'operazione di aggiornamento recupera i dati esistenti dopo averli decrittografati, li aggiorna e archivia i dati aggiornati nell'archivio dati dopo la crittografia. -
Il servizio di allarmi CloudWatch può creare indagini o eventi di indagine. Queste operazioni di creazione verificano che il chiamante abbia accesso alla chiave AWS KMS definita per il gruppo di indagine. L'istruzione della policy fornisce le autorizzazioni
GenerateDataKeyeDecryptal servizio di allarmi CloudWatch per creare indagini per conto tuo.
Nota
La seguente policy presume che tu abbia seguito il consiglio di utilizzare tre principali IAM, concedendo a uno di essi la policy IAM AIOpsConsoleAdminPolicy, al secondo la policy AIOpsOperatorAccess e al terzo la policy AIOpsReadOnlyAccess. Questi principali potrebbero essere ruoli IAM (consigliato) o utenti IAM. Quindi i tuoi utenti che lavorano con CloudWatch Investigations accederanno utilizzando uno di questi principali.
Per la policy seguente, avrai bisogno degli ARN di questi tre principali.
{ "Sid": "Enable AI Operations Admin for the DescribeKey permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{AIOpsConsoleAdmin}" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" } } }, { "Sid": "Enable AI Operations Admin and Operator for the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::{account-id}:role/{AIOpsConsoleAdmin}", "arn:aws:iam::{account-id}:role/{AIOpsOperator}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable AI Operations ReadOnly for the Decrypt permission", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{AIOpsReadOnly}" }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aiops.{region}.amazonaws.com" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable the AI Operations service to have the DescribeKey permission", "Effect": "Allow", "Principal": { "Service": "aiops.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "{account-id}" }, "StringLike": { "aws:SourceArn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable the AI Operations service to have the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "Service": "aiops.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "{account-id}" }, "StringLike": { "aws:SourceArn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" }, "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" } } }, { "Sid": "Enable CloudWatch to have the Decrypt and GenerateDataKey permissions", "Effect": "Allow", "Principal": { "Service": "aiops.alarms.cloudwatch.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:aiops:investigation-group-arn": "arn:aws:aiops:{region}:{account-id}:investigation-group/*" }, "StringEquals": { "aws:SourceAccount": "{account-id}", "kms:ViaService": "aiops.{region}.amazonaws.com" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudwatch:{region}:{account-id}:alarm:*" } } }
Dopo aver aggiornato la policy, assegnala alla chiave immettendo il seguente comando.
aws kms put-key-policy --key-idkey-id--policy-name default --policy file://policy.json
Associazione della chiave al gruppo di indagine
Quando utilizzi la console CloudWatch per creare un gruppo di indagine, puoi scegliere di associare la chiave AWS KMS al gruppo di indagine. Per ulteriori informazioni, consulta Configurazione di un gruppo di indagine.
Puoi anche associare una chiave gestita dal cliente a un gruppo di indagine esistente.
Modifica della configurazione di crittografia
Puoi aggiornare un gruppo di indagine per passare dall'utilizzo di una chiave gestita dal cliente a una chiave di proprietà del servizio. Puoi anche passare dall'utilizzo di una chiave gestita dal cliente all'utilizzo di un'altra. Quando apporti una modifica di questo tipo, la modifica si applica alle nuove indagini create dopo la modifica. Le indagini precedenti restano associate alla configurazione di crittografia precedente. Le indagini attualmente in corso continuano inoltre a utilizzare la chiave originale per i nuovi dati.
Se una chiave utilizzata in precedenza è attiva e Amazon Q può accedervi per le indagini, puoi recuperare le indagini precedenti crittografate con quel metodo, nonché i dati delle indagini in corso che erano crittografati con la chiave precedente. Se elimini una chiave utilizzata in precedenza o ne revochi l'accesso, i dati dell'indagine crittografati con quella chiave non potranno essere recuperati.
Inferenza interregionale
CloudWatch Investigations utilizza l'inferenza interregionale per distribuire il traffico tra diverse Regioni AWS. Sebbene i dati rimangano archiviati solo nella Regione primaria, quando si utilizza l'inferenza tra Regioni i dati delle indagini potrebbero spostarsi al di fuori della Regione primaria. Tutti i dati verranno trasmessi crittografati attraverso la rete sicura di Amazon.
Per i dettagli su dove avviene la distribuzione dell'inferenza in tutte le Regioni per ciascuna Regione, consulta la tabella seguente.
| Geografia supportata da CloudWatch Investigations | Regione di indagine | Possibili Regioni di inferenza |
|---|---|---|
| Stati Uniti (US) | Stati Uniti orientali (Virginia settentrionale) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) |
| Stati Uniti orientali (Ohio) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| US West (Oregon) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Europa (EU) | Europa (Francoforte) | UE (Francoforte), UE (Irlanda), UE (Parigi), UE (Stoccolma) |
| Europa (Irlanda) | UE (Francoforte), UE (Irlanda), UE (Parigi), UE (Stoccolma) | |
| Europa (Spagna) | UE (Francoforte), UE (Irlanda), UE (Parigi), UE (Stoccolma) | |
| Europa (Stoccolma) | UE (Francoforte), UE (Irlanda), UE (Parigi), UE (Stoccolma) | |
| Asia Pacifico (AP) | Asia Pacifico (Hong Kong) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) |
| Asia Pacifico (Mumbai) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Asia Pacifico (Singapore) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Asia Pacifico (Sydney) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Asia Pacifico (Tokyo) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Asia Pacifico (Malesia) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) | |
| Asia Pacifico (Thailandia) | Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) |