Ho riscontrato il messaggio di errore 'Cross-account pass role is not allowed' durante la sottoscrizione con Amazon Kinesis Data Firehose all'argomento di Amazon Simple Notification Service (SNS).
Breve descrizione
Hai configurato un argomento di Amazon Simple Notification Service (SNS) nell'account A e Amazon Kinesis Data Firehose nell'account B. Per creare una sottoscrizione tra SNS e Kinesis Data Firehose, conferma quanto segue:
- Gli abbonamenti vengono creati nell'account B che dispone anche di Kinesis Data Firehose.
- L'abbonamento ha un ruolo di AWS Identity e Access Management (IAM), con autorizzazioni Kinesis.
- La politica di fiducia del ruolo IAM viene aggiornata per consentire al servizio SNS di assumere il ruolo.
- La politica di accesso dell'argomento SNS nell'account A consente all'account B di eseguire l'azione SNS:subscribe.
Risoluzione
Conferma che l'abbonamento è stato creato nell'account B che dispone anche di Kinesis Data Firehose
Crea l'abbonamento nell'account B come segue:
- Accedi alla Console di gestione AWS e accedi alla console Amazon SNS.
- Scegli Abbonamenti. Quindi, seleziona Crea abbonamenti.
- Crea un abbonamento Amazon Data Firehose. Per ulteriori informazioni, consulta Sottoscrizione di un flusso di distribuzione di Kinesis Data Firehose a un argomento Amazon SNS.
Verifica che il ruolo IAM disponga delle autorizzazioni Kinesis e che la policy di fiducia associata consenta al servizio SNS di assumere il ruolo
L'abbonamento richiede un ruolo IAM che si fidi del responsabile del servizio Amazon SNS e che disponga dell'autorizzazione a scrivere nel flusso di distribuzione. Come minimo, la policy deve fornire le autorizzazioni per eseguire l'operazione PutRecord su un flusso di consegna specifico. Per ulteriori informazioni, consulta Prerequisiti per la sottoscrizione dei flussi di distribuzione di Kinesis Data Firehose agli argomenti di Amazon SNS.
Conferma che la politica di accesso dell'argomento SNS nell'account A consenta all'account B di eseguire l'azione SNS:Subscribe
L'account B richiede le autorizzazioni appropriate per accedere all'argomento SNS nell'account A ed eseguire l'azione SNS:Subscribe. Per ulteriori informazioni, consulta Concedere l'accesso all'account AWS a un argomento.
Nota: Puoi aggiornare la policy di accesso nell'account A per implementare le autorizzazioni e le condizioni di accesso più rigorose.