Filtrare l'inventario dei bucket S3 con Amazon Macie - Amazon Macie

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

Filtrare l'inventario dei bucket S3 con Amazon Macie

Per identificare e concentrarti sui bucket con caratteristiche specifiche, puoi filtrare l'inventario dei bucket S3 sulla console Amazon Macie e nelle query inviate a livello di codice utilizzando l'API Amazon Macie. Quando crei un filtro, utilizzi attributi specifici del bucket per definire criteri per includere o escludere i bucket da una vista o dai risultati delle query. Un attributo bucket è un campo che memorizza metadati specifici per un bucket.

In Macie, un filtro è costituito da una o più condizioni. Ogni condizione, nota anche come criterio, è composta da tre parti:

  • Un campo basato su attributi, ad esempio Bucket name, Tag key o Defined in job.

  • Un operatore, ad esempio uguale o non uguale.

  • Uno o più valori. Il tipo e il numero di valori dipendono dal campo e dall'operatore scelti.

Il modo in cui definisci e applichi le condizioni di filtro dipende dal fatto che utilizzi la console Amazon Macie o l'API Amazon Macie.

Filtrare l'inventario sulla console Amazon Macie

Se utilizzi la console Amazon Macie per filtrare l'inventario dei bucket S3, Macie offre opzioni per aiutarti a scegliere campi, operatori e valori per condizioni individuali. Puoi accedere a queste opzioni utilizzando la casella del filtro nella pagina dei bucket S3, come mostrato nell'immagine seguente.

La casella del filtro nella pagina dei bucket S3.

Quando posizioni il cursore nella casella del filtro, Macie visualizza un elenco di campi che puoi utilizzare nelle condizioni di filtro. I campi sono organizzati per categorie logiche. Ad esempio, la categoria Campi comuni include campi che memorizzano informazioni generali su un bucket S3. Le categorie di accesso pubblico includono campi che memorizzano dati sui vari tipi di impostazioni di accesso pubblico che possono essere applicate a un bucket. I campi sono ordinati alfabeticamente all'interno di ogni categoria.

Per aggiungere una condizione, inizia scegliendo un campo dall'elenco. Per trovare un campo, sfoglia l'elenco completo o inserisci parte del nome del campo per restringere l'elenco dei campi.

A seconda del campo scelto, Macie mostra diverse opzioni. Le opzioni riflettono il tipo e la natura del campo scelto. Ad esempio, se scegli il campo Accesso condiviso, Macie visualizza un elenco di valori tra cui scegliere. Se scegli il campo Bucket name, Macie visualizza una casella di testo in cui puoi inserire il nome di un bucket S3. Qualunque campo tu scelga, Macie ti guida attraverso i passaggi per aggiungere una condizione che includa le impostazioni richieste per il campo.

Dopo aver aggiunto una condizione, Macie applica i criteri relativi alla condizione e la visualizza in un token di filtro sotto la casella del filtro, come mostrato nell'immagine seguente.

La casella del filtro con un token di filtro per una condizione.

In questo esempio, la condizione è configurata per includere tutti i bucket accessibili pubblicamente e per escludere tutti gli altri bucket. Restituisce i bucket in cui il valore del campo Autorizzazione effettiva è uguale a Pubblico.

Man mano che aggiungi altre condizioni, Macie applica i relativi criteri e li visualizza sotto la casella del filtro. Se aggiungi più condizioni, Macie utilizza la logica AND per unire le condizioni e valutare i criteri di filtro. Ciò significa che un bucket S3 soddisfa i criteri del filtro solo se soddisfa tutte le condizioni del filtro. Puoi fare riferimento all'area sotto la casella del filtro in qualsiasi momento per determinare quali criteri hai applicato.

Per filtrare l'inventario utilizzando la console
  1. Apri la console Amazon Macie all'indirizzo https://console.aws.amazon.com/macie/.

  2. Nel pannello di navigazione, scegli bucket S3. La pagina dei bucket S3 mostra l'inventario dei bucket.

    Se il rilevamento automatico dei dati sensibili è abilitato, la visualizzazione predefinita non mostra i dati per i bucket attualmente esclusi dal rilevamento automatico. Se sei l'amministratore Macie di un'organizzazione, inoltre, non vengono visualizzati i dati degli account per i quali il rilevamento automatico è attualmente disabilitato. Per visualizzare questi dati, scegli X nel campo È monitorato dal token del filtro di rilevamento automatico sotto la casella del filtro.

  3. Nella parte superiore della pagina, scegli facoltativamente refresh ( The refresh button, which is a button that contains an empty, dark gray circle with an arrow ) per recuperare i metadati del bucket più recenti da Amazon S3.

  4. Posiziona il cursore nella casella del filtro, quindi scegli il campo da utilizzare per la condizione.

  5. Scegli o inserisci il tipo di valore appropriato per il campo, tenendo presenti i seguenti suggerimenti.

    Date, orari e intervalli di tempo

    Per date e orari, utilizzate le caselle Da e A per definire un intervallo di tempo inclusivo:

    • Per definire un intervallo di tempo fisso, utilizzate le caselle Da e A per specificare rispettivamente la prima data e ora e l'ultima data e ora dell'intervallo.

    • Per definire un intervallo di tempo relativo che inizi in una determinata data e ora e termini nell'ora corrente, immettete la data e l'ora di inizio nelle caselle Da ed eliminate il testo nelle caselle To.

    • Per definire un intervallo di tempo relativo che termini con una determinata data e ora, inserite la data e l'ora di fine nelle caselle A ed eliminate il testo nelle caselle Da.

    Tieni presente che i valori temporali utilizzano la notazione a 24 ore. Se si utilizza il selettore di date per scegliere le date, è possibile rifinire i valori inserendo il testo direttamente nelle caselle Da e A.

    Numeri e intervalli numerici

    Per i valori numerici, utilizzate le caselle Da e A per inserire numeri interi che definiscono un intervallo numerico inclusivo:

    • Per definire un intervallo numerico fisso, utilizzate le caselle Da e A per specificare rispettivamente i numeri più bassi e più alti dell'intervallo.

    • Per definire un intervallo numerico fisso limitato a un valore specifico, inserite il valore nelle caselle Da e A. Ad esempio, per includere solo i bucket S3 che memorizzano esattamente 15 oggetti, inseriscilo 15 nelle caselle Da e To.

    • Per definire un intervallo numerico relativo che inizia da un determinato numero, inserite il numero nella casella Da e non immettete alcun testo nella casella To.

    • Per definire un intervallo numerico relativo che termina con un determinato numero, inserite il numero nella casella A e non immettete alcun testo nella casella Da.

    Valori di testo (stringa)

    Per questo tipo di valore, inserisci un valore completo e valido per il campo. I valori distinguono tra maiuscole e minuscole

    Tieni presente che non puoi utilizzare un valore parziale o caratteri jolly in questo tipo di valore. L'unica eccezione è il campo Bucket name. Per quel campo, puoi specificare un prefisso anziché un nome completo del bucket. Ad esempio, per trovare tutti i bucket S3 i cui nomi iniziano con my-S3, inserisci my-S3 come valore del filtro il campo Bucket name. Se inserisci qualsiasi altro valore, ad esempio My-s3 o, Macie non restituirà i my* bucket.

  6. Quando hai finito di aggiungere un valore per il campo, scegli Applica. Macie applica i criteri di filtro e visualizza la condizione in un token di filtro sotto la casella del filtro.

  7. Ripeti i passaggi da 4 a 6 per ogni condizione aggiuntiva che desideri aggiungere.

  8. Per rimuovere una condizione, scegli la X nel token del filtro relativo alla condizione.

  9. Per modificare una condizione, rimuovila scegliendo la X nel token del filtro relativo alla condizione. Quindi ripeti i passaggi da 4 a 6 per aggiungere una condizione con le impostazioni corrette.

Filtrare l'inventario in modo programmatico con l'API Amazon Macie

Per filtrare l'inventario dei bucket S3 in modo programmatico, specifica i criteri di filtro nelle query inviate utilizzando il funzionamento DescribeBucketsdell'API Amazon Macie. Questa operazione restituisce una serie di oggetti. Ogni oggetto contiene dati statistici e altre informazioni su un bucket che corrisponde ai criteri di filtro.

Per specificare i criteri di filtro in una query, includi una mappa delle condizioni di filtro nella richiesta. Per ogni condizione, specificate un campo, un operatore e uno o più valori per il campo. Il tipo e il numero di valori dipendono dal campo e dall'operatore scelti. Per informazioni sui campi, gli operatori e i tipi di valori che puoi utilizzare in una condizione, consulta Amazon S3 Data Sources nel Amazon Macie API Reference.

Gli esempi seguenti mostrano come specificare i criteri di filtro nelle query inviate utilizzando ().AWS Command Line InterfaceAWS CLI Puoi farlo anche utilizzando la versione corrente di un altro strumento a riga di AWS comando o di un AWS SDK oppure inviando richieste HTTPS direttamente a Macie. Per informazioni sugli AWS strumenti e gli SDK, consulta Tools to Build on. AWS

Negli esempi viene utilizzato il comando describe-buckets. Se un esempio viene eseguito correttamente, Macie restituisce un array. buckets L'array contiene un oggetto per ogni bucket che si trova nella versione corrente Regione AWS e corrisponde ai criteri di filtro. Per un esempio di questo output, espandi la sezione seguente.

In questo esempio, l'bucketsarray fornisce dettagli su due bucket che corrispondono ai criteri di filtro specificati in una query.

{ "buckets": [ { "accountId": "123456789012", "allowsUnencryptedObjectUploads": "FALSE", "automatedDiscoveryMonitoringStatus": "MONITORED", "bucketArn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET1", "bucketCreatedAt": "2020-05-18T19:54:00+00:00", "bucketName": "DOC-EXAMPLE-BUCKET1", "classifiableObjectCount": 13, "classifiableSizeInBytes": 1592088, "jobDetails": { "isDefinedInJob": "TRUE", "isMonitoredByJob": "TRUE", "lastJobId": "08c81dc4a2f3377fae45c9ddaexample", "lastJobRunTime": "2024-05-26T14:55:30.270000+00:00" }, "lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00", "lastUpdated": "2024-06-12T07:33:06.337000+00:00", "objectCount": 13, "objectCountByEncryptionType": { "customerManaged": 0, "kmsManaged": 2, "s3Managed": 7, "unencrypted": 4, "unknown": 0 }, "publicAccess": { "effectivePermission": "NOT_PUBLIC", "permissionConfiguration": { "accountLevelPermissions": { "blockPublicAccess": { "blockPublicAcls": true, "blockPublicPolicy": true, "ignorePublicAcls": true, "restrictPublicBuckets": true } }, "bucketLevelPermissions": { "accessControlList": { "allowsPublicReadAccess": false, "allowsPublicWriteAccess": false }, "blockPublicAccess": { "blockPublicAcls": true, "blockPublicPolicy": true, "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketPolicy": { "allowsPublicReadAccess": false, "allowsPublicWriteAccess": false } } } }, "region": "us-east-1", "replicationDetails": { "replicated": false, "replicatedExternally": false, "replicationAccounts": [] }, "sensitivityScore": 78, "serverSideEncryption": { "kmsMasterKeyId": null, "type": "NONE" }, "sharedAccess": "NOT_SHARED", "sizeInBytes": 4549746, "sizeInBytesCompressed": 0, "tags": [ { "key": "Division", "value": "HR" }, { "key": "Team", "value": "Recruiting" } ], "unclassifiableObjectCount": { "fileType": 0, "storageClass": 0, "total": 0 }, "unclassifiableObjectSizeInBytes": { "fileType": 0, "storageClass": 0, "total": 0 }, "versioning": true }, { "accountId": "123456789012", "allowsUnencryptedObjectUploads": "TRUE", "automatedDiscoveryMonitoringStatus": "MONITORED", "bucketArn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2", "bucketCreatedAt": "2020-11-25T18:24:38+00:00", "bucketName": "DOC-EXAMPLE-BUCKET2", "classifiableObjectCount": 8, "classifiableSizeInBytes": 133810, "jobDetails": { "isDefinedInJob": "TRUE", "isMonitoredByJob": "FALSE", "lastJobId": "188d4f6044d621771ef7d65f2example", "lastJobRunTime": "2024-04-09T19:37:11.511000+00:00" }, "lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00", "lastUpdated": "2024-06-12T07:33:06.337000+00:00", "objectCount": 8, "objectCountByEncryptionType": { "customerManaged": 0, "kmsManaged": 0, "s3Managed": 8, "unencrypted": 0, "unknown": 0 }, "publicAccess": { "effectivePermission": "NOT_PUBLIC", "permissionConfiguration": { "accountLevelPermissions": { "blockPublicAccess": { "blockPublicAcls": true, "blockPublicPolicy": true, "ignorePublicAcls": true, "restrictPublicBuckets": true } }, "bucketLevelPermissions": { "accessControlList": { "allowsPublicReadAccess": false, "allowsPublicWriteAccess": false }, "blockPublicAccess": { "blockPublicAcls": true, "blockPublicPolicy": true, "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketPolicy": { "allowsPublicReadAccess": false, "allowsPublicWriteAccess": false } } } }, "region": "us-east-1", "replicationDetails": { "replicated": false, "replicatedExternally": false, "replicationAccounts": [] }, "sensitivityScore": 95, "serverSideEncryption": { "kmsMasterKeyId": null, "type": "AES256" }, "sharedAccess": "EXTERNAL", "sizeInBytes": 175978, "sizeInBytesCompressed": 0, "tags": [ { "key": "Division", "value": "HR" }, { "key": "Team", "value": "Recruiting" } ], "unclassifiableObjectCount": { "fileType": 3, "storageClass": 0, "total": 3 }, "unclassifiableObjectSizeInBytes": { "fileType": 2999826, "storageClass": 0, "total": 2999826 }, "versioning": true } ] }

Se nessun bucket soddisfa i criteri di filtro, Macie restituisce un array vuoto. buckets

{ "buckets": [] }

Esempio 1: trova i bucket in base al nome del bucket

Questo esempio utilizza il comando describe-buckets per interrogare i metadati per tutti i bucket i cui nomi iniziano con my-S3 e sono nel codice corrente. Regione AWS

Per Linux, macOS o Unix:

$ aws macie2 describe-buckets --criteria '{"bucketName":{"prefix":"my-S3"}}'

Per Microsoft Windows:

C:\> aws macie2 describe-buckets --criteria={\"bucketName\":{\"prefix\":\"my-S3\"}}

Dove:

  • BucketName specifica il nome JSON del campo Bucket name.

  • prefix specifica l'operatore prefisso.

  • my-S3 è il valore per il campo Bucket name.

Esempio 2: trova bucket accessibili pubblicamente

Questo esempio utilizza il comando describe-buckets per interrogare i metadati relativi ai bucket presenti nella versione corrente Regione AWS e, in base a una combinazione di impostazioni di autorizzazione, accessibili pubblicamente.

Per Linux, macOS o Unix:

$ aws macie2 describe-buckets --criteria '{"publicAccess.effectivePermission":{"eq":["PUBLIC"]}}'

Per Microsoft Windows:

C:\> aws macie2 describe-buckets --criteria={\"publicAccess.effectivePermission\":{\"eq\":[\"PUBLIC\"]}}

Dove:

  • PublicAccess.EffectivePermission specifica il nome JSON del campo Autorizzazione effettiva.

  • eq specifica l'operatore equals.

  • PUBLIC è un valore enumerato per il campo Autorizzazione effettiva.

Esempio 3: trova i bucket che memorizzano oggetti non crittografati

Questo esempio utilizza il comando describe-buckets per interrogare i metadati relativi ai bucket presenti nella versione corrente e memorizzare oggetti non crittografati. Regione AWS

Per Linux, macOS o Unix:

$ aws macie2 describe-buckets --criteria '{"objectCountByEncryptionType.unencrypted":{"gte":1}}'

Per Microsoft Windows:

C:\> aws macie2 describe-buckets --criteria={\"objectCountByEncryptionType.unencrypted\":{\"gte\":1}}

Dove:

  • objectCountByEncryptionType.unencrypted specifica il nome JSON del campo Nessuna crittografia.

  • gte specifica l'operatore maggiore o uguale a.

  • 1 è il valore più basso in un intervallo numerico relativo inclusivo per il campo Nessuna crittografia.

Esempio 4: trova i bucket che non sono monitorati da un job

Questo esempio utilizza il comando describe-buckets per interrogare i metadati relativi ai bucket presenti nella versione corrente Regione AWS e non associati a nessun processo periodico di rilevamento di dati sensibili.

Per Linux, macOS o Unix:

$ aws macie2 describe-buckets --criteria '{"jobDetails.isMonitoredByJob":{"eq":["FALSE"]}}'

Per Microsoft Windows:

C:\> aws macie2 describe-buckets --criteria={\"jobDetails.isMonitoredByJob\":{\"eq\":[\"FALSE\"]}}

Dove:

  • Dettagli del lavoro. isMonitoredByJob specifica il nome JSON del campo Actively monitored by job.

  • eq specifica l'operatore equals.

  • FALSE è un valore enumerato per il campo Monitoraggio attivo tramite processo.

Esempio 5: trova i bucket che replicano i dati su account esterni

Questo esempio utilizza il comando describe-buckets per interrogare i metadati relativi ai bucket presenti nella versione corrente Regione AWS e configurati per replicare oggetti su un oggetto che non fa parte dell'organizzazione. Account AWS

Per Linux, macOS o Unix:

$ aws macie2 describe-buckets --criteria '{"replicationDetails.replicatedExternally":{"eq":["true"]}}'

Per Microsoft Windows:

C:\> aws macie2 describe-buckets --criteria={\"replicationDetails.replicatedExternally\":{\"eq\":[\"true\"]}}

Dove:

  • ReplicationDetails.ReplicateDexternally specifica il nome JSON del campo Replicated esternally.

  • eq specifica l'operatore equals.

  • true specifica un valore booleano per il campo Replicato esternamente.

Esempio 6: trova i bucket in base a più criteri

Questo esempio utilizza il comando describe-buckets per interrogare i metadati relativi ai bucket presenti nella versione corrente Regione AWS e che soddisfano i seguenti criteri: sono accessibili pubblicamente in base a una combinazione di impostazioni di autorizzazione, memorizzano oggetti non crittografati e non sono associati ad alcun processo periodico di rilevamento di dati sensibili.

Per Linux, macOS o Unix, utilizzando il carattere di continuazione di riga con barra rovesciata (\) per migliorare la leggibilità:

$ aws macie2 describe-buckets \ --criteria '{"publicAccess.effectivePermission":{"eq":["PUBLIC"]},"objectCountByEncryptionType.unencrypted":{"gte":1},"jobDetails.isMonitoredByJob":{"eq":["FALSE"]}}'

Per Microsoft Windows, utilizzando il carattere di continuazione di riga con cursore (^) per migliorare la leggibilità:

C:\> aws macie2 describe-buckets ^ --criteria={\"publicAccess.effectivePermission\":{\"eq\":[\"PUBLIC\"]},\"objectCountByEncryptionType.unencrypted\":{\"gte\":1},\"jobDetails.isMonitoredByJob\":{\"eq\":[\"FALSE\"]}}

Dove:

  • PublicAccess.EffectivePermission specifica il nome JSON del campo di autorizzazione effettiva e:

    • eq specifica l'operatore equals.

    • PUBLIC è un valore enumerato per il campo Autorizzazione effettiva.

  • objectCountByEncryptionType.unencrypted specifica il nome JSON del campo Nessuna crittografia e:

    • gte specifica l'operatore maggiore o uguale a.

    • 1 è il valore più basso in un intervallo numerico relativo inclusivo per il campo Nessuna crittografia.

  • Dettagli del lavoro. isMonitoredByJob specifica il nome JSON del campo Actively monitored by job e:

    • eq specifica l'operatore equals.

    • FALSE è un valore enumerato per il campo Monitoraggio attivo tramite processo.