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.
Argomenti
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.
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 è.
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.vpce-1a2b3c4d
{ "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.
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 è
. Per ulteriori informazioni, vedere la Tabella B.vpc-2f09a348
{ "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.
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) |