Come posso accedere a un'API di Gateway Amazon API da un altro account AWS?

3 minuti di lettura
0

Desidero accedere a un'API di Gateway Amazon API da un altro account AWS. In che modo posso farlo?

Breve descrizione

Puoi accedere agli endpoint API pubblici (regionali oppure ottimizzati per gli edge) direttamente dall'URL della fase dell'endpoint pubblico o da un nome di dominio personalizzato.

Puoi accedere agli endpoint delle REST API private da un cloud privato virtuale in Amazon Virtual Private Cloud (Amazon VPC) utilizzando un endpoint VPC di interfaccia.

Puoi accedere agli endpoint di Gateway Amazon API utilizzando l'autenticazione AWS Identity and Access Management (IAM) con accesso multi-account.

Risoluzione

Endpoint API pubblici

Puoi accedere agli endpoint pubblici di Gateway API direttamente dall'URL della fase API. Ad esempio, https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}.

Puoi anche accedere agli endpoint pubblici di Gateway API utilizzando un nome di dominio personalizzato in una zona ospitata pubblica.

Nota: i nomi di dominio personalizzati non sono supportati per le API private.

Per ulteriori informazioni, consulta How can I set up a custom domain name for my API Gateway API? (Come posso configurare un nome di dominio personalizzato per la mia API di Gateway API?)

Endpoint REST API privati

Puoi accedere alle REST API private di Gateway API in un altro account AWS con Amazon Virtual Private Cloud (Amazon VPC) utilizzando un endpoint di interfaccia.

Se la REST API privata si trova in un account AWS e desideri accedere a quest'ultima da un altro account, puoi modificare la policy delle risorse.

Per ulteriori informazioni, consulta How can I access an API Gateway private REST API in another AWS account using an interface VPC endpoint? (Come posso accedere a una REST API privata di Gateway API in un altro account AWS utilizzando un endpoint VPC di interfaccia?)

API che utilizzano l'autenticazione IAM

È necessaria una configurazione aggiuntiva per accedere a un'API di Gateway API con accesso multi-account che utilizza l'autenticazione IAM. Al ruolo IAM dell'account di origine deve essere consentito l'accesso esplicito nella policy delle risorse simile al seguente:

REST API

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-id-2:user/Alice",
          "account-id-2"
        ]
      },
      "Action": "execute-api:Invoke",
      "Resource": [
        "arn:aws:execute-api:us-east-1:{account-id}:{api-id}/*/*/*"
      ]
    }
  ]
}

Per ulteriori informazioni, consulta la pagina In che modo posso attivare l'autenticazione IAM per le REST API di Gateway API?

API HTTP

L'opzione di utilizzare le policy delle risorse per fornire l'autenticazione IAM a più account non è disponibile per le API HTTP di Gateway API.

Per assumere un ruolo per l'account API HTTP puoi utilizzare l'operazione API sts:AssumeRole. Il ruolo assunto fornisce credenziali di sicurezza temporanee che possono essere utilizzate per richiamare l'API HTTP in un altro account.

Per ulteriori informazioni, consulta la pagina Come posso fornire l'autorizzazione IAM tra account per le API HTTP di Gateway API?


Informazioni correlate

Creazione di un'API privata in Gateway Amazon API

Esempio: consenti agli utenti di un altro account AWS di utilizzare un'API