View a markdown version of this page

AWSSupport-ContainEC2Instance - AWS Systems Manager Riferimento al runbook dell’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 Come posso isolare l'istanza Amazon EC2 di fronte a un'istanza potenzialmente compromessa o sospetta? L'automazione si dirama in base ai valori specificati.

Come funziona?

Questo runbook di automazione AWSSupport-ContainEC2Instance esegue il contenimento della rete di un'istanza Amazon EC2 attraverso una serie di passaggi coordinati. Quando viene eseguito in Contain modalità, prima convalida i parametri di input e controlla 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 ad accesso illimitato e infine al gruppo di sicurezza di contenimento. Se specificato, crea backup non crittografati e AMI crittografati dell'istanza. Per le istanze di un gruppo Auto Scaling, gestisce le modifiche necessarie al gruppo Auto Scaling e porta l'istanza allo stato di standby. Se eseguito in Release modalità, ripristina l'istanza alla sua 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 varie operazioni che richiedono privilegi elevati, come la modifica dei gruppi di sicurezza, la creazione di AMI s e l'interazione con i gruppi Auto Scaling. Queste azioni potrebbero potenzialmente comportare l'escalation 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) Permissions AWS Systems Manager Automation Permissions

  • Questo runbook esegue azioni mutative che potrebbero potenzialmente causare indisponibilità o interruzioni dei carichi di lavoro. In particolare, modifica i gruppi di sicurezza associati all'istanza Amazon EC2 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 altri. AMI Sebbene queste risorse siano contrassegnate per l'identificazione, è necessario essere consapevoli della loro creazione e garantire una corretta pulizia o gestione una volta completato il processo di contenimento.

  • Se il Action parametro è impostato suRelease, questo runbook tenta di ripristinare la configurazione dell'istanza Amazon EC2 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 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 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:

JSON
{ "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. Accedi AWSSupport-ContainEC2Instance a Systems Manager in Documenti.

  2. Seleziona Execute automation (Esegui automazione).

  3. Per i parametri di input, inserisci 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 (obbligatoria):

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

      • Tipo: stringa

      • Pattern consentito: Contain|Restore

    • DryRun (Facoltativo):

      • Descrizione: (Facoltativo) Se impostata sutrue, l'automazione non eseguirà nessuno dei comandi, ma riporterà ciò che avrebbe tentato di fare, descrivendo in dettaglio ogni passaggio. Valore predefinito: true.

      • Tipo: Booleano

      • Valori consentiti: true|false

    • CreateAMIBackup (opzionale):

      • Descrizione: (Facoltativo) Se impostato sutrue, verrà creata una AMI delle istanze Amazon EC2 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'istanza Amazon EC2 crittografata AMI di destinazione. L'impostazione predefinita è impostata su. alias/aws/ebs

      • Tipo: stringa

      • Schema 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,})$

    • BackupS3BucketName (Condizionale):

      • Descrizione: bucket Amazon Amazon S3 (condizionale) per caricare la configurazione quando Action è Contain o per ripristinare la configurazione quando è. 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

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

    • 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 Contain L'utente oAutomationAssumeRole, in sua assenza, l'utente nel cui contesto è in esecuzione l'automazione viene aggiunto automaticamente all'elenco.

      • Tipo: stringa

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

    • IngressTrafficRules (Facoltativo):

      • 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, un gruppo di sicurezza senza regole di ingresso verrà collegato all'istanza Amazon EC2, isolandola efficacemente dal traffico in entrata.

      • Tipo: MapList

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

    • EgressTrafficRules (Facoltativo):

      • 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, un gruppo di sicurezza senza regole di uscita verrà collegato all'istanza Amazon EC2, impedendo efficacemente tutto il traffico in uscita.

      • Tipo: MapList

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

    • BackupS3KeyName (Facoltativo):

      • Descrizione: (Facoltativo) Se Action impostato suRestore, specifica la chiave Amazon S3 che l'automazione utilizzerà per provare a ripristinare la configurazione dell'istanza Amazon EC2 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

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

  4. Seleziona Esegui.

  5. L'automazione viene avviata.

  6. Il documento esegue i seguenti passaggi:

    • ValidateRequiredInputs

      Verifica che siano stati forniti tutti gli input richiesti.

    • AssertInstanceIsNotTerminated

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

    • GetAutoScalingInstanceInfo

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

    • CheckBackupS3BucketName

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

    • BranchOnActionAndMode

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

    • BranchOnAutoScalingGroupMembership

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

    • DescribeAutoScalingGroups

      Ottiene e memorizza 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 lo Standby stato dell'istanza Amazon EC2 e regolando la capacità del gruppo Auto Scaling. MinSize

    • BackupInstanceSecurityGroups

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

    • CreateAllAccessSecurityGroup

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

    • CreateContainmentSecurityGroup

      Crea un gruppo di sicurezza di contenimento restrittivo con le regole di ingresso e uscita specificate e sostituisce con esso il gruppo temporaneo con tutti gli accessi.

    • BranchOnCreateAMIBackup

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

    • AssertSourceInstanceRootVolumeIsEbs

      Verifica se il volume principale dell'istanza Amazon EC2 di destinazione è Amazon EBS.

    • CreateImage

      Crea una AMI delle istanze Amazon EC2 di destinazione.

    • RestoreInstanceConfiguration

      Ripristina la configurazione dell'istanza Amazon EC2 di destinazione dal backup.

    • ReportContain

      Fornisce i dettagli del funzionamento a secco 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 dell'istanza Amazon EC2 di destinazione durante uno scenario di errore del flusso di lavoro di ripristino.

    • ReportContainmentFailure

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

    • FinalOutput

      Fornisce i dettagli delle azioni di contenimento.

  7. Al termine dell'esecuzione, consulta la sezione Output per i risultati dettagliati dell'esecuzione:

    • FinalOutput.Output

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

    • RestoreInstanceConfiguration.Output

      Restituisce 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 dell'istanza Amazon EC2 di destinazione durante uno scenario di errore del flusso di lavoro di contenimento.

    • ReportRestoreFailure.Output

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

Riferimenti

Systems Manager Automation