Esempi di policy basate su identità per piani di dimensionamento - AWS Auto Scaling

Esempi di policy basate su identità per piani di dimensionamento

Per impostazione predefinita, un nuovo utente IAM non ha le autorizzazioni per svolgere alcuna operazione. Un amministratore IAM deve creare e assegnare policy IAM che diano un’autorizzazione di identità IAM (ad esempio un utente o un ruolo) per lavorare con i piani di dimensionamento.

Per informazioni su come creare una policy IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy nella scheda JSON nella Guida per l'utente di IAM.

Best practice per le policy

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse AWS Auto Scaling nel tuo account. Queste operazioni possono comportare costi aggiuntivi per il proprio Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e suggerimenti:

  • Nozioni di base sulle policy gestite da AWS e passaggio alle autorizzazioni con privilegio minimo: per le informazioni di base su come concedere autorizzazioni a utenti e carichi di lavoro, utilizza le policy gestite da AWS che concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo Account AWS. Ti consigliamo pertanto di ridurre ulteriormente le autorizzazioni definendo policy gestite dal cliente di AWS specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWS o Policy gestite da AWS per le funzioni di processo nella Guida per l'utente di IAM.

  • Applica le autorizzazioni con privilegio minimo: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste 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 di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente di IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi inoltre utilizzare le condizioni per concedere l'accesso alle operazioni di servizio, ma solo se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer fornisce oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente di IAM.

  • Richiesta dell'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o utenti root nel tuo Account AWS, attiva MFA per una maggiore sicurezza. Per richiedere l'AMF quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente di IAM.

Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.

Consentire agli utenti di creare piani di dimensionamento

Di seguito viene illustrato un esempio di policy basata sull’identità che concede le autorizzazioni per creare piani di dimensionamento.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling-plans:*", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudformation:ListStackResources" ], "Resource": "*" } ] }

Per utilizzare un piano di dimensionamento, l'utente finale deve disporre di autorizzazioni aggiuntive che gli consentano di lavorare con risorse specifiche nel proprio account. Queste autorizzazioni sono elencate in Autorizzazioni aggiuntive richieste.

Ogni utente della console ha inoltre bisogno di autorizzazioni che gli consentano di individuare le risorse scalabili nell'account e di visualizzare grafici dei dati dei parametri CloudWatch dalla console AWS Auto Scaling. Di seguito è illustrato il set delle autorizzazioni aggiuntive necessarie per usare la console AWS Auto Scaling:

  • cloudformation:ListStacks: per elencare stack.

  • tag:GetTagKeys: per trovare risorse scalabili che contengono determinate chiavi tag.

  • tag:GetTagValues: per trovare le risorse che contengono determinati valori di tag.

  • autoscaling:DescribeTags: per trovare gruppi Auto Scaling che contengono determinati tag.

  • cloudwatch:GetMetricData: per visualizzare i dati nei grafici dei parametri.

Consentire agli utenti di abilitare il dimensionamento predittivo

Di seguito viene illustrato un esempio di policy basata sull’identità che concede le autorizzazioni per abilitare il dimensionamento predittivo. Queste autorizzazioni estendono le funzionalità dei piani di dimensionamento impostati per il dimensionamento dei gruppi Auto Scaling.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeScheduledActions", "autoscaling:BatchPutScheduledUpdateGroupAction", "autoscaling:BatchDeleteScheduledAction" ], "Resource": "*" } ] }

Autorizzazioni aggiuntive richieste

Per configurare correttamente i piani di dimensionamento, agli utenti finali devono essere concesse le autorizzazioni per ogni servizio di destinazione per il quale configureranno il dimensionamento. Per concedere le autorizzazioni minime necessarie per lavorare con i servizi di destinazione, leggi le informazioni in questa sezione e specifica le azioni pertinenti nell'elemento Action di una dichiarazione di policy IAM.

Gruppi Auto Scaling

Per aggiungere gruppi Auto Scaling a un piano di dimensionamento, gli utenti devono disporre delle seguenti autorizzazioni da Amazon EC2 Auto Scaling:

  • autoscaling:UpdateAutoScalingGroup

  • autoscaling:DescribeAutoScalingGroups

  • autoscaling:PutScalingPolicy

  • autoscaling:DescribePolicies

  • autoscaling:DeletePolicy

Servizi ECS

Per aggiungere servizi ECS a un piano di dimensionamento, gli utenti devono disporre delle seguenti autorizzazioni da Amazon ECS e Application Auto Scaling:

  • ecs:DescribeServices

  • ecs:UpdateService

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Parco istanze spot

Per aggiungere serie di istanze Spot a un piano di dimensionamento, gli utenti devono disporre delle seguenti autorizzazioni da Amazon EC2 e Application Auto Scaling:

  • ec2:DescribeSpotFleetRequests

  • ec2:ModifySpotFleetRequest

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Tabelle o indici globali DynamoDB

Per aggiungere tabelle o indici globali DynamoDB a un piano di dimensionamento, gli utenti devono disporre delle seguenti autorizzazioni da DynamoDB e Application Auto Scaling:

  • dynamodb:DescribeTable

  • dynamodb:UpdateTable

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Cluster di database Aurora

Per aggiungere cluster Aurora DB a un piano di dimensionamento, gli utenti devono disporre delle seguenti autorizzazioni da Amazon Aurora e Application Auto Scaling:

  • rds:AddTagsToResource

  • rds:CreateDBInstance

  • rds:DeleteDBInstance

  • rds:DescribeDBClusters

  • rds:DescribeDBInstances

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Autorizzazioni necessarie per creare un ruolo collegato al servizio

AWS Auto Scaling richiede le autorizzazioni per creare un ruolo collegato al servizio la prima volta che un utente nell'Account AWS crea un piano di dimensionamento con dimensionamento predittivo abilitato. Se il ruolo collegato al servizio non esiste già, AWS Auto Scaling lo crea nel tuo account. Il ruolo collegato al servizio concede le autorizzazioni ad AWS Auto Scaling, in modo che possa eseguire chiamate ad altri servizi per tuo conto.

Affinché la creazione automatica di un ruolo riesca, gli utenti devono disporre delle autorizzazioni per l'operazione iam:CreateServiceLinkedRole.

"Action": "iam:CreateServiceLinkedRole"

Di seguito viene illustrato un esempio di policy basata sull’identità che concede le autorizzazioni per creare un ruolo collegato al servizio.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling-plans.amazonaws.com/AWSServiceRoleForAutoScalingPlans_EC2AutoScaling", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling-plans.amazonaws.com" } } } ] }

Per ulteriori informazioni, consulta Ruolo collegato al servizio di dimensionamento predittivo.