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à.
Implementa controlli di accesso preventivi basati sugli attributi per le sottoreti pubbliche
Creato da Joel Alfredo Nunez Gonzalez (AWS) e Samuel Ortega Sancho (AWS)
Ambiente: PoC o pilota | Tecnologie: sicurezza, identità, conformità; networking; distribuzione di contenuti | Servizi AWS: AWS Organizations; AWS Identity and Access Management |
Riepilogo
Nelle architetture di rete centralizzate, i cloud privati virtuali (VPC) di ispezione ed edge concentrano tutto il traffico in entrata e in uscita, ad esempio il traffico da e verso Internet. Tuttavia, ciò può creare colli di bottiglia o portare al raggiungimento dei limiti delle quote di servizio AWS. L'implementazione della sicurezza perimetrale della rete insieme ai carichi di lavoro nei rispettivi VPC offre una scalabilità senza precedenti rispetto all'approccio più comune e centralizzato. Questa è chiamata architettura perimetrale distribuita.
Sebbene l'implementazione di sottoreti pubbliche negli account di carico di lavoro possa offrire vantaggi, introduce anche nuovi rischi per la sicurezza perché aumenta la superficie di attacco. Ti consigliamo di distribuire solo risorse Elastic Load Balancing (ELB), come Application Load Balancer o gateway NAT nelle sottoreti pubbliche di questi VPC. L'utilizzo di sistemi di bilanciamento del carico e gateway NAT in sottoreti pubbliche dedicate consente di implementare un controllo granulare del traffico in entrata e in uscita.
Il controllo degli accessi basato sugli attributi (ABAC) è la pratica di creare autorizzazioni granulari basate su attributi utente, come reparto, ruolo professionale e nome del team. Per ulteriori informazioni, consulta ABAC for AWS
Questo modello descrive come contribuire a proteggere le sottoreti pubbliche implementando ABAC tramite una policy di controllo dei servizi (SCP) in AWS Organizations e policy in AWS Identity and Access Management (IAM). Puoi applicare l'SCP a un account membro di un'organizzazione o a un'unità organizzativa (OU). Queste politiche ABAC consentono agli utenti di implementare gateway NAT nelle sottoreti di destinazione e impediscono loro di implementare altre risorse Amazon Elastic Compute Cloud (Amazon EC2), come istanze EC2 e interfacce di rete elastiche.
Prerequisiti e limitazioni
Prerequisiti
Un'organizzazione in AWS Organizations
Accesso amministrativo all'account root di AWS Organizations
Nell'organizzazione, un account membro attivo o un'unità organizzativa per testare l'SCP
Limitazioni
L'SCP di questa soluzione non impedisce ai servizi AWS che utilizzano un ruolo collegato ai servizi di distribuire risorse nelle sottoreti di destinazione. Esempi di questi servizi sono Elastic Load Balancing (ELB), Amazon Elastic Container Service (Amazon ECS) e Amazon Relational Database Service (Amazon RDS). Per ulteriori informazioni, consulta gli effetti SCP sulle autorizzazioni nella documentazione di AWS Organizations. Implementa controlli di sicurezza per rilevare queste eccezioni.
Architettura
Stack tecnologico Target
SCP applicato a un account AWS o a un'unità organizzativa in AWS Organizations
I seguenti ruoli IAM:
AutomationAdminRole
— Utilizzato per modificare i tag di sottorete e creare risorse VPC dopo l'implementazione di SCPTestAdminRole
— Utilizzato per verificare se SCP impedisce ad altri principali IAM, compresi quelli con accesso amministrativo, di eseguire le azioni riservate aAutomationAdminRole
Architettura Target
![I tag impediscono agli utenti di distribuire risorse diverse dai gateway NAT nelle sottoreti pubbliche](images/pattern-img/25f22f67-5bb6-42ac-8fd6-836e00c436f1/images/4fd445a2-e00a-41d8-ad23-5729d3d895f1.png)
Crei il ruolo
AutomationAdminRole
IAM nell'account di destinazione. Questo ruolo dispone delle autorizzazioni per gestire le risorse di rete. Nota le seguenti autorizzazioni che sono esclusive per questo ruolo:Questo ruolo può creare VPC e sottoreti pubbliche.
Questo ruolo può modificare le assegnazioni dei tag per le sottoreti di destinazione.
Questo ruolo può gestire le proprie autorizzazioni.
In AWS Organizations, applichi l'SCP all'account AWS o all'unità organizzativa di destinazione. Per un esempio di policy, consulta Informazioni aggiuntive in questo modello.
Un utente o uno strumento nella pipeline CI/CD può assumere il
AutomationAdminRole
ruolo di applicare ilSubnetType
tag alle sottoreti di destinazione.Assumendo altri ruoli IAM, i responsabili IAM autorizzati dell'organizzazione possono gestire i gateway NAT nelle sottoreti di destinazione e altre risorse di rete consentite nell'account AWS, come le tabelle di routing. Utilizza le policy IAM per concedere queste autorizzazioni. Per ulteriori informazioni, consulta Gestione delle identità e degli accessi per Amazon VPC.
Automazione e scalabilità
Per proteggere le sottoreti pubbliche, è necessario applicare i tag AWS corrispondenti. Dopo aver applicato l'SCP, i gateway NAT sono l'unico tipo di risorsa Amazon EC2 che gli utenti autorizzati possono creare nelle sottoreti dotate del tag. SubnetType:IFA
(significa risorse con accesso a Internet.) IFA
L'SCP impedisce la creazione di altre risorse Amazon EC2, come istanze e interfacce di rete elastiche. Si consiglia di utilizzare una pipeline CI/CD che assuma il ruolo di AutomationAdminRole
creare risorse VPC in modo che questi tag vengano applicati correttamente alle sottoreti pubbliche.
Strumenti
Servizi AWS
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
AWS Organizations è un servizio di gestione degli account che ti aiuta a consolidare più account AWS in un'organizzazione da creare e gestire centralmente. In AWS Organizations, puoi implementare policy di controllo dei servizi (SCP), che sono un tipo di policy che puoi utilizzare per gestire le autorizzazioni nella tua organizzazione.
Amazon Virtual Private Cloud (Amazon VPC) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di AWS.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un ruolo di amministratore di test. | Crea un ruolo IAM denominato | Amministratore AWS |
Crea il ruolo di amministratore dell'automazione. |
Di seguito è riportato un esempio di policy di fiducia che è possibile utilizzare per testare il ruolo dall'
| Amministratore AWS |
Crea e collega l'SCP. |
| Amministratore AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un VPC o una sottorete. |
| Amministratore AWS |
Gestisci i tag. |
| Amministratore AWS |
Distribuisci risorse nelle sottoreti di destinazione. |
| Amministratore AWS |
Gestisci il AutomationAdminRole ruolo. |
| Amministratore AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Pulisci le risorse distribuite. |
| Amministratore AWS |
Risorse correlate
Documentazione AWS
Riferimenti AWS aggiuntivi
Informazioni aggiuntive
La seguente policy di controllo dei servizi è un esempio che puoi usare per testare questo approccio nella tua organizzazione.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyVPCActions", "Effect": "Deny", "Action": [ "ec2:CreateVPC", "ec2:CreateRoute", "ec2:CreateSubnet", "ec2:CreateInternetGateway", "ec2:DeleteVPC", "ec2:DeleteRoute", "ec2:DeleteSubnet", "ec2:DeleteInternetGateway" ], "Resource": [ "arn:aws:ec2:*:*:*" ], "Condition": { "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "AllowNATGWOnIFASubnet", "Effect": "Deny", "NotAction": [ "ec2:CreateNatGateway", "ec2:DeleteNatGateway" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*" ], "Condition": { "ForAnyValue:StringEqualsIfExists": { "aws:ResourceTag/SubnetType": "IFA" }, "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "DenyChangesToAdminRole", "Effect": "Deny", "NotAction": [ "iam:GetContextKeysForPrincipalPolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfilesForRole", "iam:ListRolePolicies", "iam:ListRoleTags" ], "Resource": [ "arn:aws:iam::*:role/AutomationAdminRole" ], "Condition": { "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "allowbydefault", "Effect": "Allow", "Action": "*", "Resource": "*" } ] }