Controlla l'accesso per invocare un API - 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à.

Controlla l'accesso per invocare un API

In questa sezione, imparerai a conoscere il modello di autorizzazioni per controllare l'accesso ai permessi di API utilizzoIAM. Mostriamo un modello di dichiarazione IAM politica e il riferimento alla dichiarazione politica. Il riferimento alla dichiarazione politica include i formati Action e Resource i campi relativi al servizio di API esecuzione. Utilizzate questi riferimenti per creare la vostra dichiarazione IAM politica. Quando si crea la dichiarazione IAM politica, potrebbe essere necessario considerare il modo in cui le politiche delle risorse di API Gateway influiscono sul flusso di lavoro di autorizzazione. Per ulteriori informazioni, consulta In che modo le politiche delle risorse del API gateway influiscono sul flusso di lavoro.

Per uso privatoAPIs, è necessario utilizzare una combinazione di una politica delle risorse di API Gateway e una politica VPC degli endpoint. Per ulteriori informazioni, consulta i seguenti argomenti:

Controlla chi può chiamare un API metodo API Gateway con policy IAM

Per controllare chi può o non può chiamare un impiegato API con IAM autorizzazioni, crea un documento di IAM policy con le autorizzazioni richieste. Di seguito viene mostrato un modello per questo tipo di documento di policy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Permission", "Action": [ "execute-api:Execution-operation" ], "Resource": [ "arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path" ] } ] }

Qui, Permission deve essere sostituito da Allow o Deny a seconda che si desideri concedere o revocare le autorizzazioni incluse. Execution-operationdeve essere sostituito dalle operazioni supportate dal servizio di esecuzione. API METHOD_HTTP_VERBrappresenta un HTTP verbo supportato dalle risorse specificate. Resource-pathè il segnaposto per il URL percorso di un'APIResourceistanza distribuita che supporta detto. METHOD_HTTP_VERB Per ulteriori informazioni, consulta Dichiarazione di riferimento sulle IAM politiche per l'esecuzione API in API Gateway.

Nota

IAMAffinché le politiche siano efficaci, è necessario aver abilitato IAM l'autenticazione sui API metodi impostando AWS_IAM la proprietà dei metodi. authorizationType In caso contrario, questi API metodi saranno accessibili al pubblico.

Ad esempio, per concedere a un utente l'autorizzazione a visualizzare un elenco di animali domestici esposti da uno specificoAPI, ma per negare all'utente l'autorizzazione ad aggiungere un animale domestico all'elenco, è possibile includere la seguente dichiarazione nella politica: IAM

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/POST/pets" ] } ] }

Per concedere a un utente l'autorizzazione a visualizzare uno specifico animale domestico esposto da un API uomo configurato comeGET /pets/{petId}, è possibile includere la seguente dichiarazione nella IAM politica:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets/a1b2" ] } ] }

Dichiarazione di riferimento sulle IAM politiche per l'esecuzione API in API Gateway

Le seguenti informazioni descrivono il formato Action and Resource delle IAM politiche relative alle autorizzazioni di accesso per l'esecuzione di unAPI.

Formato di azione delle autorizzazioni per l'esecuzione API in Gateway API

L'Actionespressione API -execution ha il seguente formato generale:

execute-api:action

dove action è un'azione di API esecuzione disponibile:

  • *, che rappresenta tutte le operazioni che seguono.

  • Invoke, usato per invocare un API su richiesta di un client.

  • InvalidateCache, utilizzato per invalidare la API cache su richiesta di un client.

Formato delle risorse delle autorizzazioni per l'esecuzione in Gateway API API

L'Resourceespressione API -execution ha il seguente formato generale:

arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier

dove:

  • region è la AWS regione (come us-east-1 o * per tutte le AWS regioni) che corrisponde a quella distribuita API per il metodo.

  • account-id è l'ID dell' AWS account a 12 cifre del proprietario. REST API

  • api-id è l'identificatore che API Gateway ha assegnato al metodoAPI.

  • stage-name è il nome dello stadio associato al metodo.

  • HTTP-VERB è il HTTP verbo che indica il metodo. Può essere uno dei seguenti:GET,,POST, PUTDELETE,PATCH.

  • resource-path-specifier è il percorso del metodo desiderato.

Nota

Se specifichi un carattere jolly (*), l'espressione Resource applica il carattere jolly al resto dell'espressione.

Alcuni esempi dell'espressione Resource includono:

  • arn:aws:execute-api:*:*:*per qualsiasi percorso di risorse in qualsiasi fase, per qualsiasi API AWS area geografica.

  • arn:aws:execute-api:us-east-1:*:*per qualsiasi percorso di risorse in qualsiasi fase, per qualsiasi percorso API nella AWS regione dius-east-1.

  • arn:aws:execute-api:us-east-1:*:api-id/*per qualsiasi percorso di risorsa in qualsiasi fase, per il API con l'identificatore di api-id nella AWS regione us-east-1.

  • arn:aws:execute-api:us-east-1:*:api-id/test/*per qualsiasi percorso di risorsa nella fase ditest, per il API con l'identificatore di api-id nella AWS regione us-east-1.

Per ulteriori informazioni, consulta Documentazione di riferimento Amazon Resource Name (ARN) API Gateway.