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à.
Cross-service prevenzione sostitutiva confusa
Il problema confused deputy è un problema di sicurezza in cui un’entità che non dispone dell’autorizzazione per eseguire un’azione può costringere un’entità maggiormente privilegiata a eseguire l’azione. Nel AWS, l'impersonificazione tra servizi può dare origine al confuso problema del sostituto. Cross-service l'imitazione può avvenire quando un servizio (il servizio chiamante) chiama un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni per agire sulle risorse di un altro cliente in un modo a cui altrimenti non dovrebbe avere il permesso di 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. Per una descrizione dettagliata di questo problema, consulta il confuso problema sostitutivo nella IAM User Guide.
Consigliamo di utilizzare aws:SourceArn le chiavi di contesto della condizione aws:SourceAccount globale nelle policy delle risorse per limitare le autorizzazioni di AWS Transfer Family per la risorsa. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali, il valore aws:SourceAccount e l'account nel valore aws:SourceArn devono utilizzare lo stesso ID account nella stessa istruzione di policy.
Il modo più efficace per proteggersi dal problema "confused deputy" è utilizzare il nome della risorsa Amazon (ARN) esatto della risorsa che vuoi autorizzare. Se stai specificando più risorse, utilizza la chiave di condizione del contesto aws:SourceArn globale con caratteri jolly (*) per le parti sconosciute dell'ARN. Ad esempio, arn:aws:transfer::.region::account-id:server/*
AWS Transfer Family utilizza i seguenti tipi di ruoli:
-
Ruolo utente: consente agli utenti gestiti dal servizio di accedere alle risorse Transfer Family necessarie. AWS Transfer Family assume questo ruolo nel contesto di un ARN utente di Transfer Family.
-
Ruolo di accesso: fornisce l'accesso solo ai file Amazon S3 che vengono trasferiti. Per i trasferimenti AS2 in entrata, il ruolo di accesso utilizza Amazon Resource Name (ARN) per l'accordo. Per i trasferimenti AS2 in uscita, il ruolo di accesso utilizza l'ARN per il connettore.
-
Ruolo di richiamo: da utilizzare con Amazon API Gateway come provider di identità personalizzato del server. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family.
-
Ruolo di registrazione: utilizzato per registrare le voci in Amazon. CloudWatch Transfer Family utilizza questo ruolo per registrare i dettagli di successo e fallimento insieme alle informazioni sui trasferimenti di file. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family. Per i trasferimenti AS2 in uscita, il ruolo di registrazione utilizza il connettore ARN.
-
Ruolo di esecuzione: consente a un utente di Transfer Family di chiamare e avviare flussi di lavoro. Transfer Family assume questo ruolo nel contesto di un ARN del flusso di lavoro di Transfer Family.
Per ulteriori informazioni, consulta Policy e autorizzazioni in IAM nella Guida per l’utente di IAM .
Nota
Negli esempi seguenti, sostituisci ciascuno user input
placeholder con le tue informazioni.
Nota
Nei nostri esempi, utilizziamo ArnLike sia cheArnEquals. Sono identici dal punto di vista funzionale e pertanto puoi utilizzarli entrambi quando costruisci le tue politiche. La documentazione di Transfer Family ArnLike viene utilizzata quando la condizione contiene un carattere jolly e ArnEquals per indicare una condizione di corrispondenza esatta.
AWS Ruolo utente di Transfer Family tra diversi servizi, prevenzione della confusione, sostituto
La seguente politica di esempio consente a qualsiasi utente di qualsiasi server dell'account di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/*" } } } ] }
La seguente politica di esempio consente a qualsiasi utente di un server specifico di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/server-id/*" } } } ] }
La seguente politica di esempio consente a un utente specifico di un server specifico di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/server-id/user-name" } } } ] }
AWS Transfer Family, flusso di lavoro, ruolo interservizio, prevenzione della confusione, vicepresidente
Il seguente criterio di esempio consente a qualsiasi flusso di lavoro nell'account di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-west-2:111122223333:workflow/*" } } } ] }
Il seguente criterio di esempio consente a un flusso di lavoro specifico di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id" } } } ] }
AWS Transfer Family, ruolo del connettore interservizio, prevenzione della confusione, vicepresidente
La seguente politica di esempio consente a qualsiasi connettore dell'account di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:connector/*" } } } ] }
La seguente politica di esempio consente a un connettore specifico di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:connector/connector-id" } } } ] }
AWS Trasferimento del ruolo di registrazione e invocazione della famiglia tra servizi diversi: prevenzione della confusione tra servizi
Nota
I seguenti esempi possono essere utilizzati sia nei ruoli di registrazione che di richiamo.
In questi esempi, puoi rimuovere i dettagli ARN per un flusso di lavoro se al tuo server non è collegato alcun flusso di lavoro.
La seguente logging/invocation politica di esempio consente a qualsiasi server (e flusso di lavoro) dell'account di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAllServersWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:us-west-2:111122223333:server/*", "arn:aws:transfer:us-west-2:111122223333:workflow/*" ] } } } ] }
La seguente logging/invocation politica di esempio consente a un server (e a un flusso di lavoro) specifici di assumere il ruolo.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowSpecificServerWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:us-west-2:111122223333:server/server-id", "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id" ] } } } ] }