In che modo le politiche delle risorse del API gateway influiscono sul flusso di lavoro - 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à.

In che modo le politiche delle risorse del API gateway influiscono sul flusso di lavoro

Quando API Gateway valuta la politica delle risorse allegata alla vostraAPI, il risultato è influenzato dal tipo di autenticazione che avete definito per laAPI, come illustrato nei diagrammi di flusso nelle sezioni seguenti.

APISolo policy relative alle risorse di Gateway

In questo flusso di lavoro, una politica delle risorse del API Gateway è allegata aAPI, ma non è definito alcun tipo di autenticazione perAPI. La valutazione della policy comporta la ricerca di un'autorizzazione esplicita basata sui criteri in entrata dell'intermediario. Un rifiuto implicito o esplicito comporta il rifiuto dell'intermediario.

Flusso di autorizzazione relativo solo a una politica delle risorse.

Di seguito viene riportato un esempio di tale policy delle risorse.

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

Autorizzazione Lambda e policy delle risorse

In questo flusso di lavoro, viene configurato un autorizzatore Lambda per la politica delle risorse API in aggiunta a quella delle risorse. La policy delle risorse viene valutata in due fasi. Prima di chiamare l'autorizzatore Lambda, API Gateway valuta innanzitutto la policy e verifica eventuali negazioni esplicite. Se riscontrati, all'intermediario viene negato subito l'accesso. In caso contrario viene chiamata l'autorizzazione Lambda, che restituisce un documento della policy che viene valutato insieme alla policy delle risorse. Il risultato è determinato in base alla Tabella A.

La politica delle risorse di esempio seguente consente le chiamate solo dall'VPCendpoint il cui ID VPC endpoint è. vpce-1a2b3c4d Durante la valutazione «pre-auth», solo le chiamate provenienti dall'VPCendpoint indicato nell'esempio possono andare avanti e valutare l'autorizzatore Lambda. Tutte le chiamate rimanenti vengono bloccate.

Flusso di autorizzazione per una politica delle risorse e un autorizzatore Lambda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:region:account-id:api-id/" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }

Autenticazione IAM e policy delle risorse

In questo flusso di lavoro, si configura IAM l'autenticazione per oltre API a una politica delle risorse. Dopo aver autenticato l'utente con il IAM servizio, API valuta sia le politiche allegate all'utente che la politica delle risorse. Il risultato varia a seconda che il chiamante si trovi nella stessa sede Account AWS o in una posizione diversa dal Account AWS proprietario. API

Se il chiamante e il API proprietario provengono da account separati, sia i criteri che i IAM criteri relativi alle risorse consentono esplicitamente al chiamante di procedere. Per ulteriori informazioni, vedere la Tabella B.

Tuttavia, se il chiamante e il API proprietario coincidono Account AWS, le politiche IAM degli utenti o le politiche delle risorse devono consentire esplicitamente al chiamante di procedere. Per ulteriori informazioni, vedere la Tabella A.

Flusso di autorizzazione per una politica e un'IAMautenticazione delle risorse.

Di seguito viene riportato un esempio di policy delle risorse multiaccount. Supponendo che la IAM politica contenga un effetto di autorizzazione, questa politica delle risorse consente solo le chiamate provenienti dal VPC cui VPC ID èvpc-2f09a348. Per ulteriori informazioni, vedere la Tabella B.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:region:account-id:api-id/" ], "Condition" : { "StringEquals": { "aws:SourceVpc": "vpc-2f09a348" } } } ] }

Autenticazione Amazon Cognito e policy delle risorse

In questo flusso di lavoro, un pool di utenti di Amazon Cognito è configurato per la politica delle risorse API in aggiunta a quella delle risorse. APIGateway tenta innanzitutto di autenticare il chiamante tramite Amazon Cognito. Questa operazione viene in genere eseguita tramite un JWTtoken fornito dal chiamante. Se l'autenticazione va a buon fine, la policy delle risorse viene valutata in modo indipendente ed è richiesta un'autorizzazione esplicita. Un rifiuto o "non consentire né rifiutare" si traduce in un rifiuto. Di seguito è riportato un esempio di una policy delle risorse che potrebbe essere utilizzata insieme a pool di utenti di Amazon Cognito.

Flusso di autorizzazione per una politica delle risorse e un autorizzatore Amazon Cognito.

Di seguito è riportato un esempio di politica delle risorse che consente chiamate solo da una fonte specificataIPs, presupponendo che il token di autenticazione Amazon Cognito contenga un'autorizzazione. Per ulteriori informazioni, consulta la Tabella B.

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

Tabelle dei risultati della valutazione delle policy

La Tabella A elenca il comportamento risultante quando l'accesso a un API Gateway API è controllato da una IAM policy o da un'autorizzazione Lambda e da una policy delle risorse API Gateway, entrambe coincidenti. Account AWS

IAMpolicy (o autorizzatore Lambda)

APIPolitica delle risorse del gateway

Comportamento risultante

Abilita Abilita Abilita
Abilita Né Abilita né Rifiuta Abilita
Abilita Rifiuta Explicit Deny (rifiuto esplicito)
Né Abilita né Rifiuta Abilita Abilita
Né Abilita né Rifiuta Né Abilita né Rifiuta Rifiuto implicito
Né Abilita né Rifiuta Rifiuta Explicit Deny (rifiuto esplicito)
Rifiuta Abilita Explicit Deny (rifiuto esplicito)
Rifiuta Né Abilita né Rifiuta Explicit Deny (rifiuto esplicito)
Rifiuta Rifiuta Explicit Deny (rifiuto esplicito)

La Tabella B elenca il comportamento risultante quando l'accesso a un API Gateway API è controllato da una IAM policy o da un autorizzatore di pool di utenti di Amazon Cognito e da una policy di risorse API Gateway, che sono diverse. Account AWS Se una delle due è silente (non permette né rifiuta). l'accesso multiaccount viene negato. Questo perché l'accesso tra account diversi richiede che sia la politica delle risorse che la IAM policy o l'autorizzatore dei pool di utenti di Amazon Cognito concedano esplicitamente l'accesso.

IAMpolicy (o autorizzatore dei pool di utenti di Amazon Cognito)

APIPolitica delle risorse di Gateway

Comportamento risultante

Abilita Abilita Abilita
Abilita Né Abilita né Rifiuta Rifiuto implicito
Abilita Rifiuta Explicit Deny (rifiuto esplicito)
Né Abilita né Rifiuta Abilita Rifiuto implicito
Né Abilita né Rifiuta Né Abilita né Rifiuta Rifiuto implicito
Né Abilita né Rifiuta Rifiuta Explicit Deny (rifiuto esplicito)
Rifiuta Abilita Explicit Deny (rifiuto esplicito)
Rifiuta Né Abilita né Rifiuta Explicit Deny (rifiuto esplicito)
Rifiuta Rifiuta Explicit Deny (rifiuto esplicito)