Protezione dei dati in AWS AppFabric - AWS AppFabric

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à.

Protezione dei dati in AWS AppFabric

Il modello di responsabilità AWS condivisa modello di di si applica alla protezione dei dati in AWS AppFabric. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che gestisce tutti i Cloud AWS. L'utente è responsabile del controllo dei contenuti ospitati su questa infrastruttura. L'utente è inoltre responsabile della configurazione della protezione e delle attività di gestione per i Servizi AWS utilizzati. Per ulteriori informazioni sulla privacy dei dati, vedi le Domande frequenti sulla privacy dei dati. Per informazioni sulla protezione dei dati in Europa, consulta il post del blog relativo al Modello di responsabilità condivisa AWS e GDPR nel Blog sulla sicurezza AWS .

Ai fini della protezione dei dati, consigliamo di proteggere Account AWS le credenziali e configurare i singoli utenti con AWS IAM Identity Center or AWS Identity and Access Management (IAM). In tal modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere i suoi compiti. Ti suggeriamo, inoltre, di proteggere i dati nei seguenti modi:

  • Utilizza l'autenticazione a più fattori (MFA) con ogni account.

  • Usa SSL/TLS per comunicare con le risorse. AWS È richiesto TLS 1.2 ed è consigliato TLS 1.3.

  • Configura l'API e la registrazione delle attività degli utenti con. AWS CloudTrail

  • Utilizza soluzioni di AWS crittografia, insieme a tutti i controlli di sicurezza predefiniti all'interno Servizi AWS.

  • Utilizza i servizi di sicurezza gestiti avanzati, come Amazon Macie, che aiutano a individuare e proteggere i dati sensibili archiviati in Amazon S3.

  • Se hai bisogno di moduli crittografici convalidati FIPS 140-2 per l'accesso AWS tramite un'interfaccia a riga di comando o un'API, utilizza un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il Federal Information Processing Standard (FIPS) 140-2.

Ti consigliamo vivamente di non inserire mai informazioni riservate o sensibili, ad esempio gli indirizzi e-mail dei clienti, nei tag o nei campi di testo in formato libero, ad esempio nel campo Nome. Ciò include quando lavori o Servizi AWS utilizzi la console, l'API AppFabric o gli SDK. AWS CLI AWS I dati inseriti nei tag o nei campi di testo in formato libero utilizzati per i nomi possono essere utilizzati per i la fatturazione o i log di diagnostica. Quando fornisci un URL a un server esterno, ti suggeriamo vivamente di non includere informazioni sulle credenziali nell'URL per convalidare la tua richiesta al server.

Nota

Per ulteriori informazioni sulla protezione dei dati applicata alla AppFabric sicurezza, consultaElaborazione dei dati.

Crittografia a riposo

AWS AppFabric supporta la crittografia a riposo, una funzionalità di crittografia lato server in cui crittografa in AppFabric modo trasparente tutti i dati relativi ai bundle di app quando vengono salvati su disco e li decrittografa quando si accede ai dati. Per impostazione predefinita, AppFabric crittografa i dati utilizzando an from (). Chiave di proprietà di AWS AWS Key Management Service AWS KMS Puoi anche scegliere di crittografare i tuoi dati utilizzando la tua chiave gestita dal cliente di. AWS KMS

Quando elimini un pacchetto di app, tutti i relativi metadati vengono eliminati definitivamente.

Crittografia in transito

Quando configuri un app bundle, puoi scegliere una chiave Chiave di proprietà di AWS o una chiave gestita dal cliente. Durante la raccolta e la normalizzazione dei dati per l'inserimento di un log di controllo, AppFabric archivia temporaneamente i dati in un bucket Amazon Simple Storage Service (Amazon S3) intermedio e li crittografa utilizzando questa chiave. Questo bucket intermedio viene eliminato dopo 30 giorni, utilizzando una politica del ciclo di vita del bucket.

AppFabric protegge tutti i dati in transito utilizzando TLS 1.2 e firma le richieste API con Signature V4. Servizi AWS AWS

Gestione delle chiavi

AppFabric supporta la crittografia dei dati con una Chiave di proprietà di AWS o una chiave gestita dal cliente. Ti consigliamo di utilizzare una chiave gestita dal cliente perché ti dà il pieno controllo dei tuoi dati crittografati. Quando scegli una chiave gestita dal cliente, AppFabric associa una politica delle risorse alla chiave gestita dal cliente che le consente l'accesso alla chiave gestita dal cliente.

Chiave gestita dal cliente

Per creare una chiave gestita dal cliente, segui i passaggi per la creazione di chiavi KMS con crittografia simmetrica nella Guida per gli sviluppatori.AWS KMS

Policy della chiave

Le politiche chiave controllano l'accesso alle chiavi gestite dai clienti. Ogni chiave gestita dal cliente deve avere esattamente una policy della chiave, che contiene istruzioni che determinano chi può usare la chiave e come la possono usare. Quando crei la chiave gestita dal cliente, puoi specificare una policy della chiave. Per informazioni sulla creazione di una policy chiave, consulta Creating a key policy nella AWS KMS Developer Guide.

Per utilizzare una chiave gestita dal cliente con AppFabric, l'utente o il ruolo AWS Identity and Access Management (IAM) che crea le AppFabric risorse deve disporre dell'autorizzazione a utilizzare la chiave gestita dal cliente. Ti consigliamo di creare una chiave da utilizzare solo con AppFabric e di aggiungere gli AppFabric utenti come utenti della chiave. Questo approccio limita l'ambito di accesso ai dati. Le autorizzazioni richieste dagli utenti sono le seguenti:

  • kms:DescribeKey

  • kms:CreateGrant

  • kms:GenerateDataKey

  • kms:Decrypt

La AWS KMS console guida l'utente nella creazione di una chiave con la policy chiave appropriata. Per ulteriori informazioni sulle politiche chiave, consulta le politiche chiave AWS KMS nella Guida per gli AWS KMS sviluppatori.

Di seguito è riportato un esempio di policy chiave che consente:

  • Il Utente root dell'account AWS pieno controllo della chiave.

  • Utenti autorizzati AppFabric a utilizzare la chiave gestita dal cliente con AppFabric.

  • Una politica chiave per la configurazione di un pacchetto di app inus-east-1.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": ["kms:*"], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_ID" }, { "Sid": "Allow read-only access to key metadata to the account", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource": "*" }, { "Sid": "Allow access to principals authorized to use AWS AppFabric", "Effect": "Allow", "Principal": {"AWS": "IAM-role/user-creating-appfabric-resources"}, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant", "kms:ListAliases" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "appfabric.us-east-1.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ] }

Come AppFabric utilizza le sovvenzioni in AWS KMS

AppFabric richiede una concessione per utilizzare la chiave gestita dal cliente. Per ulteriori informazioni, consulta Grants AWS KMS nella AWS KMS Developer Guide.

Quando crei un pacchetto di app, AppFabric crea una sovvenzione per tuo conto inviando una CreateGrant richiesta a. AWS KMS Le sovvenzioni AWS KMS vengono utilizzate per AppFabric consentire l'accesso a una AWS KMS chiave in un account cliente. AppFabric richiede la concessione dell'utilizzo della chiave gestita dal cliente per le seguenti operazioni interne:

  • Invia GenerateDataKey richieste per AWS KMS generare chiavi dati crittografate dalla chiave gestita dal cliente.

  • Invia Decrypt richieste per AWS KMS decrittografare le chiavi di dati crittografate in modo che possano essere utilizzate per crittografare i dati e per decrittografare i token di accesso alle applicazioni in transito.

  • Invia Encrypt richieste a per crittografare i token di accesso AWS KMS alle applicazioni in transito.

Di seguito è riportato un esempio di sovvenzione.

{ "KeyId": "arn:aws:kms:us-east-1:111122223333:key/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "GrantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "Name": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "CreationDate": "2022-10-11T20:35:39+00:00", "GranteePrincipal": "appfabric.us-east-1.amazonaws.com", "RetiringPrincipal": "appfabric.us-east-1.amazonaws.com", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey" ], "Constraints": { "EncryptionContextSubset": { "appBundleArn": "arn:aws:fabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE" } } },

Quando elimini un pacchetto di app, AppFabric ritira le sovvenzioni emesse sulla chiave gestita dal cliente.

Monitoraggio delle chiavi di crittografia per AppFabric

Quando utilizzi chiavi gestite AWS KMS dal cliente con AppFabric, puoi utilizzare AWS CloudTrail i log per tenere traccia delle richieste AppFabric inviate a AWS KMS.

Di seguito è riportato un esempio di CloudTrail evento registrato quando viene AppFabric utilizzato CreateGrant per la chiave gestita dal cliente.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser", "arn": "arn:aws:sts::111122223333:assumed-role/AssumedRole/SampleUser", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/AssumedRole", "accountId": "111122223333", "userName": "SampleUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-04-28T14:01:33Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-04-28T14:05:48Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "appfabric.amazonaws.com", "userAgent": "appfabric.amazonaws.com", "requestParameters": { "granteePrincipal": "appfabric.us-east-1.amazonaws.com", "constraints": { "encryptionContextSubset": { "appBundleArn": "arn:aws:appfabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE" } }, "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLEID", "retiringPrincipal": "appfabric.us-east-1.amazonaws.com", "operations": [ "Encrypt", "Decrypt", "GenerateDataKey" ] }, "responseElements": { "grantId": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/KEY_ID" }, "additionalEventData": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/key_ID" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-east-1.amazonaws.com" } }