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à.
Usa le chiavi di CalledVia contesto per Athena
Quando un preside fa una richiesta a AWS, AWS raccoglie le informazioni sulla richiesta in un contesto di richiesta che valuta e autorizza la richiesta. È possibile utilizzare l'Condition
elemento di una JSON politica per confrontare le chiavi nel contesto della richiesta con i valori chiave specificati nella politica. Le chiavi di condizione globali sono chiavi di condizione con un prefisso aws:
.
Informazioni su aws:CalledVia chiave di contesto
È possibile utilizzare aws:CalledViachiave di contesto globale per confrontare i servizi inclusi nella politica con i servizi che hanno effettuato le richieste per conto del IAM principale (utente o ruolo). Quando un preside effettua una richiesta a un Servizio AWS, tale servizio potrebbe utilizzare le credenziali del principale per effettuare richieste successive ad altri servizi. La chiave aws:CalledVia
contiene un elenco ordinato di ciascun servizio nella catena che ha effettuato le richieste per conto dell'entità principale.
Specificando il nome principale del servizio per la chiave di aws:CalledVia
contesto, è possibile creare la chiave di contesto Servizio AWS-specifico. Ad esempio, puoi utilizzare la chiave di condizione aws:CalledVia
per limitare le richieste solo a quelle fatte da Athena. Per utilizzare la chiave di condizione aws:CalledVia
in una policy con Athena, specifica il nome del principale del servizio Athena athena.amazonaws.com
, come nell'esempio seguente.
... "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "athena.amazonaws.com" } } ...
Puoi utilizzare la chiave di contesto aws:CalledVia
per garantire che i chiamanti abbiano accesso a una risorsa (come una funzione Lambda) solo se chiamano la risorsa da Athena.
Nota
La chiave di contesto aws:CalledVia
non è compatibile con la funzionalità di propagazione delle identità attendibili.
Aggiungi una chiave CalledVia contestuale per l'accesso alle funzioni Lambda
Athena richiede che il chiamante abbia le autorizzazioni lambda:InvokeFunction
per chiamare la funzione Lambda associata alla query. L'istruzione seguente specifica che l'utente può richiamare le funzioni Lambda solo da Athena.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor3", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-1:
111122223333
:function:OneAthenaLambdaFunction
", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "athena.amazonaws.com" } } } ] }
L'esempio seguente mostra l'aggiunta dell'istruzione precedente a una policy che consente a un utente di eseguire e leggere una query federata. I principali autorizzati a eseguire queste operazioni possono eseguire query che specificano i cataloghi Athena associati a un'origine dati federata. Tuttavia, il principale non può accedere alla funzione Lambda associata a meno che la funzione non venga richiamata tramite Athena.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:GetWorkGroup", "s3:PutObject", "s3:GetObject", "athena:StartQueryExecution", "s3:AbortMultipartUpload", "athena:StopQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:athena:*:
111122223333
:workgroup/WorkGroupName
", "arn:aws:s3:::MyQueryResultsBucket
/*", "arn:aws:s3:::MyLambdaSpillBucket
/MyLambdaSpillPrefix
*" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "athena:ListWorkGroups", "Resource": "*" }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::MyLambdaSpillBucket
" }, { "Sid": "VisualEditor3", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:*:111122223333
:function:OneAthenaLambdaFunction
", "arn:aws:lambda:*:111122223333
:function:AnotherAthenaLambdaFunction
" ], "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "athena.amazonaws.com" } } } ] }
Per ulteriori informazioni sui CalledVia
tasti condizionali, consulta AWS chiavi di contesto delle condizioni globali nella Guida IAM per l'utente.