Policy IAM di esempio per Session Manager
Utilizza gli esempi in questa sezione per creare policy (IAM) AWS Identity and Access Management che forniscono le autorizzazioni più comuni necessarie per l'accesso a Session Manager.
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.
È possibile creare una policy che consenta agli utenti di avviare sessioni solo dalla console Session Manager e AWS Command Line Interface (AWS CLI), solo dalla console di 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
-
Utilizzare questa policy di esempio per fornire agli utenti la possibilità di avviare e riprendere sessioni solo dalle console Session Manager 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"
]
},
{
"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"
],
"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"
],
"Resource": [
"arn:aws:ec2:region
:account-id
:instance/instance-id
",
"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}-*"
]
}
]
}
- AWS CLI
-
Utilizzare questa policy di esempio per fornire agli utenti la possibilità di avviare e riprendere sessioni solo da AWS CLI.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:StartSession",
"ssm:SendCommand"
],
"Resource": [
"arn:aws:ec2:region
:account-id
:instance/instance-id
",
"arn:aws:ssm:region
:account-id
:document/SSM-SessionManagerRunShell"
]
},
{
"Effect": "Allow",
"Action": [
"ssm:TerminateSession",
"ssm:ResumeSession"
],
"Resource": [
"arn:aws:ssm:*:*:session/${aws:userid}-*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey"
],
"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. Puoi anche specificare il documento AWS-StartSSHSession
fornito da AWS per gli utenti che avviano le sessioni mediante SSH. Per informazioni sui passi di configurazione necessari per supportare le sessioni utilizzando SSH, consulta (Facoltativo) Permettere e controllare le autorizzazioni per le connessioni SSH tramite Session Manager.
2 L'autorizzazione kms:GenerateDataKey
consente la creazione di una chiave di crittografia dei dati che verrà utilizzata per crittografare i dati delle sessioni. Se utilizzi la crittografia AWS Key Management Service (AWS KMS) per i dati delle sessioni, 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 su come utilizzare AWS KMS per crittografare i dati delle sessioni, consulta Attiva la crittografia delle chiavi KMS per i dati delle sessioni (console).
3 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 per Session Manager. Run Command viene 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.
È possibile creare una policy che consenta agli amministratori di eseguire questi processi solo dalla console Session Manager e AWS CLI, solo dalla console di 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"
],
"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"
],
"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.