Prevenzione del problema "confused deputy" tra servizi - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

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

In AWS, la rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) chiama un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per agire sulle risorse di un altro cliente, anche se non dovrebbe avere le autorizzazioni corrette, e ciò porta al problema del "confused deputy".

Per evitare situazioni confuse, AWS fornisce strumenti che consentono di proteggere i dati per tutti i servizi utilizzando i gestori dei servizi a cui è stato concesso l'accesso alle risorse del proprio account. Questa sezione si concentra sulla prevenzione dell'interferenza tra servizi specifici del servizio gestito per Apache Flink. Tuttavia, per saperne di più su questo argomento puoi consultare la sezione Problema del "confused deputy" della Guida per l'utente IAM.

Nel contesto di Managed Service for Apache Flink, ti consigliamo di utilizzare le chiavi aws: SourceArn e aws: SourceAccount global condition context nella tua policy di trust dei ruoli per limitare l'accesso al ruolo solo alle richieste generate dalle risorse previste.

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

Il valore di aws:SourceArn deve essere l'ARN della risorsa utilizzata dal servizio gestito per Apache Flink, specificato con il seguente formato: arn:aws:kinesisanalytics:region:account:resource.

L'approccio consigliato per proteggersi dal problema del "confused deputy" è quello di usare la chiave di contesto della condizione globale aws:SourceArn con l'ARN completo della risorsa.

Se non conosci l'ARN completo della risorsa o se scegli più risorse, utilizza la chiave aws:SourceArn con caratteri jolly (*) per le parti sconosciute dell'ARN. Ad esempio: arn:aws:kinesisanalytics::111122223333:*.

Le policy dei ruoli fornite al servizio gestito per Apache Flink e le policy di attendibilità dei ruoli generati per te possono utilizzare queste chiavi.

Per proteggerti dal problema del "confused deputy", completa le seguenti operazioni:

Per proteggersi dal problema del "confused deputy"
  1. Accedi alla console di AWS gestione e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Scegli Ruoli, quindi scegli il ruolo che desideri modificare.

  3. Seleziona Modifica policy di attendibilità.

  4. Nella pagina Modifica policy di attendibilità, sostituisci la policy JSON predefinita con una policy che utilizza una o entrambe le chiavi di contesto della condizione globale aws:SourceArn e aws:SourceAccount. Vedi la policy di esempio riportata di seguito:

  5. Scegli Aggiorna policy.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"kinesisanalytics.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app" } } } ] }