Gestione automatica delle EC2 istanze con la configurazione di gestione host predefinita - AWS Systems Manager

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

Gestione automatica delle EC2 istanze con la configurazione di gestione host predefinita

L'impostazione Default Host Management Configuration AWS Systems Manager consente di gestire automaticamente EC2 le istanze Amazon come istanze gestite. Un'istanza gestita è un' EC2 istanza configurata per l'uso con Systems Manager.

I vantaggi della gestione delle istanze con Systems Manager includono:

  • Connect alle EC2 istanze in modo sicuro utilizzando Session Manager.

  • Esegui scansioni automatiche delle patch utilizzando Patch Manager.

  • Visualizzare informazioni dettagliate sulle istanze utilizzando Inventario di Systems Manager Inventory.

  • Tieni traccia e gestisci le istanze utilizzando Fleet Manager.

  • Keep (Mantieni) SSM Agent aggiornato automaticamente.

Fleet Manager, Inventario, Patch Managere Session Manager sono strumenti in Systems Manager.

La configurazione di gestione host predefinita consente di gestire EC2 le istanze senza dover creare manualmente un profilo di istanza AWS Identity and Access Management (IAM). Invece, Default Host Management Configuration crea e applica un ruolo IAM predefinito per garantire che Systems Manager disponga delle autorizzazioni per gestire tutte le istanze nel Account AWS e in Regione AWS cui è attivato.

Se le autorizzazioni fornite non sono sufficienti per il tuo caso d'uso, è possibile anche aggiungere policy al ruolo IAM predefinito creato dalla configurazione di gestione host predefinita. In alternativa, se non hai bisogno di autorizzazioni per tutte le funzionalità fornite dal ruolo IAM predefinito, è possibile creare ruoli e policy personalizzati. Qualsiasi modifica apportata al ruolo IAM scelto per la configurazione di gestione host predefinita si applica a tutte le EC2 istanze Amazon gestite nella regione e nell'account.

Per ulteriori informazioni sulla policy utilizzata dalla configurazione di gestione host predefinita, consulta la pagina AWS politica gestita: Amazon SSMManaged EC2 InstanceDefaultPolicy.

Implementazione dell'accesso con privilegio minimo

La procedura in questo argomento deve essere eseguita solo dagli amministratori. Pertanto, si consiglia di implementare l'accesso con privilegi minimi per impedire agli utenti non amministrativi di configurare o modificare la funzionalità Configurazione di gestione host predefinita. Per visualizzare esempi di policy che limitano l'accesso alla funzionalità Configurazione di gestione host predefinita, consulta Esempi di policy con privilegi minimi per la funzionalità Configurazione di gestione host predefinita più avanti in questo argomento.

Importante

Le informazioni di registrazione delle istanze registrate utilizzando la configurazione di gestione host predefinita sono archiviate localmente nelle directory var/lib/amazon/ssm o C:\ProgramData\Amazon. La rimozione di tali directory o dei relativi file impedirà all'istanza di acquisire le credenziali necessarie per connettersi a Systems Manager utilizzando la configurazione di gestione host predefinita. In questi casi, è necessario utilizzare un profilo dell'istanza IAM per fornire le autorizzazioni richieste all'istanza o ricreare l'istanza.

Prerequisiti

Per utilizzare Default Host Management Configuration nel Regione AWS luogo in Account AWS cui si attiva l'impostazione, è necessario soddisfare i seguenti requisiti.

  • Un'istanza da gestire deve utilizzare Instance Metadata Service Version 2 (IMDSv2).

    La configurazione di gestione host predefinita non supporta Instance Metadata Service versione 1. Per informazioni sulla transizione a IMDSv2, consulta Transition to using Instance Metadata Service Version 2 nella Amazon EC2 User Guide

  • SSM Agent la versione 3.2.582.0 o successiva deve essere installata sull'istanza da gestire.

    Per informazioni sul controllo della versione di SSM Agent installato sulla tua istanza, vediVerifica del SSM Agent numero di versione.

    Per informazioni sull'aggiornamento SSM Agent, consulta Aggiornamento automatico SSM Agent.

  • L'amministratore che esegue le attività descritte in questo argomento deve disporre delle autorizzazioni per le GetServiceSettingoperazioni relative all'UpdateServiceSettingAPI e. ResetServiceSetting Inoltre, è necessario disporre delle autorizzazioni per l'autorizzazione iam:PassRole del ruolo IAM AWSSystemsManagerDefaultEC2InstanceManagementRole. Quello seguente è un esempio di policy che concede queste autorizzazioni. Sostituisci ogni example resource placeholder con le tue informazioni.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting", "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Condition": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com" ] } } } ] }
  • Se un profilo di istanza IAM è già collegato a un' EC2 istanza che deve essere gestita tramite Systems Manager, è necessario rimuovere tutte le autorizzazioni che consentono l'ssm:UpdateInstanceInformationoperazione. SSM Agent tenta di utilizzare le autorizzazioni del profilo di istanza prima di utilizzare le autorizzazioni di Default Host Management Configuration. Se consenti l'operazione ssm:UpdateInstanceInformation nel profilo dell'istanza IAM, l'istanza non utilizzerà le autorizzazioni della configurazione di gestione host predefinita.

Attivazione dell'impostazione di Configurazione di gestione host predefinita

È possibile attivare la configurazione predefinita della gestione dell'host dal Fleet Manager console o utilizzando AWS Command Line Interface o AWS Tools for Windows PowerShell.

Devi attivare la configurazione di gestione host predefinita una alla volta in ogni regione in cui desideri che le tue EC2 istanze Amazon vengano gestite da questa impostazione.

Dopo aver attivato la Configurazione di gestione host predefinita, le istanze potrebbero impiegare fino a 30 minuti per utilizzare le credenziali del ruolo scelto nel Passaggio 5 della seguente procedura.

Per attivare la funzionalità Configurazione di gestione host predefinita (console)
  1. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli Fleet Manager.

  3. Scegli Gestione account, Configura la Configurazione di gestione host predefinita.

  4. Attiva Abilita la configurazione di gestione host predefinita.

  5. Scegli il ruolo AWS Identity and Access Management (IAM) utilizzato per abilitare gli strumenti Systems Manager per le tue istanze. Ti consigliamo di utilizzare il ruolo predefinito fornito dalla configurazione di gestione host predefinita. Contiene il set minimo di autorizzazioni necessarie per gestire le EC2 istanze Amazon utilizzando Systems Manager. Se preferisci utilizzare un ruolo personalizzato, la policy di attendibilità del ruolo deve riconoscere Systems Manager come un'entità attendibile.

  6. Scegli Configura per completare la configurazione.

Per attivare la funzionalità Configurazione di gestione host predefinita (riga di comando)
  1. Crea un file JSON sul tuo computer locale contenente la seguente policy di attendibilità.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  2. Apri AWS CLI o Tools for Windows PowerShell ed esegui uno dei seguenti comandi, a seconda del tipo di sistema operativo del computer locale, per creare un ruolo di servizio nel tuo account. Sostituisci ogni example resource placeholder con le tue informazioni.

    Linux & macOS
    aws iam create-role \ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole \ --path /service-role/ \ --assume-role-policy-document file://trust-policy.json
    Windows
    aws iam create-role ^ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole ^ --path /service-role/ ^ --assume-role-policy-document file://trust-policy.json
    PowerShell
    New-IAMRole ` -RoleName "AWSSystemsManagerDefaultEC2InstanceManagementRole" ` -Path "/service-role/" ` -AssumeRolePolicyDocument "file://trust-policy.json"
  3. Esegui il comando seguente per collegare la policy gestita AmazonSSMManagedEC2InstanceDefaultPolicy al ruolo appena creato. Sostituisci ogni example resource placeholder con le tue informazioni.

    Linux & macOS
    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy \ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole
    Windows
    aws iam attach-role-policy ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy ^ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole
    PowerShell
    Register-IAMRolePolicy ` -PolicyArn "arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy" ` -RoleName "AWSSystemsManagerDefaultEC2InstanceManagementRole"
  4. Apri AWS CLI o Tools for Windows PowerShell ed esegui il comando seguente. Sostituisci ogni example resource placeholder con le tue informazioni.

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role \ --setting-value service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role ^ --setting-value service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" ` -SettingValue "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole"

    Se il comando va a buon fine, non viene generato output.

  5. Esegui il comando seguente per visualizzare le impostazioni correnti del servizio per la configurazione predefinita della gestione host nella versione corrente Account AWS e Regione AWS.

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"

    Il comando restituisce informazioni simili alle seguenti.

    {
        "ServiceSetting": {
            "SettingId": "/ssm/managed-instance/default-ec2-instance-management-role",
            "SettingValue": "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
            "LastModifiedDate": "2022-11-28T08:21:03.576000-08:00",
            "LastModifiedUser": "System",
            "ARN": "arn:aws:ssm:us-east-2:-123456789012:servicesetting/ssm/managed-instance/default-ec2-instance-management-role",
            "Status": "Custom"
        }
    }

Disattivazione dell'impostazione di Configurazione di gestione host predefinita

È possibile disattivare la configurazione predefinita della gestione dell'host dal Fleet Manager console o utilizzando AWS Command Line Interface o AWS Tools for Windows PowerShell.

Devi disattivare l'impostazione di Default Host Management Configuration una alla volta in ogni regione in cui non desideri più che le tue EC2 istanze Amazon vengano gestite da questa configurazione. La disattivazione in una Regione non comporta la disattivazione in tutte le Regioni.

Se disattivi la configurazione predefinita della gestione degli host e non hai collegato un profilo di istanza alle tue EC2 istanze Amazon che consenta l'accesso a Systems Manager, queste non saranno più gestite da Systems Manager.

Per disattivare la funzionalità Configurazione di gestione host predefinita (console)
  1. Apri la AWS Systems Manager console all'indirizzo. https://console.aws.amazon.com/systems-manager/

  2. Nel riquadro di navigazione, scegli Fleet Manager.

  3. Scegli Gestione account, Configurazione di gestione host predefinita.

  4. Disattiva Abilita configurazione di gestione host predefinita.

  5. Scegli Configura per disabilitare la configurazione di gestione host predefinita.

Per disattivare la funzionalità Configurazione di gestione host predefinita (riga di comando)
  • Apri AWS CLI o Strumenti per Windows PowerShell ed esegui il seguente comando. Sostituisci ogni example resource placeholder con le tue informazioni.

    Linux & macOS
    aws ssm reset-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    Windows
    aws ssm reset-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    PowerShell
    Reset-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"

Esempi di policy con privilegi minimi per la funzionalità Configurazione di gestione host predefinita

Le seguenti policy di esempio mostrano come impedire ai membri dell'organizzazione di apportare modifiche all'impostazione della funzionalità Configurazione di gestione host predefinita nell'account.

Politica di controllo del servizio per AWS Organizations

La seguente politica illustra come impedire ai membri non amministrativi dell'utente di aggiornare l'impostazione predefinita della configurazione di gestione dell'host. AWS Organizations Sostituisci ogni example resource placeholder con le tue informazioni.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": [ "ssm:UpdateServiceSetting", "ssm:ResetServiceSetting" ], "Resource": "arn:aws:ssm:*:*:servicesetting/ssm/managed-instance/default-ec2-instance-management-role", "Condition": { "StringNotEqualsIgnoreCase": { "aws:PrincipalTag/job-function": [ "administrator" ] } } }, { "Effect": "Deny", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" }, "StringNotEqualsIgnoreCase": { "aws:PrincipalTag/job-function": [ "administrator" ] } } }, { "Effect": "Deny", "Resource": "arn:aws:iam::*:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole" ], "Condition": { "StringNotEqualsIgnoreCase": { "aws:PrincipalTag/job-function": [ "administrator" ] } } } ] }

Policy per i principali IAM

La seguente policy dimostra come impedire a gruppi, ruoli o utenti IAM dell'utente di aggiornare l'impostazione AWS Organizations della configurazione di gestione host predefinita. Sostituisci ogni example resource placeholder con le tue informazioni.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:UpdateServiceSetting", "ssm:ResetServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" }, { "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole" } ] }