AWS IoT esempi di politiche basate sull'identità - AWS IoT Core

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

AWS IoT esempi di politiche basate sull'identità

Per impostazione predefinita, IAM gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse. AWS IoT Inoltre, non possono eseguire attività utilizzando AWS Management Console AWS CLI, o AWS API. Un IAM amministratore deve creare IAM politiche che concedano a utenti e ruoli l'autorizzazione a eseguire API operazioni specifiche sulle risorse specifiche di cui ha bisogno. L'amministratore devi quindi collegare queste policy a utenti o gruppi che richiedono tali autorizzazioni.

Per informazioni su come creare una policy IAM basata sull'identità utilizzando questi documenti di esempio, consulta Creating JSON Policies on the JSON Tab nella Guida per l'utente. IAM

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse nel tuo account. AWS IoT 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 console di AWS IoT

Per accedere alla AWS IoT console, è necessario disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle AWS IoT risorse del 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.

Per garantire che tali entità possano ancora utilizzare la AWS IoT console, allega anche la seguente politica AWS gestita alle entità:AWSIoTFullAccess. Per ulteriori informazioni, vedere Aggiungere autorizzazioni a un utente nella Guida per l'IAMutente.

Non è necessario consentire autorizzazioni minime di console per gli 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 stai cercando di eseguire.

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 loro 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": "*" } ] }

Visualizzazione delle risorse AWS IoT sulla base dei tag

Puoi utilizzare le condizioni nella policy basata sulle identità per controllare l'accesso alle risorse di AWS IoT in base ai tag. Questo esempio mostra come creare una policy che consente di visualizzare un oggetto. Tuttavia, l'autorizzazione viene concessa solo se il valore del tag dell'oggetto Owner corrisponde a quello del nome utente. Questa policy concede anche le autorizzazioni necessarie per completare questa azione nella console.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListBillingGroupsInConsole", "Effect": "Allow", "Action": "iot:ListBillingGroups", "Resource": "*" }, { "Sid": "ViewBillingGroupsIfOwner", "Effect": "Allow", "Action": "iot:DescribeBillingGroup", "Resource": "arn:aws:iot:*:*:billinggroup/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

Puoi allegare questa politica agli IAM utenti del tuo account. Se un utente denominato richard-roe tenta di visualizzare un gruppo di AWS IoT fatturazione, il gruppo di fatturazione deve essere taggato Owner=richard-roe o. owner=richard-roe In caso contrario, gli viene negato l'accesso. La chiave di tag di condizione Owner corrisponde a Owner e owner perché i nomi delle chiavi di condizione non effettuano la distinzione tra maiuscole e minuscole. Per ulteriori informazioni, consulta Elementi IAM JSON della politica: Condizione nella Guida per l'IAMutente.

Visualizzazione delle risorse di AWS IoT Device Advisor in base ai tag

Puoi utilizzare le condizioni nella policy basata sulle identità per controllare l'accesso alle risorse di AWS IoT Device Advisor in base ai tag. Nell'esempio seguente viene illustrato come creare una policy che consente di visualizzare una determinata definizione di suite. Tuttavia, l'autorizzazione viene concessa solo se il tag di definizione della suite SuiteType è impostato sul valore di MQTT. Questa policy concede anche le autorizzazioni necessarie per completare questa azione nella console.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewSuiteDefinition", "Effect": "Allow", "Action": "iotdeviceadvisor:GetSuiteDefinition", "Resource": "arn:aws:iotdeviceadvisor:*:*:suitedefinition/*", "Condition": { "StringEquals": {"aws:ResourceTag/SuiteType": "MQTT"} } } ] }