Come funziona Amazon API Gateway con IAM - 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à.

Come funziona Amazon API Gateway con IAM

Prima di utilizzare IAM per gestire l'accesso ad API Gateway è necessario comprendere quali caratteristiche IAM sono disponibili per l'utilizzo con questo servizio. Per avere una visione di alto livello di come API Gateway e altri AWS servizi funzionano con IAM, consulta AWS Services That Work with IAM nella IAM User Guide.

Policy basate su identità dei API Gateway

Con le policy basate su identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o rifiutate, nonché le condizioni in base alle quali le operazioni sono consentite o rifiutate. API Gateway supporta specifiche operazioni, risorse e chiavi di condizione. Per ulteriori informazioni sulle operazioni, risorse e chiavi di condizione specifiche per API Gateway, consulta Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management e Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management V2. Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta Documentazione di riferimento degli elementi delle policy JSON IAM nella Guida per l'utente di IAM.

L'esempio seguente mostra una policy basata sull'identità che consente a un utente di creare o aggiornare solo REST privati. APIs Per ulteriori esempi, consulta Esempi di policy basate su identità di Amazon API Gateway.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScopeToPrivateApis", "Effect": "Allow", "Action": [ "apigateway:PATCH", "apigateway:POST", "apigateway:PUT" ], "Resource": [ "arn:aws:apigateway:us-east-1::/restapis", "arn:aws:apigateway:us-east-1::/restapis/??????????" ], "Condition": { "ForAllValues:StringEqualsIfExists": { "apigateway:Request/EndpointType": "PRIVATE", "apigateway:Resource/EndpointType": "PRIVATE" } } }, { "Sid": "AllowResourcePolicyUpdates", "Effect": "Allow", "Action": [ "apigateway:UpdateRestApiPolicy" ], "Resource": [ "arn:aws:apigateway:us-east-1::/restapis/*" ] } ] }

Operazioni

L' Action elemento di una policy JSON descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a un criterio.

Le operazioni delle policy in API Gateway utilizzano il seguente prefisso prima dell'operazione: apigateway:. Le istruzioni della policy devono includere un elemento Action o NotAction. API Gateway definisce un proprio set di operazioni che descrivono le attività che è possibile eseguire con questo servizio.

L'Actionespressione di gestione dell'API ha il formatoapigateway:action, dove action è una delle seguenti azioni API Gateway: GET, POST, PUT, DELETE, PATCH (per aggiornare le risorse) o *, che sono tutte le azioni precedenti.

Alcuni esempi dell'espressione Action includono:

  • apigateway:* per tutte le operazioni API Gateway.

  • apigateway:GET solo per l'operazione GET in API Gateway.

Per specificare più operazioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

"Action": [ "apigateway:action1", "apigateway:action2"

Per informazioni sui verbi HTTP da utilizzare per operazioni specifiche di API Gateway, consulta Amazon API Gateway Version 1 API Reference (REST APIs) e Amazon API Gateway Version 2 API Reference (WebSocket e HTTP APIs).

Per ulteriori informazioni, consulta Esempi di policy basate su identità di Amazon API Gateway.

Risorse

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento JSON Resourcedella policy specifica l'oggetto o gli oggetti ai quali si applica l'operazione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource. Come best practice, specifica una risorsa utilizzando il suo nome della risorsa Amazon (ARN). È possibile eseguire questa operazione per operazioni che supportano un tipo di risorsa specifico, note come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorse, ad esempio le operazioni di elenco, utilizzare un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

Le risorse di API Gateway presentano il seguente formato ARN:

arn:aws:apigateway:region::resource-path-specifier

Ad esempio, per specificare un'API REST con l'id api-id e le relative risorse secondarie, ad esempio gli autorizzatori per l'istruzione, utilizzare il seguente ARN:

"Resource": "arn:aws:apigateway:us-east-2::/restapis/api-id/*"

Per specificare tutte le REST APIs e le risorse secondarie che appartengono a un account specifico, usa il carattere jolly (*):

"Resource": "arn:aws:apigateway:us-east-2::/restapis/*"

Per un elenco dei tipi di risorse API Gateway e relativi ARNs, vedereDocumentazione di riferimento Amazon Resource Name (ARN) API Gateway.

Chiavi di condizione

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Condition(o blocco Condition) consente di specificare le condizioni in cui un'istruzione è in vigore. L'elemento Conditionè facoltativo. È possibile compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Conditionin un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione ANDlogica. Se si specificano più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione logica. OR Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

È possibile anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile autorizzare un utente IAM ad accedere a una risorsa solo se è stata taggata con il relativo nome utente IAM. Per ulteriori informazioni, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche del servizio. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'utente IAM.

API Gateway definisce il proprio set di chiavi di condizione e supporta anche l'uso di alcune chiavi di condizione globali. Per un elenco di chiavi di condizione di API Gateway, consulta Chiavi di condizione per Amazon API Gateway nella Guida per l'utente di IAM. Per informazioni su operazioni e risorse che è possibile utilizzare con una chiave di condizione, consulta Operazioni definite da Amazon API Gateway.

Per informazioni sull'assegnazione di tag, incluso il controllo degli accessi basato sugli attributi, consulta Tagging delle risorse API Gateway.

Esempi

Per esempi di policy basate su identità di API Gateway, consulta Esempi di policy basate su identità di Amazon API Gateway.

Policy basate su risorse di API Gateway

Le policy basate su risorse sono documenti di policy JSON che specificano le operazioni che possono essere eseguite da un'entità specificata sulla risorsa di API Gateway e nel rispetto di quali condizioni possono operare. API Gateway supporta politiche di autorizzazione basate sulle risorse per REST. APIs È possibile utilizzare le policy delle risorse per controllare chi può richiamare un'API REST. Per ulteriori informazioni, consulta Controllo degli accessi a una REST API con le policy delle risorse Gateway API.

Esempi

Per visualizzare esempi di policy basate su risorse di API Gateway, consulta Esempi di policy delle risorse API Gateway.

Autorizzazione basata sui tag di API Gateway

È possibile collegare dei tag alle risorse di API Gateway o passare dei tag in una richiesta ad API Gateway. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione apigateway:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sull'assegnazione di tag alle risorse dell'API Gateway, consulta Utilizzo dei tag per controllare l'accesso alle risorse REST API di Gateway API.

Per esempi di policy basate su identità per limitare l'accesso a una risorsa in base ai tag di tale risorsa, consulta Utilizzo dei tag per controllare l'accesso alle risorse REST API di Gateway API.

Ruoli IAM di API Gateway

Un ruolo IAM è un'entità all'interno del tuo AWS account che dispone di autorizzazioni specifiche.

Utilizzo di credenziali temporanee con API Gateway

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. Ottieni credenziali di sicurezza temporanee chiamando operazioni AWS STS API come AssumeRoleo. GetFederationToken

API Gateway supporta l'utilizzo di credenziali temporanee.

Ruoli collegati ai servizi

I ruoli collegati ai AWS servizi consentono ai servizi di accedere alle risorse di altri servizi per completare un'azione per conto dell'utente. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non può modificarle.

API Gateway supporta i ruoli collegati ai servizi. Per informazioni sulla creazione o la gestione di ruoli collegati ai servizi di API Gateway, consulta Utilizzo dei ruoli collegati ai servizi per API Gateway.

Ruoli dei servizi

Un servizio può assumere un ruolo del servizio a tuo nome. Un ruolo del servizio consente al servizio di accedere alle risorse in altri servizi per completare un'operazione per conto dell'utente. I ruoli del servizio vengono visualizzati nell'account IAM e sono di proprietà dell'account. Pertanto, un amministratore può modificare le autorizzazioni per questo ruolo. Tuttavia, il farlo potrebbe pregiudicare la funzionalità del servizio.

API Gateway supporta i ruoli del servizio.