Prevenzione intersettoriale confusa degli agenti in Stacks AWS OpsWorks - AWS OpsWorks

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 intersettoriale confusa degli agenti in Stacks AWS OpsWorks

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

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. Inoltre AWS, l'impersonificazione tra servizi diversi può portare al confuso problema del vice. 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 ciò, AWS fornisce strumenti per poterti a proteggere i tuoi dati per tutti i servizi con entità di servizio a cui è stato concesso l'accesso alle risorse del tuo account.

Ti consigliamo di utilizzare le chiavi di contesto aws:SourceArne di condizione aws:SourceAccountglobale nelle politiche di accesso allo stack per limitare le autorizzazioni che AWS OpsWorks Stacks fornisce agli stack con un altro servizio. Se il valore aws:SourceArn non contiene l'ID account, ad esempio un ARN di un bucket Amazon S3, è necessario utilizzare entrambe le chiavi di contesto delle condizioni globali per limitare le autorizzazioni. 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. Utilizza aws:SourceArn se desideri che venga associato un solo stack all'accesso tra servizi. aws:SourceAccountUtilizzalo se desideri consentire l'associazione di qualsiasi stack di quell'account all'utilizzo tra servizi.

Il valore di aws:SourceArn deve essere l'ARN di uno AWS OpsWorks stack.

Il modo più efficace per proteggersi dal confuso problema del vice consiste nell'utilizzare la chiave aws:SourceArn global condition context con l'ARN completo dello AWS OpsWorks stack Stacks. Se non conosci l'ARN completo o se stai specificando più stack ARN, usa la chiave di condizione di contesto aws:SourceArn globale con wildcards (*) per le parti sconosciute dell'ARN. Ad esempio, arn:aws:servicename:*:123456789012:*.

La sezione seguente mostra come utilizzare le chiavi di contesto aws:SourceArn e aws:SourceAccount global condition in AWS OpsWorks Stacks per evitare il confuso problema del vice.

Evita gli exploit confusi dei vice in Stacks AWS OpsWorks

Questa sezione descrive come contribuire a prevenire la confusione degli exploit dei deputati in AWS OpsWorks Stacks e include esempi di policy di autorizzazione che puoi associare al ruolo IAM che stai utilizzando per accedere a Stacks. AWS OpsWorks Come best practice in materia di sicurezza, ti consigliamo di aggiungere le chiavi aws:SourceArn e aws:SourceAccount condition alle relazioni di fiducia che il tuo ruolo IAM intrattiene con altri servizi. Le relazioni di fiducia consentono a AWS OpsWorks Stacks di assumere il ruolo di eseguire azioni in altri servizi necessari per creare o gestire i tuoi AWS OpsWorks stack Stacks.

Per modificare le relazioni di fiducia per aggiungere aws:SourceArn e condizionare le chiavi aws:SourceAccount
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione a sinistra, seleziona Ruoli.

  3. Nella casella di ricerca, cerca il ruolo che utilizzi per accedere a AWS OpsWorks Stacks. Il ruolo AWS gestito èaws-opsworks-service-role.

  4. Nella pagina di riepilogo del ruolo, scegli la scheda Relazioni di fiducia.

  5. Nella scheda Relazioni di fiducia, scegli Modifica politica di fiducia.

  6. Nella pagina Modifica politica di fiducia, aggiungi almeno una delle chiavi aws:SourceArn o delle aws:SourceAccount condizioni alla politica. Utilizzalo aws:SourceArn per limitare la relazione di fiducia tra servizi incrociati (come Amazon EC2) e AWS OpsWorks Stacks a stack di stack specifici AWS OpsWorks , il che è più restrittivo. Aggiungi aws:SourceAccount per limitare la relazione di fiducia tra cross services e AWS OpsWorks Stacks agli stack di un account specifico, il che è meno restrittivo. Di seguito è riportato un esempio. Tieni presente che se utilizzi entrambe le chiavi di condizione, gli ID degli account devono essere gli stessi.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "arn:aws:opsworks:us-east-2:123456789012:stack/EXAMPLEd-5699-40a3-80c3-22c32EXAMPLE/" } } } ] }
  7. Quando hai finito di aggiungere le chiavi di condizione, scegli Aggiorna politica.

Di seguito sono riportati altri esempi di ruoli che limitano l'accesso agli stack utilizzando aws:SourceArn andaws:SourceAccount.

Esempio: accesso agli stack in una regione specifica

La seguente dichiarazione sulla relazione di fiducia tra i ruoli accede a qualsiasi AWS OpsWorks stack Stacks nella regione Stati Uniti orientali (Ohio) (). us-east-2 Nota che la regione è specificata nel valore ARN diaws:SourceArn, ma il valore dell'ID dello stack è un carattere jolly (*).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks:us-east-2:123456789012:stack/*" } } } ] }

Esempio: aggiunta di più di uno stack ARN a aws:SourceArn

L'esempio seguente limita l'accesso a una matrice di due AWS OpsWorks stack di stack nell'account ID 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID1", "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID2" ] } } } ] }