Esempi delle policy di Amazon VPC - Amazon Virtual Private 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à.

Esempi delle policy di Amazon VPC

Per impostazione predefinita, i ruoli IAM non dispongono dell'autorizzazione per creare o modificare risorse del VPC. Inoltre, non possono eseguire attività utilizzando l'API AWS Management Console AWS CLI, o AWS . Un amministratore IAM deve creare policy IAM che concedono ai ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi collegare queste policy ai ruoli IAM che richiedono tali autorizzazioni.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy nella scheda JSON nella Guida per l'utente di IAM.

Best practice per le policy

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon VPC nell'account. Queste azioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche AWS gestite che concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWSo Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegio minimo: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente IAM.

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente IAM.

Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.

Utilizzo della console Amazon VPC

Per accedere alla console Amazon VPC, è necessario disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon VPC nel AWS tuo account. Se crei una policy basata su identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (ruoli IAM) associate a tale policy.

La seguente policy concede ai ruoli l'autorizzazione per elencare le risorse nella console VPC, ma non per crearle, aggiornarle o eliminarle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeClassicLinkInstances", "ec2:DescribeClientVpnEndpoints", "ec2:DescribeCustomerGateways", "ec2:DescribeDhcpOptions", "ec2:DescribeEgressOnlyInternetGateways", "ec2:DescribeFlowLogs", "ec2:DescribeInternetGateways", "ec2:DescribeManagedPrefixLists", "ec2:DescribeMovingAddresses", "ec2:DescribeNatGateways", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DescribeNetworkInterfacePermissions", "ec2:DescribeNetworkInterfaces", "ec2:DescribePrefixLists", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroupReferences", "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeStaleSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeTags", "ec2:DescribeTrafficMirrorFilters", "ec2:DescribeTrafficMirrorSessions", "ec2:DescribeTrafficMirrorTargets", "ec2:DescribeTransitGateways", "ec2:DescribeTransitGatewayVpcAttachments", "ec2:DescribeTransitGatewayRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcClassicLink", "ec2:DescribeVpcClassicLinkDnsSupport", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcEndpointConnectionNotifications", "ec2:DescribeVpcEndpointConnections", "ec2:DescribeVpcEndpointServiceConfigurations", "ec2:DescribeVpcEndpointServicePermissions", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcPeeringConnections", "ec2:DescribeVpcs", "ec2:DescribeVpnConnections", "ec2:DescribeVpnGateways", "ec2:GetManagedPrefixListAssociations", "ec2:GetManagedPrefixListEntries" ], "Resource": "*" } ] }

Non è necessario consentire autorizzazioni minime da console per i ruoli che effettuano chiamate solo verso AWS CLI o l'API. AWS Al contrario, concedi l'accesso solo alle operazioni che soddisfano l'operazione API che il ruolo deve eseguire.

Creare un VPC con una sottorete pubblica

L'esempio seguente consente ai ruoli di creare VPC, sottoreti, tabelle di instradamento e gateway Internet. Gli utenti possono anche collegare un gateway Internet a un VPC e creare route nelle tabelle di instradamento. L'operazione ec2:ModifyVpcAttribute consente ai ruoli di abilitare i nomi host DNS per il VPC in modo che ogni istanza lanciata in un VPC riceva un nome host DNS.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:DescribeAvailabilityZones", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:AssociateRouteTable", "ec2:ModifyVpcAttribute" ], "Resource": "*" } ] }

La policy precedente consente inoltre ai ruoli di creare un VPC nella console Amazon VPC.

Modifica ed eliminazione delle risorse VPC

È possibile che sia necessario controllare le risorse VPC che i ruoli possono modificare o eliminare. Ad esempio, la seguente policy consente ai ruoli di utilizzare ed eliminare le tabelle di instradamento che hanno il tag Purpose=Test. La policy specifica inoltre che i ruoli possono eliminare solo i gateway Internet che hanno il tag Purpose=Test. I ruoli non possono utilizzare tabelle di instradamento o gateway Internet che non hanno questo tag.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DeleteInternetGateway", "Resource": "arn:aws:ec2:*:*:internet-gateway/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Test" } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteRouteTable", "ec2:CreateRoute", "ec2:ReplaceRoute", "ec2:DeleteRoute" ], "Resource": "arn:aws:ec2:*:*:route-table/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Test" } } } ] }

Gestione dei gruppi di sicurezza

La policy seguente consente ai ruoli di gestire i gruppi di sicurezza. La prima istruzione consente ai ruoli di eliminare qualsiasi gruppo di sicurezza con il tag Stack=test e gestire le regole in entrata e in uscita per tutti i gruppi di sicurezza con il tag Stack=test. La seconda istruzione richiede ai ruoli di taggare tutti i gruppi di sicurezza creati con il tag Stack=Test. La terza istruzione consente ai ruoli di creare tag durante la creazione di un gruppo di sicurezza. La quarta istruzione consente ai ruoli di visualizzare qualsiasi gruppo di sicurezza e regola del gruppo di sicurezza. La quinta istruzione consente ai ruoli di creare un gruppo di sicurezza in un VPC.

Nota

Questa politica non può essere utilizzata dal AWS CloudFormation servizio per creare un gruppo di sicurezza con tag obbligatori. Se rimuovi la condizione sull'azione ec2:CreateSecurityGroup che richiede il tag, la policy funzionerà.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup", "ec2:ModifySecurityGroupRules", "ec2:UpdateSecurityGroupRuleDescriptionsIngress" ], "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Stack": "test" } } }, { "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "aws:RequestTag/Stack": "test" }, "ForAllValues:StringEquals": { "aws:TagKeys": "Stack" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSecurityGroup" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroupRules", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:vpc/*" } ] }

Per permettere ai ruoli di modificare il gruppo di sicurezza associato a un'istanza, aggiungi l'operazione ec2:ModifyInstanceAttribute alla policy.

Per permettere ai ruoli di modificare i gruppi di sicurezza per un'interfaccia di rete, aggiungi l'operazione ec2:ModifyNetworkInterfaceAttribute alla policy.

Gestione delle regole del gruppo di sicurezza

La seguente policy concede ai ruoli l'autorizzazione per visualizzare tutti i gruppi di sicurezza e le regole del gruppo di sicurezza, per aggiungere e rimuovere le regole in entrata e in uscita per i gruppi di sicurezza per un VPC specifico e per modificare le descrizioni delle regole per il VPC specificato. La prima istruzione utilizza la chiave di condizione ec2:Vpc per determinare l'ambito delle autorizzazioni di un VPC specifico.

La seconda istruzione concede ai ruoli l'autorizzazione per descrivere tutti i gruppi di sicurezza, le regole dei gruppi di sicurezza e i tag. In questo modo i ruoli possono visualizzare le regole dei gruppi di sicurezza per modificarle.

{ "Version": "2012-10-17", "Statement":[{ "Effect":"Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:UpdateSecurityGroupRuleDescriptionsIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress", "ec2:ModifySecurityGroupRules" ], "Resource": "arn:aws:ec2:region:account-id:security-group/*", "Condition": { "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:ModifySecurityGroupRules" ], "Resource": "arn:aws:ec2:region:account-id:security-group-rule/*" } ] }

Avvio di istanze in una sottorete specifica

La seguente policy concede ai ruoli le autorizzazioni per avviare le istanze in una sottorete specifica e utilizzare un gruppo di sicurezza specifico nella richiesta. La policy esegue questa operazione specificando l'ARN per la sottorete e l'ARN per il gruppo di sicurezza. Se gli utenti provano ad avviare un'istanza in una sottorete diversa o utilizzando un gruppo di sicurezza diverso, la richiesta non va a buon fine (a meno che un'altra policy o istruzione non conceda ai ruoli l'autorizzazione appropriata).

La policy concede anche l'autorizzazione per utilizzare la risorsa dell'interfaccia di rete. Quando viene avviata in una sottorete, la richiesta RunInstances crea un'interfaccia di rete principale per impostazione predefinita, pertanto il ruolo necessita dell'autorizzazione per creare questa risorsa quando avvia l'istanza.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account:instance/*", "arn:aws:ec2:region:account:subnet/subnet-id", "arn:aws:ec2:region:account:network-interface/*", "arn:aws:ec2:region:account:volume/*", "arn:aws:ec2:region:account:key-pair/*", "arn:aws:ec2:region:account:security-group/sg-id" ] } ] }

Avvio di istanze in un VPC specifico

La seguente policy concede ai ruoli l'autorizzazione per avviare istanze in qualsiasi sottorete all'interno di un VPC specifico. La policy fa questo applicando una chiave di condizione (ec2:Vpc) alla risorsa di sottorete.

La policy concede inoltre ai ruoli l'autorizzazione per avviare le istanze utilizzando solo le AMI con il tag "department=dev".

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region:account-id:subnet/*", "Condition": { "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region::image/ami-*", "Condition": { "StringEquals": { "ec2:ResourceTag/department": "dev" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account:instance/*", "arn:aws:ec2:region:account:volume/*", "arn:aws:ec2:region:account:network-interface/*", "arn:aws:ec2:region:account:key-pair/*", "arn:aws:ec2:region:account:security-group/*" ] } ] }

Esempi aggiuntivi di policy di Amazon VPC

Puoi trovare ulteriori esempi di policy IAM relative ad Amazon VPC nella seguente documentazione: