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
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 AWS, l'impersonificazione intersettoriale può portare al confuso problema del sostituto. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio di chiamata può essere manipolato in modo da utilizzare le sue autorizzazioni per agire sulle risorse di un altro cliente in un modo a cui altrimenti non dovrebbe avere l'autorizzazione 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, si veda il problema confuso del vicario nella Guida per l'IAMutente.
Ti consigliamo di utilizzare aws:SourceArn
le chiavi di contesto della condizione aws:SourceAccount
globale nelle politiche delle risorse per limitare le autorizzazioni di cui AWS Transfer Family dispone 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 confuso problema secondario consiste nell'utilizzare l'esatto Amazon Resource Name (ARN) della risorsa che desideri consentire. Se stai specificando più risorse, usa la chiave aws:SourceArn
global context condition con caratteri jolly (*
) per le parti sconosciute di. 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 utente ARN Transfer Family.
-
Ruolo di accesso: fornisce l'accesso solo ai file Amazon S3 che vengono trasferiti. Per AS2 i trasferimenti in entrata, il ruolo di accesso utilizza Amazon Resource Name (ARN) per l'accordo. Per AS2 i trasferimenti in uscita, il ruolo di accesso utilizza ARN for the connector.
-
Ruolo di chiamata: da utilizzare con Amazon API Gateway come provider di identità personalizzato del server. Transfer Family assume questo ruolo nel contesto di un server ARN Transfer Family.
-
Ruolo di registrazione: utilizzato per registrare le voci in Amazon CloudWatch. Transfer Family utilizza questo ruolo per registrare i dettagli relativi al successo e all'errore insieme alle informazioni sui trasferimenti di file. Transfer Family assume questo ruolo nel contesto di un server ARN Transfer Family. Per AS2 i trasferimenti in uscita, il ruolo di registrazione utilizza il connettore. ARN
-
Ruolo di esecuzione: consente a un utente Transfer Family di chiamare e avviare flussi di lavoro. Transfer Family assume questo ruolo nel contesto di un flusso ARN di lavoro Transfer Family.
Per ulteriori informazioni, consulta Politiche e autorizzazioni IAM nella Guida per l'IAMutente.
Nota
Negli esempi seguenti, sostituisci ogni user input placeholder
con le tue informazioni.
Nota
Nei nostri esempi, utilizziamo entrambi ArnLike
eArnEquals
. Sono identici dal punto di vista funzionale e pertanto è possibile utilizzarli entrambi quando si creano le proprie politiche. La documentazione di Transfer Family utilizza ArnLike
quando la condizione contiene un carattere jolly e ArnEquals
indica una condizione di corrispondenza esatta.
AWS Transfer Family, ruolo utente, prevenzione confusa tra diversi servizi
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": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
: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": "
account-id
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
: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:
region
:account-id
:user/server-id
/user-name
" } } } ] }
AWS Transfer Family, ruolo del flusso di lavoro, prevenzione confusa tra diversi servizi
La seguente politica di esempio consente a qualsiasi flusso di lavoro 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": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:workflow/*" } } } ] }
La seguente politica 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:
region
:account-id
:workflow/workflow-id
" } } } ] }
AWS Transfer Family, ruolo di registrazione e invocazione, prevenzione confusa tra diversi servizi
Nota
I seguenti esempi possono essere utilizzati sia nei ruoli di registrazione che di invocazione.
In questi esempi, puoi rimuovere i ARN dettagli di un flusso di lavoro se al server non è collegato alcun flusso di lavoro.
Il seguente esempio di politica di registrazione/invocazione 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": "
account-id
" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:region
:account-id
:server/*", "arn:aws:transfer:region
:account-id
:workflow/*" ] } } } ] }
Il seguente esempio di politica di registrazione/invocazione 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": "
account-id
" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:region
:account-id
:server/server-id
", "arn:aws:transfer:region
:account-id
:workflow/workflow-id
" ] } } } ] }