APIEsempi di policy sulle risorse di Gateway - Amazon API Gateway

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à.

APIEsempi di policy sulle risorse di Gateway

Questa pagina presenta alcuni esempi di casi d'uso tipici delle policy relative alle risorse di API Gateway.

Le politiche di esempio seguenti utilizzano una sintassi semplificata per specificare la API risorsa. Questa sintassi semplificata è un modo abbreviato per fare riferimento a una API risorsa, anziché specificare l'intero Amazon Resource Name (). ARN APIGateway converte la sintassi abbreviata nella versione completa quando salvi la policy. ARN Ad esempio, è possibile specificare la risorsa execute-api:/stage-name/GET/pets in una policy delle risorse. APIGateway converte la risorsa in arn:aws:execute-api:us-east-2:123456789012:aabbccddee/stage-name/GET/pets quando si salva la politica delle risorse. APIGateway crea il ARN file completo utilizzando la regione corrente, l'ID AWS dell'account e l'ID a REST API cui è associata la politica delle risorse. È possibile utilizzare execute-api:/* per rappresentare tutte le fasi, i metodi e i percorsi della versione correnteAPI. Per informazioni sulla sintassi della/e policy di accesso, consulta Panoramica linguistica delle policy di accesso per Amazon API Gateway.

Esempio: consenti ai ruoli di un altro AWS account di utilizzare un API

L'esempio seguente di politica delle risorse concede API l'accesso in un AWS account a due ruoli in un AWS account diverso tramite i protocolli Signature Version 4 (SigV4). In particolare, allo sviluppatore e al ruolo di amministratore dell' AWS account identificato da account-id-2 viene concessa l'execute-api:Invokeazione per eseguire l'GETazione sulla pets risorsa (API) dell'account. AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id-2:role/developer", "arn:aws:iam::account-id-2:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/stage/GET/pets" ] } ] }

Esempio: nega API il traffico in base all'indirizzo o all'intervallo IP di origine

Il seguente esempio di policy in materia di risorse nega (blocca) il traffico in entrata API da e verso due blocchi di indirizzi IP di origine specificati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:SourceIp": ["192.0.2.0/24", "198.51.100.0/24" ] } } } ] }

Esempio: nega il API traffico in base all'indirizzo o all'intervallo IP di origine quando si utilizza un indirizzo privato API

L'esempio seguente di policy in materia di risorse nega (blocca) il traffico in entrata verso un privato proveniente API da due blocchi di indirizzi IP di origine specificati. Quando si utilizza privateAPIs, l'VPCendpoint for execute-api riscrive l'indirizzo IP di origine originale. La condizione aws:VpcSourceIp filtra la richiesta rispetto all'indirizzo IP del richiedente originale.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:VpcSourceIp": ["192.0.2.0/24", "198.51.100.0/24"] } } } ] }

Esempio: consenti il API traffico privato in base alla sorgente o all'endpoint VPC VPC

L'esempio seguente di policy relative alle risorse consente il traffico in entrata verso un ambiente privato API solo da un cloud privato virtuale (VPC) o VPC da un endpoint specifico.

Questo esempio di politica delle risorse specifica una fonte: VPC

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpc": "vpc-1a2b3c4d" } } } ] }

Questo esempio di politica delle risorse specifica un endpoint di origine: VPC

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }