Esempi di policy basate sull'identità per Amazon SQS - Amazon Simple Queue Service

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à.

Esempi di policy basate sull'identità per Amazon SQS

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare SQS risorse Amazon. Inoltre, non possono eseguire attività utilizzando AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS API. Per concedere agli utenti il permesso di eseguire azioni sulle risorse di cui hanno bisogno, un IAM amministratore può creare IAM policy. L'amministratore può quindi aggiungere le IAM politiche ai ruoli e gli utenti possono assumerli.

Per informazioni su come creare una politica IAM basata sull'identità utilizzando questi documenti di esempioJSON, consulta Creazione di IAM politiche nella Guida per l'IAMutente.

Per dettagli sulle azioni e sui tipi di risorse definiti da AmazonSQS, incluso il formato di ARNs per ogni tipo di risorsa, consulta Actions, Resources and Condition Keys for Amazon Simple Queue Service nel Service Authorization Reference.

Nota

Quando configuri i lifecycle hook per Amazon EC2 Auto Scaling, non è necessario scrivere una policy per inviare messaggi a una coda Amazon. SQS Per ulteriori informazioni, consulta Amazon EC2 Auto Scaling Lifecycle Hooks nella Amazon User Guide. EC2

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare SQS risorse Amazon nel tuo account. Queste azioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta le politiche AWS gestite o le politiche AWS gestite per le funzioni lavorative nella Guida per l'IAMutente.

  • Applica le autorizzazioni con privilegi minimi: quando imposti le autorizzazioni con le IAM politiche, concedi solo le autorizzazioni necessarie per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo per applicare le autorizzazioni, consulta Politiche e autorizzazioni nella Guida IAM per l'utente. IAM IAM

  • Utilizza le condizioni nelle IAM politiche per limitare ulteriormente l'accesso: puoi aggiungere una condizione alle tue politiche per limitare l'accesso ad azioni e risorse. Ad esempio, puoi scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzandoSSL. È inoltre possibile utilizzare condizioni per concedere l'accesso alle azioni di servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta Elementi IAM JSON della politica: Condizione nella Guida IAM per l'utente.

  • Usa IAM Access Analyzer per convalidare IAM le tue policy e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio delle IAM policy () e alle best practice. JSON IAM IAMAccess Analyzer fornisce più di 100 controlli delle politiche e consigli pratici per aiutarti a creare policy sicure e funzionali. Per ulteriori informazioni, vedere Convalida delle policy di IAM Access Analyzer nella Guida per l'utente. IAM

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede l'utilizzo di IAM utenti o di un utente root Account AWS, attiva questa opzione MFA per una maggiore sicurezza. Per richiedere MFA quando vengono richiamate API le operazioni, aggiungi MFA delle condizioni alle tue politiche. Per ulteriori informazioni, consulta Configurazione dell'APIaccesso MFA protetto nella Guida per l'IAMutente.

Per ulteriori informazioni sulle procedure consigliate inIAM, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida per l'IAMutente.

Utilizzo della SQS console Amazon

Per accedere alla console Amazon Simple Queue Service, è necessario disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle SQS risorse Amazon presenti nel tuo Account AWS. Se crei una policy basata sull'identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.

Non è necessario concedere autorizzazioni minime per la console agli utenti che effettuano chiamate solo verso il AWS CLI o il. AWS API Consenti invece l'accesso solo alle azioni che corrispondono all'APIoperazione che stanno cercando di eseguire.

Per garantire che utenti e ruoli possano continuare a utilizzare la SQS console Amazon, allega anche la policy SQS AmazonSQSReadOnlyAccess AWS gestita da Amazon alle entità. Per ulteriori informazioni, consulta Aggiungere autorizzazioni a un utente nella Guida per l'IAMutente.

Consentire agli utenti di visualizzare le loro autorizzazioni

Questo esempio mostra come è possibile creare una politica che consenta IAM agli utenti di visualizzare le politiche in linea e gestite allegate alla propria identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando o a livello di codice. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Consenti a un utente di creare code

Nell'esempio seguente, creiamo una policy per Bob che gli consente di accedere a tutte le SQS azioni Amazon, ma solo con code i cui nomi sono preceduti dalla stringa letterale. alice_queue_

Amazon SQS non concede automaticamente al creatore di una coda le autorizzazioni per utilizzare la coda. Pertanto, dobbiamo concedere esplicitamente a Bob le autorizzazioni per utilizzare SQS tutte le azioni di Amazon oltre alle CreateQueue azioni contenute nella IAM policy.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sqs:*", "Resource": "arn:aws:sqs:*:123456789012:alice_queue_*" }] }

Consenti agli sviluppatori di scrivere messaggi in una coda condivisa

Nell'esempio seguente, creiamo un gruppo per sviluppatori e alleghiamo una policy che consente al gruppo di utilizzare l'SQSSendMessageazione Amazon, ma solo con la coda che appartiene a quella specificata Account AWS e ha un nomeMyCompanyQueue.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:*:123456789012:MyCompanyQueue" }] }

È possibile utilizzare * invece di SendMessage per concedere le seguenti operazioni a un principale su una coda condivisa: ChangeMessageVisibility, DeleteMessage, GetQueueAttributes, GetQueueUrl, ReceiveMessage e SendMessage.

Nota

Sebbene * includa l'accesso fornito da altri tipi di autorizzazione, Amazon SQS considera le autorizzazioni separatamente. Ad esempio, è possibile concedere le autorizzazioni * e SendMessage a un utente, anche se un * include l'accesso fornito da SendMessage.

Questo concetto si applica anche quando rimuovi un'autorizzazione. Se un principale dispone solo di un'autorizzazione *, la richiesta di rimuovere un'autorizzazione SendMessage, non lascia al principale un'autorizzazione di tipo tutto tranne. Al contrario, la richiesta non ha effetto, perché il principale non dispone di un'autorizzazione SendMessage esplicita. Per lasciare al principale solo l'autorizzazione ReceiveMessage, aggiungi prima l'autorizzazione ReceiveMessage, quindi rimuovi l'autorizzazione *.

Consenti ai manager di ottenere le dimensioni generali delle code

Nell'esempio seguente, creiamo un gruppo per manager e alleghiamo una politica che consente al gruppo di utilizzare l'SQSGetQueueAttributesazione Amazon con tutte le code che appartengono all' AWS account specificato.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sqs:GetQueueAttributes", "Resource": "*" }] }

Consenti a un partner di inviare messaggi a una coda specifica

Puoi eseguire questa operazione utilizzando una SQS politica o una IAM politica Amazon. Se il tuo partner dispone di una polizza Amazon Account AWS, potrebbe essere più semplice utilizzare una SQS politica Amazon. Tuttavia, qualsiasi utente dell'azienda del partner che possiede le credenziali AWS di sicurezza può inviare messaggi alla coda. Se desideri limitare l'accesso a un particolare utente o applicazione, devi trattare il partner come un utente della tua azienda e utilizzare una IAM politica anziché una SQS politica Amazon.

In questo esempio vengono effettuate le seguenti operazioni:

  1. Crea un gruppo chiamato WidgetCo a rappresentare l'azienda partner.

  2. Creazione di un utente per l'utente o l'applicazione specifica presso l'azienda del partner che ha bisogno di accedere.

  3. Aggiungere l'utente al gruppo .

  4. Collegamento di una policy che concedere al gruppo l'accesso solo all'azione SendMessage solo per la coda denominata WidgetPartnerQueue.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:*:123456789012:WidgetPartnerQueue" }] }