Policy IAM di esempio per Session Manager - 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à.

Policy IAM di esempio per Session Manager

Usa gli esempi in questa sezione per aiutarti a creare policy AWS Identity and Access Management (IAM) che forniscano le autorizzazioni di Session Manager accesso più comunemente necessarie.

Nota

Puoi anche utilizzare una AWS KMS key policy per controllare a quali entità IAM (utenti o ruoli) Account AWS viene concesso l'accesso alla tua chiave KMS. Per informazioni, consulta Panoramica sulla gestione dell'accesso alle AWS KMS risorse e sull'utilizzo delle politiche chiave AWS KMS nella Guida per gli AWS Key Management Service sviluppatori.

Policy di avvio rapido per utenti finali per Session Manager

Utilizzare gli esempi seguenti per creare policy IAM per l'utente finale per Session Manager.

Puoi creare una policy che consenta agli utenti di avviare sessioni solo dalla Session Manager console e AWS Command Line Interface (AWS CLI), solo dalla console Amazon Elastic Compute Cloud (Amazon EC2) o da tutte e tre.

Queste policy offrono agli utenti finali la possibilità di avviare una sessione per una determinato nodo gestito nonché la possibilità di terminare solo le proprie sessioni. Per alcuni esempi di personalizzazioni che potresti applicare alla policy, fai riferimento a Altre policy IAM di esempio per Session Manager.

Nei seguenti criteri di esempio, sostituisci ciascuno segnaposto delle risorse di esempio con le tue informazioni.

Scegliere una delle seguenti schede per visualizzare e policy di esempio per l'intervallo di accesso alla sessione che si desidera fornire.

Session Manager and Fleet Manager

Usa questa policy di esempio per offrire agli utenti la possibilità di avviare e riprendere le sessioni solo dalle Session Manager console e. Fleet Manager

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 to explain a line in a JSON policy } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 3 to explain a line in a JSON policy ], "Resource": "key-name" } ] }
Amazon EC2

Utilizzare questa policy di esempio per fornire agli utenti la possibilità di avviare e riprendere sessioni solo dalla console Amazon EC2. Questa policy non fornisce tutte le autorizzazioni necessarie per avviare le sessioni dalla console Session Manager e dall' AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 4 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
AWS CLI

Utilizza questo criterio di esempio per offrire agli utenti la possibilità di avviare e riprendere sessioni da. AWS CLI

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 4 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 to explain a line in a JSON policy } } }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 3 to explain a line in a JSON policy ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell è il nome di default del documento SSM creato da Session Manager per archiviare le preferenze di configurazione della sessione. Puoi creare un documento di sessione personalizzato e specificarlo in questa policy. È inoltre possibile specificare il documento AWS fornito AWS-StartSSHSession per gli utenti che iniziano le sessioni utilizzando SSH. Per informazioni sui passaggi di configurazione necessari per supportare le sessioni che utilizzano SSH, vedi (Facoltativo) Consentire e controllare le autorizzazioni per le connessioni SSH tramite. Session Manager

2 Se specifichi l'elemento di condizione ssm:SessionDocumentAccessCheck come true, il sistema controlla che un utente abbia accesso esplicito al documento di sessione definito, in questo esempio SSM-SessionManagerRunShell, prima di stabilire una sessione. Per ulteriori informazioni, consulta Applicare un controllo delle autorizzazioni dei documento di sessione all'avvio di una sessione.

3 L'autorizzazione kms:GenerateDataKey consente la creazione di una chiave di crittografia dei dati che verrà utilizzata per crittografare i dati delle sessioni. Se utilizzerai la crittografia AWS Key Management Service (AWS KMS) per i dati della sessione, sostituisci key-name con l'Amazon Resource Name (ARN) della chiave KMS che desideri utilizzare, nel formato. arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE Se non utilizzi la crittografia delle chiavi KMS per i dati delle sessioni, rimuovi i seguenti contenuti dalla policy:

, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

Per informazioni sull'utilizzo AWS KMS per crittografare i dati della sessione, consulta. Attiva la crittografia delle chiavi KMS per i dati delle sessioni (console)

4 L'autorizzazione per SendCommandè necessaria nei casi in cui un utente tenta di avviare una sessione dalla console Amazon EC2, ma SSM Agent deve prima essere aggiornata alla versione minima richiesta. Session Manager Run Commandviene utilizzato per inviare un comando all'istanza per aggiornare l'agente.

Policy di avvio rapido per amministratori per Session Manager

Utilizzare gli esempi seguenti per creare policy di amministratore IAM per Session Manager.

Queste policy offrono agli amministratori la possibilità di avviare una sessione per i nodi gestiti contrassegnati con il tag Key=Finance,Value=WebServers, l'autorizzazione di creare, aggiornare ed eliminare le preferenze nonché l'autorizzazione di terminare solo le proprie sessioni. Per alcuni esempi di personalizzazioni che potresti applicare alla policy, fai riferimento a Altre policy IAM di esempio per Session Manager.

Puoi creare una policy che consenta agli amministratori di eseguire queste attività solo dalla Session Manager console e AWS CLI, solo dalla console Amazon EC2, o da tutte e tre.

Nei seguenti criteri di esempio, sostituisci ciascuno segnaposto delle risorse di esempio con le tue informazioni.

Scegliere una delle seguenti schede per visualizzare le policy di esempio per lo scenario di accesso che si desidera supportare.

Session Manager and CLI

Utilizzare questa policy di esempio per fornire agli amministratori del provider la possibilità di eseguire processi correlati alla sessione solo dalla console Session Manager e dall' AWS CLI. Questa policy non fornisce tutte le autorizzazioni necessarie per eseguire processi correlati alla sessione dalla console Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Amazon EC2

Utilizzare questa policy di esempio per fornire agli amministratori del provider la possibilità di eseguire processi correlati alla sessione solo dalla console Amazon EC2 Questa policy non fornisce tutte le autorizzazioni necessarie per eseguire attività correlate alla sessione dalla console Session Manager e dall' AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

Utilizzare questa policy di esempio per fornire agli amministratori del provider la possibilità di eseguire processi relativi alla sessione dalla console Session Manager, dall' AWS CLI e dalla console Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }

1 L'autorizzazione per SendCommand è necessaria nei casi in cui un utente tenta di avviare una sessione dalla console Amazon EC2, ma prima deve essere inviato un comando per aggiornare SSM Agent.