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à.
Limitazione dell'accesso degli agenti in un AWS Account
AWS DevOps L'agente utilizza i ruoli IAM per scoprire e descrivere AWS le risorse durante le indagini sugli incidenti e le valutazioni preventive. Puoi controllare il livello di accesso dell'agente configurando le policy IAM associate a questi ruoli. La topologia dell'applicazione non mostra tutto ciò a cui l'agente ha accesso: le policy IAM sono l'unico modo per limitare realmente le API e le risorse di AWS servizio a cui l'agente può accedere.
Comprensione dei ruoli IAM per AWS DevOps Agente
AWS DevOps L'agente utilizza i ruoli IAM per accedere alle risorse in due tipi di account:
Ruolo principale dell'account: consente all'agente di accedere alle risorse dell' AWS account in cui si crea l'Agent Space.
Ruoli dell'account secondario: consente all'agente di accedere alle risorse di AWS account aggiuntivi collegati all'Agent Space.
Per entrambi i tipi di account, è possibile limitare AWS i servizi a cui l'agente può accedere, limitare l'accesso a risorse specifiche all'interno di tali servizi e controllare in quali aree l'agente può operare.
Comprensione delle barriere di autorizzazione
AWS DevOps L'agente applica un limite di autorizzazioni a ogni sessione che crea quando accede alle tue risorse. AWS Questa barriera funge da limite: definisce il set massimo di autorizzazioni che l'agente può mai utilizzare, indipendentemente dalle autorizzazioni concesse per il ruolo IAM.
Come funziona
Quando l'agente assume il tuo ruolo IAM, passa una policy di sessione che limita le autorizzazioni effettive per quella sessione. Le autorizzazioni effettive sono l'intersezione di:
Le tue politiche di ruolo IAM: la politica gestita e tutte le politiche in linea che alleghi al ruolo.
La barriera delle autorizzazioni: una politica di sessione applicata dall' AWS DevOps agente al momento dell'assunzione del ruolo.
Un'autorizzazione deve essere presente in entrambi i livelli per avere effetto. Se aggiungi un'autorizzazione al tuo ruolo che non è inclusa nel guardrail, l'agente non può utilizzarla.
Autorizzazioni predefinite
La policy AIDevOpsAgentAccessPolicy gestita fornisce il set predefinito di autorizzazioni di sola lettura che l'agente utilizza per le indagini. Queste autorizzazioni sono incluse nel guardrail, quindi funzionano senza configurazioni aggiuntive.
Estensione delle autorizzazioni oltre quelle predefinite
AWS DevOps L'agente supporta un set curato di autorizzazioni aggiuntive oltre alla politica gestita predefinita. Queste autorizzazioni sono incluse nel guardrail ma non sono abilitate per impostazione predefinita. Per utilizzarli, aggiungi le autorizzazioni specifiche al tuo ruolo come politica in linea.
Ad esempio, per consentire all'agente di leggere gli oggetti dai tuoi bucket S3 durante le indagini, aggiungi una policy in linea al tuo ruolo:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-application-bucket", "arn:aws:s3:::my-application-bucket/*" ] } ] }
Poiché s3:GetObject s3:ListBucket sono inclusi nel guardrail, questa politica in linea ha effetto. È possibile assegnare l'ambito Resource a bucket specifici per seguire il principio del privilegio minimo.
Autorizzazioni aggiuntive supportate
Le seguenti autorizzazioni sono incluse nel guardrail e possono essere abilitate aggiungendole al proprio ruolo come policy in linea. Queste non sono concesse per impostazione predefinita: è necessario attivarle esplicitamente.
| Servizio | Azioni | Caso d’uso |
|---|---|---|
| Simple Storage Service (Amazon S3) | s3:GetObject, s3:ListBucket |
Leggi i dati, i log o la configurazione dell'applicazione archiviati in S3 |
| AWS Connect diretto | directconnect:DescribeConnections, directconnect:DescribeDirectConnectGatewayAssociations, directconnect:DescribeDirectConnectGateways, directconnect:DescribeLags, directconnect:DescribeVirtualInterfaces |
Analizza i problemi di connettività di rete |
Autorizzazioni bloccate dal guardrail
Se aggiungi un'autorizzazione al tuo ruolo che non è nel guardrail, l'agente non può utilizzarla. Ciò è dovuto alla progettazione: il guardrail impedisce all'agente di eseguire azioni al di fuori dell'ambito previsto, anche se il ruolo le consentirebbe altrimenti.
Ad esempio, operazioni di scrittura come s3:PutObjectec2:TerminateInstances, o non dynamodb:DeleteItem sono incluse nel guardrail. Anche se il tuo ruolo concede queste autorizzazioni, l'agente non può eseguire queste azioni.
Riepilogo
| Livello | Chi lo controlla | Scopo |
|---|---|---|
| Politiche di ruolo IAM | Utente corrente | Definisci cosa vuoi che l'agente sia in grado di fare |
| Guardrail di autorizzazione | AWS DevOps Agente | Definisce il massimo che l'agente può fare |
| Autorizzazioni valide | Intersezione di entrambi | Cosa può effettivamente fare l'agente |
Questo modello garantisce che l'agente operi entro un limite di sicurezza ben definito, offrendo al contempo la flessibilità necessaria per estenderne le funzionalità per ogni caso d'uso specifico.
Scelta dei limiti delle risorse
Quando si limita l'accesso alle risorse, è necessario includere autorizzazioni sufficienti per consentire all'agente di indagare correttamente sugli incidenti delle applicazioni. Questo include:
Tutte le risorse per le applicazioni pertinenti che l'agente deve monitorare e analizzare
Tutta l'infrastruttura di supporto da cui dipendono tali applicazioni
L'infrastruttura di supporto può includere:
Componenti di rete (VPC, sottoreti, sistemi di bilanciamento del carico, gateway API)
Archivi dati (database, cache, storage di oggetti)
Risorse di calcolo (istanze EC2, funzioni Lambda, contenitori)
Servizi di monitoraggio e registrazione (,) CloudWatch CloudTrail
Risorse per la gestione delle identità e degli accessi necessarie per comprendere le autorizzazioni
Se si limita l'accesso in modo troppo restrittivo, l'agente potrebbe non essere in grado di identificare le cause principali che hanno origine nel supporto dell'infrastruttura al di fuori dei confini definiti.
Limitazione dell'accesso al servizio
Puoi limitare AWS i servizi a cui l'agente può accedere modificando le policy IAM associate ai ruoli dell'agente. Quando crei policy personalizzate, segui queste best practice:
Concedi solo autorizzazioni di sola lettura: l'agente deve leggere le configurazioni delle risorse, le metriche e i registri durante le indagini. Evita di concedere autorizzazioni che consentano all'agente di modificare o eliminare risorse.
Limita ai servizi necessari: includi solo i AWS servizi che contengono risorse pertinenti alle tue applicazioni. Ad esempio, se la tua applicazione non utilizza Amazon RDS, non includere le autorizzazioni RDS nella policy.
Usa azioni specifiche anziché caratteri jolly: invece di concedere
service:*autorizzazioni, specifica azioni individuali come o.cloudwatch:GetMetricDataec2:DescribeInstances
Esempio di politica che si limita a servizi specifici:
json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "logs:GetLogEvents", "logs:FilterLogEvents", "ec2:DescribeInstances", "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Resource": "*" } ] }
Limitazione dell'accesso alle risorse
Per limitare l'agente a risorse specifiche all'interno di un servizio, utilizza le autorizzazioni a livello di risorsa nelle tue policy IAM. Ciò consente di concedere l'accesso solo alle risorse che corrispondono a modelli specifici.
Utilizzo dei modelli ARN delle risorse:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Resource": "arn:aws:lambda:*:*:function:production-*" } ] }
Questo esempio limita l'agente ad accedere solo alle funzioni Lambda con nomi che iniziano con «production-».
Utilizzo di restrizioni basate su tag:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "production" } } } ] }
Questo esempio limita l'agente ad accedere solo alle istanze EC2 contrassegnate con. Environment=production
Limitazione dell'accesso regionale
Per limitare AWS le regioni a cui l'agente può accedere, utilizza la chiave di aws:RequestedRegion condizione nelle tue policy IAM:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "lambda:Get*", "cloudwatch:Get*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-west-2" ] } } } ] }
Questo esempio limita l'agente all'accesso alle risorse solo nelle regioni us-east-1 e us-west-2.
Creazione di politiche IAM personalizzate
Quando crei un Agent Space o aggiungi account secondari, hai la possibilità di creare un ruolo IAM personalizzato utilizzando un modello di policy. Ciò consente di implementare il principio del privilegio minimo.
Quando si crea un Agent Space
Dalla console dell' DevOps agente nella console AWS di gestione...
Scegli Crea un nuovo ruolo di DevOps agente utilizzando un documento di policy e segui le istruzioni
Quando modifichi un Agent Space
Dalla console dell' DevOps agente nella console AWS di gestione...
Seleziona la scheda Funzionalità
Seleziona l'account secondario che desideri modificare dalla sezione Cloud e fai clic su Modifica
Scegli Crea una nuova policy per l' DevOps agente utilizzando un modello e segui le istruzioni
Best practice relative alle policy personalizzate
Concedi autorizzazioni di sola lettura: evita le autorizzazioni che consentono la modifica o l'eliminazione delle risorse
Usa le autorizzazioni a livello di risorsa quando possibile: limita l'accesso a risorse specifiche utilizzando modelli o tag ARN
Esamina e verifica regolarmente le autorizzazioni: esamina periodicamente le politiche IAM dell'agente per assicurarti che siano ancora in linea con i tuoi requisiti di sicurezza