Concedere le autorizzazioni per utilizzare EC2 Instance Connect Endpoint - Amazon Elastic Compute Cloud

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

Concedere le autorizzazioni per utilizzare EC2 Instance Connect Endpoint

Per impostazione predefinita, IAM le entità non dispongono dell'autorizzazione per creare, descrivere o modificare gli endpoint EC2 Instance Connect. Un IAM amministratore può creare IAM politiche che concedono le autorizzazioni necessarie per eseguire azioni specifiche sulle risorse di cui ha bisogno.

Per informazioni sulla creazione IAM di politiche, vedere Creazione IAM di politiche nella Guida per l'IAMutente.

I seguenti esempi di policy mostrano che è possibile controllare le autorizzazioni degli utenti per EC2 Instance Connect Endpoints.

Autorizzazioni per creare, descrivere ed eliminare gli endpoint EC2 Instance Connect

Per creare un endpoint EC2 Instance Connect, gli utenti richiedono le autorizzazioni per le seguenti azioni:

  • ec2:CreateInstanceConnectEndpoint

  • ec2:CreateNetworkInterface

  • ec2:CreateTags

  • iam:CreateServiceLinkedRole

Per descrivere ed eliminare gli endpoint EC2 Instance Connect, gli utenti richiedono le autorizzazioni per le seguenti azioni:

  • ec2:DescribeInstanceConnectEndpoints

  • ec2:DeleteInstanceConnectEndpoint

È possibile creare una policy che conceda l'autorizzazione a creare, descrivere ed eliminare gli endpoint EC2 Instance Connect in tutte le sottoreti. In alternativa, è possibile limitare le azioni per specifiche sottoreti solo specificando la sottorete ARNs come consentita o utilizzando la chiave di condizione. Resource ec2:SubnetID Puoi anche utilizzare la chiave di condizione aws:ResourceTag per consentire o negare esplicitamente la creazione di endpoint con determinati tag. Per ulteriori informazioni, consulta Politiche e autorizzazioni nella IAM Guida per l'utente. IAM

Politica di esempio IAM

Nella seguente IAM politica di esempio, la Resource sezione concede l'autorizzazione a creare ed eliminare endpoint in tutte le sottoreti, specificate dall'asterisco (). * Le azioni non supportano le ec2:Describe* API autorizzazioni a livello di risorsa. Il carattere jolly * è quindi necessario nell'elemento Resource.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "GrantAllActionsInAllSubnets", "Action": [ "ec2:CreateInstanceConnectEndpoint", "ec2:DeleteInstanceConnectEndpoint", "ec2:CreateNetworkInterface", "ec2:CreateTags", "iam:CreateServiceLinkedRole" ], "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:subnet/*" }, { "Action": [ "ec2:CreateNetworkInterface" ], "Effect": "Allow", "Resource": "arn:aws:ec2:::security-group/*" }, { "Sid": "DescribeInstanceConnectEndpoints", "Action": [ "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }

Autorizzazioni per utilizzare EC2 Instance Connect Endpoint per connettersi alle istanze

L'ec2-instance-connect:OpenTunnelazione concede l'autorizzazione a stabilire una TCP connessione a un'istanza per la connessione tramite l'endpoint EC2 Instance Connect. È possibile specificare l'endpoint EC2 Instance Connect da utilizzare. In alternativa, un Resource con un asterisco (*) consente agli utenti di utilizzare qualsiasi endpoint EC2 Instance Connect disponibile. È inoltre possibile limitare l'accesso alle istanze in base alla presenza o all'assenza di tag risorsa come chiavi di condizione.

Condizioni
  • ec2-instance-connect:remotePort— La porta dell'istanza che può essere utilizzata per stabilire una TCP connessione. Quando viene utilizzata questa chiave di condizione, il tentativo di connessione a un'istanza su una porta diversa da quella specificata nella policy genera un errore.

  • ec2-instance-connect:privateIpAddress— L'indirizzo IP privato di destinazione associato all'istanza con cui si desidera stabilire una TCP connessione. È possibile specificare un singolo indirizzo IP, ad esempio10.0.0.1/32, o un intervallo di IPs passaggiCIDRs, ad esempio10.0.1.0/28. Quando viene utilizzata questa chiave di condizione, il tentativo di connettersi a un'istanza con un indirizzo IP privato diverso o al di fuori dell'CIDRintervallo genera un errore.

  • ec2-instance-connect:maxTunnelDuration— La durata massima per una TCP connessione stabilita. L'unità è in secondi e la durata varia da un minimo di 1 secondo a un massimo di 3.600 secondi (1 ora). Se la condizione non è specificata, la durata predefinita è impostata su 3.600 secondi (1 ora). Se si tenta di connettersi a un'istanza per un periodo superiore alla durata specificata nella IAM policy o per un periodo superiore al valore massimo predefinito, si verifica un errore. La connessione viene interrotta dopo la durata specificata.

    Se maxTunnelDuration è specificato nella IAM policy e il valore specificato è inferiore a 3.600 secondi (impostazione predefinita), è necessario specificarlo --max-tunnel-duration nel comando quando ci si connette a un'istanza. Per informazioni su come connettersi a un'istanza, consulta Connettiti a un'EC2istanza Amazon utilizzando EC2 Instance Connect Endpoint.

Puoi anche concedere a un utente l'accesso per stabilire connessioni alle istanze in base alla presenza di tag di risorsa sull'endpoint EC2 Instance Connect. Per ulteriori informazioni, consulta Politiche e autorizzazioni IAM nella Guida per l'IAMutente.

Per le istanze Linux, l'ec2-instance-connect:SendSSHPublicKeyazione concede l'autorizzazione a inviare la chiave pubblica a un'istanza. La condizione ec2:osuser specifica il nome dell'utente del sistema operativo (SO) che può inviare la chiave pubblica a un'istanza. Usa il nome utente predefinito per AMI quello che hai usato per avviare l'istanza. Per ulteriori informazioni, consulta Concedere IAM le autorizzazioni per EC2 Instance Connect.

IAMPolitica di esempio

I seguenti IAM criteri di esempio consentono a un IAM principale di connettersi a un'istanza utilizzando solo l'endpoint EC2 Instance Connect specificato, identificato dall'ID endpoint specificato. eice-123456789abcdef La connessione viene stabilita correttamente solo se tutte le condizioni sono soddisfatte.

Nota

Le ec2:Describe* API azioni non supportano le autorizzazioni a livello di risorsa. Il carattere jolly * è quindi necessario nell'elemento Resource.

Linux

Questo esempio valuta se la connessione all'istanza è stabilita su —port 22 (SSH), se l'indirizzo IP privato dell'istanza è compreso nell'intervallo di 10.0.1.0/31 (tra 10.0.1.0 e10.0.1.1) ed maxTunnelDuration è minore o uguale a secondi. 3600 La connessione viene interrotta dopo 3600 secondi (1 ora).

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EC2InstanceConnect", "Action": "ec2-instance-connect:OpenTunnel", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "NumericEquals": { "ec2-instance-connect:remotePort": "22" }, "IpAddress": { "ec2-instance-connect:privateIpAddress": "10.0.1.0/31" }, "NumericLessThanEquals": { "ec2-instance-connect:maxTunnelDuration": "3600" } } }, { "Sid": "SSHPublicKey", "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*", "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Sid": "Describe", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }
Windows

Questo esempio valuta se la connessione all'istanza è stabilita sulla porta 3389 (RDP), se l'indirizzo IP privato dell'istanza è compreso nell'intervallo di 10.0.1.0/31 (tra 10.0.1.0 e10.0.1.1) ed maxTunnelDuration è minore o uguale a secondi. 3600 La connessione viene interrotta dopo 3600 secondi (1 ora).

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EC2InstanceConnect", "Action": "ec2-instance-connect:OpenTunnel", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "NumericEquals": { "ec2-instance-connect:remotePort": "3389" }, "IpAddress": { "ec2-instance-connect:privateIpAddress": "10.0.1.0/31" }, "NumericLessThanEquals": { "ec2-instance-connect:maxTunnelDuration": "3600" } } }, { "Sid": "Describe", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }

Autorizzazioni per la connessione solo da un intervallo di indirizzi IP specifico

La seguente IAM politica di esempio consente a un IAM principale di connettersi a un'istanza a condizione che si connetta da un indirizzo IP compreso nell'intervallo di indirizzi IP specificato nella politica. Se il IAM principale chiama OpenTunnel da un indirizzo IP non compreso 192.0.2.0/24 (l'intervallo di indirizzi IP di esempio in questa politica), la risposta èAccess Denied. Per ulteriori informazioni, consulta aws:SourceIpla Guida IAM per l'utente.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:OpenTunnel", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "IpAddress": { "aws:SourceIp": "192.0.2.0/24" }, "NumericEquals": { "ec2-instance-connect:remotePort": "22" } } }, { "Sid": "SSHPublicKey", "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*", "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Resource": "*" } ] }