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:
-
Utenti e gruppi in: AWS IAM Identity Center
Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l'utente di AWS IAM Identity Center .
-
Utenti gestiti IAM tramite un provider di identità:
Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate in Creazione di un ruolo per un provider di identità di terze parti (federazione) nella Guida per l'IAMutente.
-
IAMutenti:
-
Crea un ruolo che l'utente possa assumere. Segui le istruzioni riportate nella sezione Creazione di un ruolo per un IAM utente nella Guida per l'IAMutente.
-
(Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate in Aggiungere autorizzazioni a un utente (console) nella Guida per l'IAMutente.
-
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'IAMResource
elemento contiene un elenco di API metodi distribuiti identificati da determinati HTTP verbi e percorsi di risorse Gateway. API L'IAMAction
elemento 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