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à.
AWSSupport-ContainIAMPrincipal
Descrizione
In caso di incidente di sicurezza o sospetta compromissione di un utente AWS Identity and Access Management (IAM) User/Role o AWS Identity Center (IDC), è fondamentale isolare rapidamente l'identità interessata preservandone la configurazione per le indagini. Il AWSSupport-ContainIAMPrincipal runbook fornisce un approccio strutturato e reversibile per contenere le identità IAM o IDC compromesse, bloccando efficacemente il loro accesso alle AWS risorse e prevenendo la potenziale diffusione della compromissione.
Questo processo automatizzato consente l'indagine senza alterazioni permanenti della configurazione dell'identità, consentendo il ripristino del normale accesso quando ritenuto opportuno. Il processo di contenimento mantiene l'utente o il ruolo all'interno di IAM o l'utente all'interno di IDC, isolandolo efficacemente da tutte le attività di rete. Questo isolamento impedisce alla risorsa di identità contenuta di comunicare con le risorse all'interno di Amazon Virtual Private Cloud o di accedere alle risorse Internet. Il contenimento è progettato per essere reversibile, consentendo il ripristino del normale accesso quando ritenuto opportuno.
Come funziona?
Il AWSSupport-ContainIAMPrincipal runbook implementa un processo di contenimento completo per gli utenti, i ruoli e gli utenti dell'Identity Center IAM. Se eseguito in Contain modalità, convalida innanzitutto tutti i parametri di input ed esegue controlli di sicurezza sul bucket Amazon S3 specificato. Raccoglie quindi informazioni dettagliate sul principale IAM di destinazione e applica misure di contenimento appropriate in base al tipo di principale. Per gli utenti IAM, disabilita le chiavi di accesso, rimuove l'accesso alla console e allega una policy di negazione. Per i ruoli IAM, allega una policy di negazione che revoca le autorizzazioni per le sessioni create prima del contenimento. Per gli utenti di Identity Center, rimuove i set di autorizzazioni, le appartenenze ai gruppi e applica una politica di negazione. Durante tutto il processo, il runbook esegue il backup della configurazione originale su un bucket Amazon S3 per un eventuale ripristino. Quando viene eseguito in Restore modalità, tenta di riportare il principale allo stato precedente al contenimento utilizzando la configurazione di backup. Il runbook include un'DryRunopzione per visualizzare in anteprima le modifiche senza applicarle e fornisce report completi sia sulle operazioni riuscite che sugli scenari di errore.
Importante
-
Uso di privilegi elevati: questo documento SSM esegue varie operazioni che richiedono privilegi elevati, come la modifica delle politiche di identità IAM e IDC e l'applicazione delle configurazioni di quarantena. Queste azioni potrebbero potenzialmente portare a un'escalation dei privilegi o influire su altri carichi di lavoro che dipendono dalle identità prese di mira. È necessario esaminare le autorizzazioni concesse al ruolo specificato dal
AutomationAssumeRoleparametro e assicurarsi che siano appropriate per il caso d'uso previsto. Puoi fare riferimento alla seguente AWS documentazione per ulteriori informazioni sulle autorizzazioni IAM: -
Rischi di indisponibilità del carico di lavoro: questo documento di Systems Manager esegue azioni di isolamento che potrebbero potenzialmente causare indisponibilità o interruzione dei carichi di lavoro. Se eseguito durante un evento di sicurezza, limiterà l'accesso alla risorsa interessata revocando le autorizzazioni AWS API dalle identità IAM e IDC specificate, impedendo loro di effettuare chiamate o azioni API. AWS Ciò potrebbe influire su qualsiasi applicazione o servizio che dipende da queste identità.
-
Creazione di risorse aggiuntive: il documento di automazione può creare in modo condizionale risorse aggiuntive, come un bucket Amazon Simple Storage Service (Amazon S3) e oggetti Amazon S3 in essi archiviati, a seconda dei parametri di esecuzione. Queste risorse comporteranno costi aggiuntivi in base all'utilizzo. AWS
-
Rischi di ripristino: se il parametro Action è impostato su
Restore, questo documento SSM tenta di ripristinare la configurazione dell'identità IAM o IDC allo stato originale. Tuttavia, esiste il rischio che il processo di ripristino non riesca, lasciando l'identità IAM o IDC in uno stato incoerente. Il documento fornisce istruzioni per il ripristino manuale in caso di tali errori, ma è necessario essere pronti a gestire eventuali problemi durante il processo di ripristino.
Si consiglia di esaminare attentamente il runbook, comprenderne i potenziali impatti e testarlo in un ambiente non di produzione prima di eseguirlo nell'ambiente di produzione.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
/
Autorizzazioni IAM richieste
Il AutomationAssumeRole parametro richiede le seguenti autorizzazioni per utilizzare correttamente il runbook:
-
s3: GetBucketLocation
-
s3: GetBucket
-
s3: ListBucket
-
s3: GetBucketPublicAccessBlocks
-
s3: GetAccountPublicAccessBlocks
-
s3: GetBucketPolicyStatus
-
s3: GetBucketAcl
-
s3: GetObject
-
s3: CreateBucket
-
s3: PutObject
-
sono: GetUser
-
sono: GetUserPolicy
-
sono: GetRole
-
sono: ListUserPolicies
-
sono: ListAttachedUserPolicies
-
sono: ListAccessKeys
-
sono: ListMfaDevices
-
sono: ListVirtualMFADevices
-
sono: GetLoginProfile
-
sono: GetPolicy
-
sono: GetRolePolicy
-
sono: ListPolicies
-
sono: ListAttachedRolePolicies
-
sono: ListRolePolicies
-
sono: UpdateAccessKey
-
sono: CreateAccessKey
-
sono: DeleteLoginProfile
-
sono: DeleteAccessKey
-
sono: PutUserPolicy
-
sono: DeleteUserPolicy
-
iam:DeactivateMFADevice
-
sono: AttachRolePolicy
-
sono: AttachUserPolicy
-
sono: DeleteRolePolicy
-
Iam: tagMFA Device
-
sono: PutRolePolicy
-
sono: TagPolicy
-
sono: TagRole
-
sono: TagUser
-
sono: UntagUser
-
sono: UntagRole
-
organizzazioni: ListAccounts
-
così: ListPermissionSetsProvisionedToAccount
-
sso: GetInlinePolicyForPermissionSet
-
sso: ListInstances
-
cartella sso: SearchUsers
-
sso: ListPermissionSets
-
sso: ListAccountAssignments
-
cartella sso: DescribeUser
-
archivio di identità: ListUsers
-
archivio di identità: ListGroups
-
archivio di identità: IsMemberInGroups
-
archivio di identità: ListGroupMemberships
-
gestore dei segreti: CreateSecret
-
responsabile dei segreti: DeleteSecret
-
così: DeleteAccountAssignment
-
sso: PutInlinePolicyToPermissionSet
-
sso: CreateAccountAssignment
-
sso: DeleteInlinePolicyFromPermissionSet
-
sso: TagResource
-
sso: UntagResource
-
archivio di identità: DeleteGroupMembership
-
archivio di identità: CreateGroupMembership
Ecco un esempio di policy IAM che concede le autorizzazioni necessarie per: AutomationAssumeRole
Istruzioni
Segui questi passaggi per configurare l'automazione:
-
Accedere alla console AWSSupport-ContainIAMPrincipal
di AWS Systems Manager. -
Seleziona Execute automation (Esegui automazione).
-
Per i parametri di input, immettete quanto segue:
-
AutomationAssumeRole (Facoltativo):
-
Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo IAM ( AWS Identity and Access Management) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.
-
Tipo:
AWS::IAM::Role::Arn
-
-
PrincipalType (Obbligatorio):
-
Descrizione: (Obbligatorio) Tipo principale AWS IAM: utente IAM, ruolo IAM o utente dell'Identity Center.
-
Tipo: stringa
-
Valori consentiti:
IAM user|IAM role|Identity Center user
-
-
PrincipalName (Obbligatorio):
-
Descrizione: (Obbligatorio) Il nome del responsabile IAM. Per gli utenti di Identity Center, fornisci il nome utente.
-
Tipo: stringa
-
Modello consentito:
^[a-zA-Z0-9\\.\\-_\\\\!*'()/+=,@]{1,1024}$
-
-
Azione (obbligatoria):
-
Descrizione: (Obbligatorio) Seleziona
Containper isolare il principale IAM di destinazione o per provareRestorea ripristinare il principale IAM alla sua configurazione originale da un backup precedente. -
Tipo: stringa
-
Valori consentiti:
Contain|Restore
-
-
DryRun (Facoltativo):
-
Descrizione: (Facoltativo) Se impostata su
true, l'automazione non apporterà alcuna modifica al principale IAM di destinazione, ma restituirà ciò che avrebbe tentato di modificare, specificando in dettaglio ogni passaggio. Valore predefinito:true. -
Tipo: Booleano
-
Valori consentiti:
true|false
-
-
ActivateDisabledKeys(Condizionale):
-
Descrizione: (Condizionale) Se il parametro di input Action è impostato su
Restoree PrincipalType è impostato su utente IAM, questa opzione determina se questa automazione deve provare ad attivare le chiavi di accesso associate se disattivate. Tieni presente che l'integrità di una chiave di accesso compromessa non può essere verificata. AWS sconsiglia vivamente di riattivare una chiave compromessa. È invece consigliabile generare nuove chiavi. Valore predefinito:false. -
Tipo: Booleano
-
Valori consentiti:
true|false
-
-
BackupS3BucketName (Condizionale):
-
Descrizione: (condizionale) Il bucket Amazon S3 per il backup della configurazione principale IAM quando l'Action è impostata
Containo per ripristinare la configurazione da quando l'Action è impostata.RestoreNota che se l'Action specificata èContaine il runbook non è in grado di accedere al bucket o non viene fornito un valore, nel tuo account viene creato un nuovo bucket con il nome.awssupport-containiamprincipal-<random-string>Se DryRun è impostato sutruequesto parametro è obbligatorio. -
Tipo:
AWS::S3::Bucket::Name
-
-
BackupS3KeyName (Condizionale):
-
Descrizione: (Condizionale) Se Action è impostato su
Restore, specifica la chiave Amazon Amazon S3 che l'automazione utilizzerà per provare a ripristinare la configurazione principale IAM. La chiave Amazon Amazon S3 segue in genere questo formato:.{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.jsonLa chiave può essere ottenuta dall'output di una precedente esecuzione di automazione del contenimento. -
Tipo: stringa
-
Schema consentito:
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
BackupS3BucketAccess(Condizionale):
-
Descrizione: (condizionale) L'ARN degli utenti o dei ruoli IAM a cui sarà consentito l'accesso al bucket Amazon S3 di backup dopo aver eseguito le azioni di contenimento. Questo parametro è obbligatorio quando Action è.
ContainL'utente o AutomationAssumeRole, in sua assenza, l'utente nel cui contesto è in esecuzione l'automazione viene aggiunto automaticamente all'elenco. -
Tipo: StringList
-
Schema consentito:
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
-
TagIdentifier (Facoltativo):
-
Descrizione: (Facoltativo) Contrassegna il principale IAM con un tag a tua scelta utilizzando il seguente formato:
Key=<EXAMPLE_KEY>,Value=<EXAMPLE_VALUE>. Questa opzione ti consente di tenere traccia dei principali IAM che sono stati presi di mira da questo runbook. Nota: le chiavi e i valori dei tag fanno distinzione tra maiuscole e minuscole. -
Tipo: stringa
-
Schema consentito:
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
-
-
Seleziona Esegui.
-
L'automazione viene avviata.
-
Il documento esegue i seguenti passaggi:
-
ValidateRequiredInputs
Convalida i parametri di input di automazione richiesti in base a quelli
Actionspecificati. -
CheckBackupS3BucketName
Verifica se il bucket Amazon S3 di destinazione concede
readpotenzialmente l'accessowritepubblico ai suoi oggetti. In caso di flusso di lavoro di contenimento, viene creato un nuovo bucket Amazon Amazon S3 se il bucket non esiste.BackupS3BucketName -
BranchOnAction
Suddivide l'automazione in base al valore specificato.
Action -
BranchOnPrincipalTypeAndDryRun
Suddivide l'automazione in base al tipo di responsabile IAM (utente IAM, ruolo IAM o utente dell'Identity Center) e se è in esecuzione in
DryRunmodalità. -
BranchOnPrincipalTypeForContain
Suddivide l'automazione in base
Containall'azione e al tipo di principale IAM (utente IAM, ruolo IAM o utente dell'Identity Center) specificati nell'input. -
GetIAMUser
Ottiene l'ora di creazione e il nome utente dell'utente IAM di destinazione.
-
GetIAMUserDetails
Ottiene e memorizza la configurazione dell'utente IAM di destinazione, comprese le policy in linea, le policy gestite, le chiavi di accesso, i dispositivi MFA e il profilo di accesso.
-
UpdateS3KeyForUser
Aggiorna la variabile di automazione 'S3Key' dall'output del passaggio.
GetIAMUserDetails -
Ottieni IAMRole
Ottiene l'ora di creazione, il nome del ruolo e il percorso del ruolo IAM di destinazione.
-
GetIAMRoleDetails
Ottiene e memorizza la configurazione del ruolo IAM di destinazione, incluse le policy in linea e le policy gestite associate al ruolo.
-
UpdateS3KeyForRole
Aggiorna la variabile di automazione 'S3Key' dall'output del passaggio.
GetIAMRoleDetails -
GetIdentityStoreId
Ottiene l'ID dell'istanza AWS IAM Identity Center associata all' AWS account.
-
GetIDCUser
Ottiene l'ID utente dell'utente di Identity Center di destinazione utilizzando l'Identity Store ID.
-
GatherIDCUserDetails
Ottiene e memorizza la configurazione dell'utente di Identity Center di destinazione, comprese le assegnazioni degli account, i set di autorizzazioni associati e le politiche in linea.
-
UpdateS3KeyForIDCUser
Aggiorna la variabile di automazione 'S3Key' dall'output del passaggio.
GatherIDCUserDetails -
BranchOnIdentityContain
Suddivide l'automazione in base al valore
DryRune al tipo principale IAM dell'Containazione. -
BranchOnDisableAccessKeys
Suddivide l'automazione in base al fatto che l'utente IAM disponga di chiavi di accesso che devono essere disabilitate.
-
DisableAccessKeys
Disattiva le chiavi di accesso degli utenti IAM attivi.
-
BranchOnDisableConsoleAccess
Si ramifica in base al fatto che l'utente IAM abbia abilitato o meno l'accesso alla console di AWS gestione.
-
DisableConsoleAccess
Rimuove l'accesso basato su password dell'utente IAM alla console di gestione. AWS
-
AttachInlineDenyPolicyToUser
Allega una policy di negazione all'utente IAM per revocare le autorizzazioni per i token di sessione precedenti.
-
AttachInlineDenyPolicyToRole
Allega una policy di negazione al ruolo IAM per revocare le autorizzazioni per i token di sessione precedenti.
-
RemovePermissionSets
Rimuove i set di autorizzazioni associati all'utente di Identity Center.
-
RemoveIDCUserFromIDCGroups
Rimuove l'utente dell'Identity Center dai gruppi di Identity Center.
-
AttachInlineDenyPolicyToPermissionSet
Allega una politica di negazione ai set di autorizzazioni associati all'utente di Identity Center.
-
BranchOnReactivateKeys
Suddivide l'automazione in base al
ActivateDisabledKeysparametro durante il processo di ripristino. -
DetachInlineDenyPolicy
Rimuove la politica di negazione associata al ruolo IAM durante il processo di contenimento.
-
DetachInlineDenyPolicyFromPermissionSet
Rimuove la politica di negazione associata ai set di autorizzazioni durante il processo di contenimento.
-
ReportContain
Fornisce informazioni dettagliate sulle azioni di contenimento che verrebbero eseguite quando
DryRunè impostato su.True -
ReportRestore
Fornisce informazioni dettagliate sulle azioni di ripristino che verrebbero eseguite quando
DryRunè impostato su.True -
ReportContainFailure
Fornisce istruzioni complete per ripristinare manualmente la configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di contenimento.
-
ReportRestoreFailure
Fornisce istruzioni dettagliate per completare manualmente il ripristino della configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di ripristino.
-
-
Al termine dell'esecuzione, consulta la sezione Output per i risultati dettagliati dell'esecuzione:
-
ContainIAMPrincipal.Output
Fornisce informazioni dettagliate sulle azioni di contenimento eseguite quando Action è impostato su Contain ed DryRun è impostato su False. Include informazioni sulla posizione del backup, sulle politiche di rifiuto applicate e sulle configurazioni modificate.
-
RestoreIAMPrincipal.Output
Fornisce informazioni dettagliate sulle azioni di ripristino eseguite quando Action è impostato su Restore ed DryRun è impostato su False. Include informazioni sulle configurazioni ripristinate e su eventuali problemi riscontrati durante il ripristino.
-
ReportContain.Output
Fornisce informazioni dettagliate sulle azioni di contenimento che verrebbero eseguite quando Action è impostato su Contain ed DryRun è impostato su True. Include un confronto tra le configurazioni attuali e successive al contenimento.
-
ReportRestore.Output
Fornisce informazioni dettagliate sulle azioni di ripristino che verrebbero eseguite quando Action è impostato su Restore ed DryRun è impostato su True. Mostra la configurazione corrente e la configurazione originale che verrebbe ripristinata.
-
ReportContainFailure.Output
Fornisce istruzioni complete per ripristinare manualmente la configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di contenimento.
-
ReportRestoreFailure.Output
Fornisce istruzioni dettagliate per completare manualmente il ripristino della configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di ripristino.
-
Output
Al termine dell'esecuzione, consulta la sezione Output per i risultati dettagliati:
-
ContainIAMPrincipal.Output
Fornisce informazioni dettagliate sulle azioni di contenimento eseguite quando Action è impostato su Contain ed DryRun è impostato su False. Include informazioni sulla posizione del backup, sulle politiche di rifiuto applicate e sulle configurazioni modificate.
-
RestoreIAMPrincipal.Output
Fornisce informazioni dettagliate sulle azioni di ripristino eseguite quando Action è impostato su Restore ed DryRun è impostato su False. Include informazioni sulle configurazioni ripristinate e su eventuali problemi riscontrati durante il ripristino.
-
ReportContain.Output
Fornisce informazioni dettagliate sulle azioni di contenimento che verrebbero eseguite quando Action è impostato su Contain ed DryRun è impostato su True. Include un confronto tra le configurazioni attuali e successive al contenimento.
-
ReportRestore.Output
Fornisce informazioni dettagliate sulle azioni di ripristino che verrebbero eseguite quando Action è impostato su Restore ed DryRun è impostato su True. Mostra la configurazione corrente e la configurazione originale che verrebbe ripristinata.
-
ReportContainFailure.Output
Fornisce istruzioni complete per ripristinare manualmente la configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di contenimento.
-
ReportRestoreFailure.Output
Fornisce istruzioni dettagliate per completare manualmente il ripristino della configurazione originale del responsabile IAM durante uno scenario di errore del flusso di lavoro di ripristino.
Riferimenti
Systems Manager Automation