Controlla l'accesso a un REST API con IAM autorizzazioni - 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 a un REST API con IAM autorizzazioni

Puoi controllare l'accesso al tuo Amazon API Gateway API con IAMle autorizzazioni controllando l'accesso ai seguenti due processi componenti del API Gateway:

  • Per creare, distribuire e gestire un API in API Gateway, devi concedere API allo sviluppatore le autorizzazioni necessarie per eseguire le azioni richieste supportate dal componente di API gestione di Gateway. API

  • Per chiamare un dispositivo distribuito API o aggiornare la memorizzazione nella API cache, è necessario concedere al API chiamante le autorizzazioni per eseguire le IAM azioni richieste supportate dal componente di esecuzione di Gateway. API API

Il controllo degli accessi per i due processi prevede l'uso dei due diversi modelli di autorizzazione illustrati più avanti.

APIModello di autorizzazioni Gateway per la creazione e la gestione di un API

Per consentire a uno API sviluppatore di creare e gestire un API in API Gateway, è necessario creare politiche di IAM autorizzazione che consentano a API uno sviluppatore specifico di creare, aggiornare, distribuire, visualizzare o eliminare le entità richieste. API È possibile collegare la policy delle autorizzazioni a un utente, un ruolo o un gruppo.

Per fornire l'accesso, aggiungi autorizzazioni ai tuoi utenti, gruppi o ruoli:

Per ulteriori informazioni su come usare il modello di autorizzazione, consulta APIPolitiche basate sull'identità di Gateway.

APIModello di autorizzazioni Gateway per richiamare un API

Per consentire a un API chiamante di richiamare API o aggiornare la memorizzazione nella cache, è necessario creare IAM politiche che consentano a un API chiamante specificato di richiamare il metodo per il quale è abilitata l'APIautenticazione utente. Lo API sviluppatore imposta la authorizationType proprietà del metodo in modo che richieda che il chiamante invii le credenziali dell'utente AWS_IAM per l'autenticazione. Sarà quindi possibile collegare la policy all'utente, al gruppo o al ruolo.

In questa dichiarazione sulla politica IAM delle autorizzazioni, l'IAMResourceelemento contiene un elenco di API metodi distribuiti identificati da determinati HTTP verbi e percorsi di risorse Gateway. API L'IAMActionelemento contiene le azioni API Gateway API richieste per l'esecuzione. Queste azioni includono execute-api:Invoke oexecute-api:InvalidateCache, dove execute-api designa il componente di API esecuzione sottostante di API Gateway.

Per ulteriori informazioni su come usare il modello di autorizzazione, consulta Controlla l'accesso per invocare un API.

Quando un API è integrato con un AWS servizio (ad esempio AWS Lambda) nel backend, API Gateway deve disporre anche delle autorizzazioni per accedere alle AWS risorse integrate (ad esempio, richiamando una funzione Lambda) per conto del chiamante. API Per concedere queste autorizzazioni, crea un IAM ruolo del servizio di tipo Gateway.AWS API Quando si crea questo ruolo nella console di IAM gestione, il ruolo risultante contiene la seguente politica di IAM attendibilità che dichiara API Gateway come entità attendibile autorizzata ad assumere il ruolo:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Se si crea il IAM ruolo chiamando il comando create-role di CLI o un SDK metodo corrispondente, è necessario fornire la politica di fiducia di cui sopra come parametro di input di. assume-role-policy-document Non tentate di creare una politica di questo tipo direttamente nella console di IAM gestione o di chiamare il comando AWS CLI create-policy o un metodo corrispondente. SDK

APIAffinché Gateway possa richiamare il AWS servizio integrato, è inoltre necessario allegare a questo ruolo le politiche di IAM autorizzazione appropriate per la chiamata ai servizi integrati. AWS Ad esempio, per chiamare una funzione Lambda, è necessario includere la seguente politica di IAM autorizzazioni nel ruolo: IAM

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }

Lambda supporta le policy di accesso basate su risorse, che combinano policy di autorizzazione e di attendibilità. Quando si integra una funzione API con Lambda utilizzando API la console Gateway, non viene richiesto di impostare IAM questo ruolo in modo esplicito, poiché la console imposta automaticamente le autorizzazioni basate sulle risorse sulla funzione Lambda, con il consenso dell'utente.

Nota

Per implementare il controllo dell'accesso a un AWS servizio, è possibile utilizzare il modello di autorizzazioni basato sul chiamante, in cui una politica di autorizzazioni è collegata direttamente all'utente o al gruppo del chiamante, oppure il modello di autorizzazione basato sui ruoli, in cui una politica di autorizzazioni è associata a un IAM ruolo che API Gateway può assumere. Le policy di autorizzazione possono differire nei due modelli. Ad esempio la policy basata su intermediario blocca l'accesso, mentre quella basata su ruolo lo consente. È possibile trarne vantaggio per richiedere che un utente acceda a un servizio solo tramite un Gateway. AWS API API