AWSSupport-ContainEC2Instance - AWS Systems Manager Riferimento al runbook di automazione

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-ContainEC2Instance

Descrizione

Il AWSSupport-ContainEC2Instance runbook fornisce una soluzione automatizzata per la procedura descritta nell'articolo How do I isolate the Amazon EC2 Instance di fronte a un'istanza potenzialmente compromessa o sospetta? I rami di automazione dipendono dai valori specificati.

Come funziona?

Questo runbook di automazione AWSSupport-ContainEC2Instance esegue il contenimento di rete di un' EC2 istanza Amazon attraverso una serie di passaggi coordinati. Quando viene eseguito in Contain modalità, convalida innanzitutto i parametri di input e verifica se l'istanza non è terminata. Quindi esegue il backup della configurazione corrente del gruppo di sicurezza in un bucket Amazon S3 per un successivo ripristino. Il runbook crea due gruppi di sicurezza: un gruppo di sicurezza temporaneo «all access» e un gruppo di sicurezza finale «di contenimento». Passa gradualmente le interfacce di rete dell'istanza dai gruppi di sicurezza originali al gruppo di sicurezza con accesso illimitato e infine al gruppo di sicurezza di contenimento. Se specificato, crea sia dati non crittografati che crittografati AMI backup dell'istanza. Per le istanze in un gruppo Auto Scaling, gestisce le modifiche necessarie al gruppo Auto Scaling e porta l'istanza in stato di standby. Quando viene eseguito in Release modalità, ripristina l'istanza alla configurazione di rete originale utilizzando le impostazioni di backup di Amazon S3. Il runbook supporta un DryRun parametro per visualizzare in anteprima le azioni senza apportare modifiche effettive e include meccanismi completi di gestione e segnalazione degli errori in tutti i flussi di lavoro di contenimento e rilascio.

Importante
  • Questo runbook esegue diverse operazioni che richiedono privilegi elevati, come la modifica dei gruppi di sicurezza, la creazione AMIs e interazione con i gruppi di Auto Scaling. Queste azioni potrebbero potenzialmente portare a un aumento dei privilegi o influire su altri carichi di lavoro del tuo account. È necessario esaminare le autorizzazioni concesse al ruolo specificato dal AutomationAssumeRole parametro e assicurarsi che siano appropriate per il caso d'uso previsto. Puoi fare riferimento alla seguente AWS documentazione per ulteriori informazioni sulle autorizzazioni IAM:. AWS Identity and Access Management (IAM) PermissionsAWS Systems Manager Automation Permissions

  • Questo runbook esegue azioni mutative che potrebbero potenzialmente causare indisponibilità o interruzione dei carichi di lavoro. In particolare, modifica i gruppi di sicurezza associati all' EC2 istanza Amazon di destinazione, il che potrebbe influire sulla connettività di rete. Inoltre, se l'istanza fa parte di un gruppo Auto Scaling, il runbook può modificare la configurazione del gruppo, influendo potenzialmente sul suo comportamento di scalabilità.

  • Durante il processo di contenimento, questo runbook crea risorse aggiuntive, come gruppi di sicurezza e AMIs. Sebbene queste risorse siano contrassegnate per l'identificazione, è necessario essere consapevoli della loro creazione e garantire una corretta pulizia o gestione dopo il completamento del processo di contenimento.

  • Se il Action parametro è impostato suRelease, questo runbook tenta di ripristinare la configurazione dell' EC2 istanza Amazon allo stato originale. Tuttavia, esiste il rischio che il processo di ripristino non riesca, lasciando l'istanza in uno stato incoerente. Il runbook fornisce istruzioni per il ripristino manuale in caso di tali errori, ma è necessario essere preparati a gestire potenziali 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 azioni per utilizzare correttamente il runbook.

  • scalabilità automatica: CreateOrUpdateTags

  • scalabilità automatica: DeleteTags

  • scalabilità automatica: DescribeAutoScalingGroups

  • scalabilità automatica: DescribeAutoScalingInstances

  • scalabilità automatica: DescribeTags

  • scalabilità automatica: EnterStandby

  • scalabilità automatica: ExitStandby

  • scalabilità automatica: UpdateAutoScalingGroup

  • ec2: AuthorizeSecurityGroupEgress

  • ec2: AuthorizeSecurityGroupIngress

  • ec2: CopyImage

  • ec2: CreateImage

  • ec2: CreateSecurityGroup

  • ec2: CreateSnapshot

  • ec2: CreateTags

  • ec2: DeleteSecurityGroup

  • ec2: DeleteTags

  • ec2: DescribeImages

  • ec2: DescribeInstances

  • ec2: DescribeSecurityGroups

  • ec2: DescribeSnapshots

  • ec2: DescribeTags

  • ec2: ModifyNetworkInterfaceAttribute

  • ec2: RevokeSecurityGroupEgress

  • kms:CreateGrant

  • kms:DescribeKey

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptFrom

  • kms:ReEncryptTo

  • s3: CreateBucket

  • s3: DeleteObjectTagging

  • s3: GetAccountPublicAccessBlock

  • s3: GetBucketAcl

  • s3: GetBucketLocation

  • s3: GetBucketOwnershipControls

  • s3: GetBucketPolicy

  • s3: GetBucketPolicyStatus

  • s3: GetBucketPublicAccessBlock

  • s3: GetObject

  • s3: ListBucket

  • s3: PutAccountPublicAccessBlock

  • s3: PutBucketPolicy

  • s3: PutBucketVersioning

  • s3: PutObject

  • s3: PutObjectTagging

Politica di esempio:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOperations", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeTags", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeSnapshots", "ec2:DescribeTags", "kms:DescribeKey", "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketOwnershipControls", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:GetObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "WriteOperations", "Effect": "Allow", "Action": [ "autoscaling:CreateOrUpdateTags", "autoscaling:DeleteTags", "autoscaling:EnterStandby", "autoscaling:ExitStandby", "autoscaling:UpdateAutoScalingGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CopyImage", "ec2:CreateImage", "ec2:CreateSecurityGroup", "ec2:CreateSnapshot", "ec2:CreateTags", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:ModifyNetworkInterfaceAttribute", "ec2:RevokeSecurityGroupEgress", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo", "s3:CreateBucket", "s3:DeleteObjectTagging", "s3:PutAccountPublicAccessBlock", "s3:PutBucketPolicy", "s3:PutBucketVersioning", "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "*" } ] }

Istruzioni

Segui questi passaggi per configurare l'automazione:

  1. Accedere AWSSupport-ContainEC2Instancea Systems Manager nella sezione Documenti.

  2. Seleziona Execute automation (Esegui automazione).

  3. Per i parametri di input, immettete quanto segue:

    • AutomationAssumeRole (Facoltativo):

      • Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS AWS Identity and Access Management (IAM) 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

    • Azione (richiesta):

      • Descrizione: (Obbligatorio) Seleziona se Contain isolare l' EC2 istanza Amazon o provare Restore a ripristinare la configurazione originale della configurazione dell' EC2 istanza Amazon da un backup precedente.

      • Tipo: stringa

      • Modello consentito: Contain|Restore

    • DryRun (Opzionale):

      • Descrizione: (Facoltativo) Se impostata sutrue, l'automazione non eseguirà nessuno dei comandi, ma riporterà invece cosa avrebbe tentato di fare, dettagliando ogni passaggio. Valore predefinito: true.

      • Tipo: Booleano

      • Valori consentiti: true|false

    • Crea AMIBackup (opzionale):

      • Descrizione: (Facoltativo) Se impostato sutrue, un AMI dell' EC2 istanza Amazon verrà creata prima di eseguire le azioni di contenimento.

      • Tipo: Booleano

      • Valori consentiti: true|false

    • KmsKey (Facoltativo):

      • Descrizione: (Facoltativo) L'ID della AWS KMS chiave che verrà utilizzata per creare un file crittografato AMI dell' EC2 istanza Amazon di destinazione. L'impostazione predefinita è impostata sualias/aws/ebs.

      • Tipo: stringa

      • Modello consentito: ^(((arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:key/)?([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|mrk-[a-f0-9]{32}))|(arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:)?alias/.{1,})$

    • BackupS3 BucketName (condizionale):

      • Descrizione: bucket Amazon S3 (condizionale) per caricare la configurazione Action quando Contain è o per ripristinare la configurazione quando lo è. Action Release Nota: se il bucket fornito non esiste nell'account, l'automazione creerà un bucket Amazon S3 per tuo conto.

      • Tipo: AWS::S3::Bucket::Name

    • TagIdentifier (Facoltativo):

      • Descrizione: (Facoltativo) Un tag nel formato Key=BatchId,Value=78925 che verrà aggiunto alle AWS risorse create o modificate da questo runbook durante il flusso di lavoro di contenimento. Questo tag può essere utilizzato per identificare e gestire le risorse associate durante il processo di contenimento. Durante il flusso di lavoro di ripristino, il tag specificato da questo parametro verrà rimosso dalle risorse. Nota: le chiavi e i valori dei tag fanno distinzione tra maiuscole e minuscole.

      • Tipo: stringa

      • Modello consentito: ^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$

    • BackupS3 BucketAccess (condizionale):

      • Descrizione: (Condizionale) L'ARN degli utenti o dei ruoli IAM a cui sarà consentito l'accesso al bucket Amazon S3 di backup dopo l'esecuzione delle azioni di contenimento. Questo parametro è obbligatorio quando è. Action Contain L'utente oAutomationAssumeRole, in sua assenza, l'utente nel cui contesto viene eseguita l'automazione viene aggiunto automaticamente all'elenco.

      • Tipo: stringa

      • Modello consentito: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$

    • IngressTrafficRules (Opzionale):

      • Descrizione: (Facoltativo) Una mappa separata da virgole delle regole di ingresso dei gruppi di sicurezza con Cidr FromPort e ToPort nel formato [{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}] da applicare all'istanza Amazon EC2 . IpProtocol Se non viene fornita alcuna regola, all' EC2 istanza Amazon verrà associato un gruppo di sicurezza senza regole di ingresso, isolandola efficacemente dal traffico in entrata.

      • Tipo: MapList

      • Modello consentito: ^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}

    • EgressTrafficRules (Opzionale):

      • Descrizione: (Facoltativo) Una mappa separata da virgole delle regole di uscita dei gruppi di sicurezza con Cidr FromPort e ToPort nel formato [{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}] da applicare all'istanza Amazon Amazon EC2 . IpProtocol Se non viene fornita alcuna regola, all' EC2 istanza Amazon verrà associato un gruppo di sicurezza senza regole di uscita, impedendo efficacemente tutto il traffico in uscita.

      • Tipo: MapList

      • Modello consentito: ^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}

    • Backup S3 KeyName (opzionale):

      • Descrizione: (Facoltativo) Se Action impostato suRestore, specifica la chiave Amazon S3 che l'automazione utilizzerà per tentare di ripristinare la configurazione dell'istanza EC2 Amazon di destinazione. La chiave Amazon S3 segue in genere questo formato:. {year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json La chiave può essere ottenuta dall'output di una precedente esecuzione di automazione del contenimento.

      • Tipo: stringa

      • Modello consentito: ^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$

  4. Seleziona Esegui.

  5. L'automazione viene avviata.

  6. Il documento esegue le seguenti operazioni:

    • ValidateRequiredInputs

      Verifica che siano stati forniti tutti gli input richiesti.

    • AssertInstanceIsNotTerminated

      Verifica se l' EC2 istanza Amazon di destinazione non è terminata (eliminata).

    • GetAutoScalingInstanceInfo

      Ottiene il ciclo di vita dell' EC2 istanza Amazon e il nome del gruppo se l' EC2 istanza Amazon di destinazione fa parte di un gruppo Auto Scaling.

    • CheckBackupS3BucketName

      Verifica se il bucket Amazon S3 di destinazione concede read potenzialmente l'accesso write pubblico ai suoi oggetti. Se il bucket non esiste, viene creato un nuovo bucket Amazon S3BackupS3BucketName.

    • BranchOnActionAndMode

      Suddivide l'automazione in base ai parametri di input e. Action DryRun

    • BranchOnAutoScalingGroupMembership

      Suddivide l'automazione in base al fatto che l' EC2 istanza Amazon di destinazione faccia parte del gruppo Auto Scaling e al relativo stato del ciclo di vita.

    • DescribeAutoScalingGroups

      Ottiene e archivia la configurazione del gruppo Amazon EC2 Auto Scaling associata.

    • ModifyAutoScalingGroup

      Modifica la configurazione del gruppo Amazon EC2 Auto Scaling associato per le azioni di contenimento, impostando l'istanza EC2 Amazon sullo stato e regolando Standby la capacità del gruppo Auto Scaling. MinSize

    • BackupInstanceSecurityGroups

      Ottiene e archivia la configurazione dei gruppi di sicurezza Amazon EC2 Instance di destinazione.

    • CreateAllAccessSecurityGroup

      Crea un gruppo di sicurezza temporaneo che consente tutto il traffico in ingresso che sostituisce i gruppi di sicurezza di Amazon EC2 Instance di destinazione.

    • CreateContainmentSecurityGroup

      Crea un gruppo di sicurezza di contenimento restrittivo con le regole di ingresso e uscita specificate e sostituisce il gruppo temporaneo ad accesso completo con tale gruppo.

    • BranchOnCreateAMIBackup

      Suddivide l'automazione in base al parametro di input. CreateAMIBackup

    • AssertSourceInstanceRootVolumeIsEbs

      Verifica se il volume root di Amazon EC2 Instance di destinazione è Amazon EBS.

    • CreateImage

      Crea un AMI dell' EC2 istanza Amazon di destinazione.

    • RestoreInstanceConfiguration

      Ripristina la configurazione Amazon EC2 Instance di destinazione dal backup.

    • ReportContain

      Fornisce i dettagli del dry run per le azioni di contenimento.

    • ReportRestore

      Fornisce i dettagli del funzionamento a secco per le azioni di ripristino.

    • ReportRestoreFailure

      Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di ripristino.

    • ReportContainmentFailure

      Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di contenimento.

    • FinalOutput

      Fornisce i dettagli delle azioni di contenimento.

  7. Una volta completata l'esecuzione, consulta la sezione Output per i risultati dettagliati dell'esecuzione:

    • FinalOutput.Output

      Restituisce i dettagli delle azioni di contenimento eseguite da questo runbook quando DryRun è impostato su False.

    • RestoreInstanceConfiguration.Output

      Emette le azioni di ripristino eseguite da questo runbook quando DryRun è impostato su False.

    • ReportContain.Output

      Restituisce i dettagli delle azioni di contenimento eseguite da questo runbook quando DryRun è impostato su True.

    • ReportRestore.Output

      Restituisce i dettagli delle azioni di ripristino eseguite da questo runbook quando DryRun è impostato su True.

    • ReportContainmentFailure.Output

      Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di contenimento.

    • ReportRestoreFailure.Output

      Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di ripristino.

Riferimenti

Systems Manager Automation