Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere l'errore dell'operazione di pubblicazione in Amazon SNS?
Ricevo un errore in Amazon Simple Notification Service (Amazon SNS). L'errore si verifica quando utilizzo una sottorete e cerco di pubblicare il mio argomento SNS da un'istanza Amazon Elastic Compute Cloud (Amazon EC2) multi-account.
Breve descrizione
Se ricevi un errore di autorizzazione quando richiami l'operazione Pubblica, completa i passaggi nella sezione Verify EC2 instance IAM role and SNS topic access policy permissions.
Se riscontri problemi con un argomento SNS che utilizza la crittografia lato server e ricevi un errore "KMSAccessDenied", completa i passaggi nella sezione Verifica le impostazioni della chiave KMS e le autorizzazioni del ruolo IAM EC2.
Nota: Se la tua istanza EC2 non riesce a connettersi a Internet con un gateway Internet, vedi Perché la mia istanza Amazon EC2 non può connettersi a Internet utilizzando un gateway Internet?
Soluzione
Verifica il ruolo IAM dell'istanza EC2 e le autorizzazioni della policy di accesso agli argomenti SNS
Le autorizzazioni dei ruoli di AWS Identity and Access Management (IAM) non configurate correttamente per la tua istanza EC2 e la policy di accesso tematica di Amazon SNS possono causare il seguente errore:
"An error occurred (AuthorizationError) when calling the Publish operation: User: arn:aws:iam::111122223333:role/cross-acc-ec2-sns-publish-role/i-0123456789f804d is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-east-2:123456789012:cross-account-ec2-sns."
Per risolvere questo errore, consulta How do I publish to an Amazon SNS topic from a cross-account Amazon EC2 instance using an IAM EC2 role?
Verifica le impostazioni delle chiavi KMS e le autorizzazioni dei ruoli IAM EC2
Se le autorizzazioni per il ruolo IAM della tua istanza EC2 e la policy della chiave del Servizio di gestione delle chiavi AWS (AWS KMS) della tua chiave AWS KMS (chiave KMS) non sono corrette, puoi ricevere il seguente errore:
An error occurred (KMSAccessDenied) when calling the Publish operation: null (Service: AWSKMS; Status Code: 400; Error Code: AccessDeniedException; Re quest ID: IDNumber; Proxy: null)
Nota: L'errore precedente si verifica solo quando l'argomento SNS utilizza la crittografia lato server.
Per risolvere l'errore, controlla le impostazioni delle chiavi KMS e le autorizzazioni della policy della chiave AWS KMS:
1. Verifica che la tua chiave KMS sia abilitata.
2. Verifica che il ruolo IAM dell'istanza EC2 sia autorizzato a eseguire kms:GenerateDataKey* e kms:Decrypt nella policy della chiave AWS KMS. Questa è la policy della chiave della chiave KMS utilizzata per la crittografia lato server sull'argomento SNS. Ad esempio:
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/cross-acc-ec2-sns-publish-role" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }
3. Conferma che le autorizzazioni kms:GenerateDataKey* e kms:Decrypt siano associate al ruolo IAM della tua istanza EC2.
Nota: È consigliabile fornire i privilegi minimi necessari. Pertanto, assicurati di sostituire il valore Risorsa con il tuo KMS Key ARN nella seguente politica di ruolo IAM:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" } ] }
- Argomenti
- Application Integration
- Lingua
- Italiano
