Raccogli i log IAM AWS
Parser Version: 1.0
Questo documento spiega come importare i dati di configurazione di AWS Identity and Access Management (IAM) in Google Security Operations utilizzando il feed API di terze parti.
Il parser AWS IAM trasforma i dati delle entità IAM (utenti, gruppi, ruoli e policy) nel modello UDM (Unified Data Model) strutturato, estraendo campi come dettagli utente, informazioni sui ruoli, autorizzazioni e timestamp per un'analisi della sicurezza coerente.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso privilegiato alla console AWS
- Autorizzazioni per creare utenti e policy IAM
Ottieni gli intervalli IP di Google SecOps
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Prendi nota degli intervalli IP visualizzati nella parte superiore della pagina.
- In alternativa, recupera gli intervalli IP in modo programmatico utilizzando l'API Feed Management.
Crea un utente IAM con le autorizzazioni richieste
CRITICO:per consentire a Google SecOps di recuperare i dati IAM AWS utilizzando l'API, devi creare un utente IAM con le autorizzazioni in lettura appropriate.
Opzione A: utilizza una policy gestita da AWS (consigliata)
- Crea un utente seguendo le istruzioni riportate in questa guida: Creazione di un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Credenziali di sicurezza.
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Scarica file .csv per salvare l'ID chiave di accesso e la chiave di accesso segreta per riferimento futuro.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri di autorizzazione.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Allega direttamente le norme.
- Cerca IAMReadOnlyAccess (policy gestita da AWS).
- Seleziona la policy.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Importante:la policy IAMReadOnlyAccess include tutte le autorizzazioni richieste:
iam:GetUseriam:ListUsersiam:GetGroupiam:ListGroupsiam:GetPolicyiam:ListPoliciesiam:GetRoleiam:ListRolesiam:ListAttachedUserPoliciesiam:ListAttachedGroupPoliciesiam:ListAttachedRolePoliciesiam:GetAccountSummary
Opzione B: crea una policy personalizzata (privilegio minimo)
Se la tua policy di sicurezza richiede autorizzazioni minime anziché la policy gestita:
- Nella console AWS, vai a IAM > Policies > Create policy > scheda JSON.
Incolla la seguente policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetUser", "iam:ListUsers", "iam:GetGroup", "iam:ListGroups", "iam:GetPolicy", "iam:ListPolicies", "iam:GetRole", "iam:ListRoles", "iam:ListAttachedUserPolicies", "iam:ListAttachedGroupPolicies", "iam:ListAttachedRolePolicies", "iam:GetAccountSummary" ], "Resource": "*" } ] }Fai clic su Avanti.
Assegna al criterio il nome
chronicle-iam-api-read-policy.Fai clic su Crea policy.
Crea un utente seguendo le istruzioni riportate in questa guida: Creazione di un utente IAM.
Seleziona l'utente creato.
Seleziona la scheda Credenziali di sicurezza.
Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
Seleziona Servizio di terze parti come Caso d'uso.
Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
Fai clic su Crea chiave di accesso.
Fai clic su Scarica file .csv per salvare l'ID chiave di accesso e la chiave di accesso segreta per riferimento futuro.
Fai clic su Fine.
Seleziona la scheda Autorizzazioni.
Fai clic su Aggiungi autorizzazioni nella sezione Criteri di autorizzazione.
Seleziona Aggiungi autorizzazioni.
Seleziona Allega direttamente le norme.
Cerca e seleziona
chronicle-iam-api-read-policy.Fai clic su Avanti.
Fai clic su Aggiungi autorizzazioni.
Configura un feed in Google SecOps per importare i dati di configurazione IAM
Il feed AWS IAM raccoglie un elenco di entità IAM per feed, selezionato dal campo Tipo di API (Utenti, Ruoli o Gruppi). Per raccogliere tutte le entità IAM, crea un feed per ogni tipo di API, tutti utilizzando il tipo di log AWS IAM.
Utilizzo dell'hub dei contenuti (consigliato)
- Vai a Hub dei contenuti > Pacchetti di contenuti > Inizia.
- Fai clic sul pacchetto Amazon Cloud Platform.
- Trova il tipo di log AWS IAM nell'elenco.
- Seleziona API di terze parti dal menu a discesa Tipo di origine.
- Fornisci i seguenti dettagli di configurazione:
- Nome utente: l'ID chiave di accesso dell'utente IAM creato in precedenza.
- Secret: la chiave di accesso segreta dell'utente IAM creato in precedenza.
- Tipo di API: seleziona l'elenco di entità IAM da raccogliere: Utenti, Ruoli o Gruppi.
- Nome feed: un valore precompilato che identifica il feed (ad esempio,
AWS IAM Users). - Spazio dei nomi degli asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
- Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configura i feed per prodotto.
Utilizzo delle impostazioni SIEM
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
AWS IAM API Configuration). - Seleziona API di terze parti come Tipo di origine.
- Seleziona AWS IAM come Tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Nome utente: l'ID chiave di accesso dell'utente IAM creato in precedenza.
- Secret: la chiave di accesso segreta dell'utente IAM creato in precedenza.
- Tipo di API: seleziona l'elenco delle entità IAM da raccogliere: Utenti, Ruoli o Gruppi.
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
- Fai clic su Avanti.
- Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
Group.CreateDate |
entity.group.attribute.creation_time |
Analizzato come ISO8601 |
Group.Path |
entity.group.attribute.labels.value |
Mappato direttamente |
IsTruncated |
entity.group.attribute.labels.value |
Mappato direttamente |
Marker |
entity.group.attribute.labels.value |
Mappato direttamente |
Group.GroupName |
entity.group.email_addresses |
Unita |
Group.GroupName |
entity.group.group_display_name |
Mappato direttamente |
Group.GroupID |
entity.group.product_object_id |
Mappato direttamente |
RoleLastUsed.Region |
entity.location.name |
Mappato direttamente |
CreateDate |
entity.resource.attribute.creation_time |
Analizzato come ISO8601 |
MaxSessionDuration |
entity.resource.attribute.labels.value |
Mappato direttamente |
Path |
entity.resource.attribute.labels.value |
Mappato direttamente |
RoleLastUsed.LastUsedDate |
entity.resource.attribute.labels.value |
Mappato direttamente |
AssumeRolePolicyDocument |
entity.resource.attribute.permissions.name |
Mappato direttamente |
Description |
entity.resource.attribute.roles.description |
Mappato direttamente |
RoleName |
entity.resource.attribute.roles.name |
Mappato direttamente |
Arn |
entity.resource.name |
Mappato direttamente |
Group.Arn |
entity.resource.name |
Mappato direttamente |
RoleID |
entity.resource.product_object_id |
Mappato direttamente |
CreateDate |
entity.user.attribute.creation_time |
Analizzato come ISO8601 |
PasswordLastUsed |
entity.user.last_login_time |
Analizzato come ISO8601 |
UserID |
entity.user.product_object_id |
Mappato direttamente |
UserName |
entity.user.userid |
Mappato direttamente |
PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Mappato direttamente |
PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Mappato direttamente |
user.PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Mappato direttamente |
user.PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Mappato direttamente |
user.Arn |
relations.entity.resource.name |
Mappato direttamente |
user.CreateDate |
relations.entity.user.attribute.creation_time |
Analizzato come ISO8601 |
tag.Key |
relations.entity.user.attribute.labels.key |
Mappato direttamente |
Path |
relations.entity.user.attribute.labels.value |
Mappato direttamente |
tag.Value |
relations.entity.user.attribute.labels.value |
Mappato direttamente |
user.Path |
relations.entity.user.attribute.labels.value |
Mappato direttamente |
user.PasswordLastUsed |
relations.entity.user.last_login_time |
Analizzato come ISO8601 |
user.UserID |
relations.entity.user.product_object_id |
Mappato direttamente |
user.UserName |
relations.entity.user.userid |
Mappato direttamente |
| N/D | entity.group.attribute.labels.key |
Costante: is_truncated |
| N/D | entity.resource.attribute.cloud.environment |
Costante: AMAZON_WEB_SERVICES |
| N/D | entity.resource.attribute.labels.key |
Costante: max_session_duration |
| N/D | entity.resource.resource_subtype |
Costante: User |
| N/D | entity.resource.resource_type |
Costante: ACCESS_POLICY |
| N/D | metadata.entity_type |
Costante: USER |
| N/D | metadata.product_name |
Costante: AWS IAM |
| N/D | metadata.vendor_name |
Costante: AWS |
| N/D | relations.direction |
Costante: UNIDIRECTIONAL |
| N/D | relations.entity.resource.attribute.labels.key |
Costante: permissions_boundary_arn |
| N/D | relations.entity.resource.resource_subtype |
Costante: User |
| N/D | relations.entity.user.attribute.labels.key |
Costante: path |
| N/D | relations.entity_type |
Costante: USER |
| N/D | relations.relationship |
Costante: MEMBER |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.