Prevenzione del confused deputy tra servizi - AWS CodeDeploy

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

Prevenzione del confused deputy tra servizi

Con "confused deputy" si intende un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire una certa operazione può costringere un'entità con più privilegi a eseguire tale operazione. Nel frattempo AWS, l'impersonificazione tra servizi può portare al confuso problema del vicesceriffo. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni e agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso. Per evitare che ciò accada, AWS mette a disposizione strumenti che consentono di proteggere i dati relativi a tutti i servizi con responsabili del servizio a cui è stato concesso l'accesso alle risorse del vostro account.

Ti consigliamo di utilizzare le chiavi aws: SourceArn e aws: SourceAccount global condition context nelle politiche delle risorse per limitare le autorizzazioni che CodeDeploy forniscono un altro servizio alla risorsa. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali e il valore aws:SourceArn contiene l'ID account, il valore aws:SourceAccount e l'account nel valore aws:SourceArn deve utilizzare lo stesso ID account nella stessa dichiarazione di policy. Utilizzare aws:SourceArn se si desidera consentire l'associazione di una sola risorsa all'accesso tra servizi. Utilizza aws:SourceAccount se desideri che qualsiasi risorsa in quell'account sia associata all'uso tra servizi.

Per le distribuzioni EC2/on-premise AWS , Lambda e Amazon ECS regolari, il valore di dovrebbe aws:SourceArn includere il CodeDeploy gruppo di distribuzione ARN con il quale è consentito assumere il ruolo IAM. CodeDeploy

Per le distribuzioni blu/green di Amazon ECS create tramite AWS CloudFormation, il valore di dovrebbe aws:SourceArn includere lo stack CloudFormation ARN con cui CodeDeploy è consentito assumere il ruolo IAM.

Il modo più efficace per proteggersi dal confuso problema del vice è utilizzare la aws:SourceArn chiave con l'ARN completo della risorsa. Se non conosci l'ARN completo o se stai specificando più risorse, usa caratteri jolly (*) per le parti sconosciute.

Ad esempio, potresti utilizzare la seguente policy di fiducia con una distribuzione EC2/on-premise, AWS Lambda o Amazon ECS normale:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

Per una distribuzione blu/verde di Amazon ECS creata tramite AWS CloudFormation, puoi utilizzare:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }