Prevenzione del problema "confused deputy" tra servizi - Amazon Rekognition

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 problema "confused deputy" tra servizi

NelAWS, l'imitazione di identità tra servizi può verificarsi quando un servizio (servizio di chiamata) chiama un altro servizio (ilchiamato servizio). Il servizio di chiamata può essere manipolato per agire sulle risorse di un altro cliente anche se non dovrebbe disporre delle autorizzazioni appropriate, con il risultato di creare un problema confuso con l'assistente.

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 utilizzareaws:SourceArneaws:SourceAccountchiavi di contesto delle condizioni globali nelle politiche delle risorse per limitare le autorizzazioni che Amazon Rekognition concede a un altro servizio alla risorsa.

Se il valore diaws:SourceArnnon contiene l'ID dell'account, ad esempio un bucket Amazon S3 ARN, è necessario utilizzare entrambe le chiavi per limitare le autorizzazioni. Se si utilizzano entrambe le chiavi eaws:SourceArnil valore contiene l'ID dell'account,aws:SourceAccountvalore e conto nelaws:SourceArnvalue deve utilizzare lo stesso ID account quando viene utilizzato nella stessa dichiarazione politica.

Utilizzare aws:SourceArn se si desidera consentire l'associazione di una sola risorsa all'accesso tra servizi. Utilizzare aws:SourceAccount se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso tra servizi.

Il valore diaws:SourceArndeve essere l'ARN della risorsa utilizzata da Rekognition, specificato con il seguente formato:arn:aws:rekognition:region:account:resource.

Il valore diarn:User ARNdovrebbe essere l'ARN dell'utente che chiamerà l'operazione di analisi video (l'utente che assume un ruolo).

L'approccio consigliato al problema confuso del vice è quello di utilizzare ilaws:SourceArnchiave di contesto della condizione globale con la risorsa ARN completa.

Se non conosci l'ARN completo della risorsa o se stai specificando più risorse, usaaws:SourceArnchiave con caratteri jolly (*) per le porzioni sconosciute dell'ARN. Ad esempio, arn:aws:rekognition:*:111122223333:*.

Per proteggerti dal confuso problema del vice, procedi come segue:

  1. Nel pannello di navigazione della console IAM scegliRuoliopzione. La console mostrerà i ruoli per il tuo account corrente.

  2. Scegli il nome del ruolo che desideri modificare. Il ruolo che modifichi deve avere ilAmazonRekognitionServiceRolepolitica sulle autorizzazioni. Seleziona laRelazioni di fiducialinguetta.

  3. Seleziona Edit trust policy (Modifica policy di attendibilità).

  4. SulModifica la politica di fiduciapagina, sostituisci la politica JSON predefinita con una politica che utilizza uno o entrambi iaws:SourceArneaws:SourceAccountchiavi di contesto delle condizioni globali. Vedi le seguenti politiche di esempio.

  5. Scegli Update policy (Aggiorna policy).

I seguenti esempi sono politiche di fiducia che mostrano come è possibile utilizzare ilaws:SourceArneaws:SourceAccountchiavi di contesto delle condizioni globali in Amazon Rekognition per evitare il problema confuso del vice.

Se lavori su video archiviati e trasmetti video in streaming, puoi utilizzare una politica come la seguente nel tuo ruolo IAM:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "StringLike":{ "aws:SourceArn":"arn:aws:rekognition:region:111122223333:streamprocessor/*" } } } ] }

Se lavori esclusivamente con video archiviati, puoi utilizzare una politica come la seguente nel tuo ruolo IAM (tieni presente che non è necessario includere ilStringLikeargomento che specifica ilstreamprocessor):

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" } } } ] }