Convalida delle autorizzazioni per le chiamate API Application Auto Scaling sulle risorse di destinazione - Application Auto Scaling

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

Convalida delle autorizzazioni per le chiamate API Application Auto Scaling sulle risorse di destinazione

Per effettuare richieste autorizzate alle azioni dell'API Application Auto Scaling è necessario che il chiamante dell'API disponga delle autorizzazioni per accedere alle AWS risorse nel servizio di destinazione e in. CloudWatch Application Auto Scaling convalida le autorizzazioni per le richieste associate sia al servizio di destinazione che CloudWatch prima di procedere con la richiesta. A tale scopo, viene eseguita una serie di chiamate per convalidare le autorizzazioni IAM sulle risorse obiettivo. Quando viene restituita una risposta, essa viene letta da Application Auto Scaling. Se le autorizzazioni IAM non consentono una determinata operazione, Application Auto Scaling invalida la richiesta e restituisce un errore all'utente contenente informazioni sull'autorizzazione mancante. Ciò garantisce che la configurazione di dimensionamento che l'utente desidera implementare funzioni come previsto e che venga restituito un errore utile se la richiesta non riesce.

Come esempio di come funziona, le seguenti informazioni forniscono dettagli su come Application Auto Scaling esegue le convalide delle autorizzazioni con Aurora e. CloudWatch

Quando un utente chiama l'API RegisterScalableTarget su un cluster database Aurora, Application Auto Scaling esegue tutti i seguenti controlli per verificare che l'utente IAM disponga delle autorizzazioni richieste (in grassetto).

  • rds:CreateDBInstance: per determinare se l'utente dispone di questa autorizzazione, inviamo una richiesta all'operazione API CreateDBInstance, tentando di creare un'istanza database con parametri non validi (ID istanza vuoto) nel cluster database di Aurora specificato dall'utente. Per un utente autorizzato, l'API restituisce una risposta con codice di errore InvalidParameterValue dopo avere verificato la richiesta. Tuttavia, per un utente non autorizzato, si ottiene un errore AccessDenied e la richiesta di Application Auto Scaling non riesce e invia un errore ValidationException all'utente che elenca le autorizzazioni mancanti.

  • rds:DeleteDBInstance: inviamo un ID istanza vuoto all'operazione API DeleteDBInstance. Per un utente autorizzato, questa richiesta genera un errore InvalidParameterValue. Per un utente non autorizzato, si traduce in AccessDenied e invia un'eccezione di convalida all'utente (stesso trattamento descritto nel primo punto dell'elenco).

  • rds: AddTagsToResource: Poiché l'operazione AddTagsToResource API richiede un Amazon Resource Name (ARN), è necessario specificare una risorsa «fittizia» utilizzando un ID account (12345) e un ID di istanza fittizio (non-existing-db) non validi per costruire l'ARN (). arn:aws:rds:us-east-1:12345:db:non-existing-db Per un utente autorizzato, questa richiesta genera un errore InvalidParameterValue. Per un utente non autorizzato, si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

  • rds:DescribeDBCluster - Viene descritto il nome del cluster per la risorsa registrata per la scalabilità automatica. Per un utente autorizzato, otteniamo un risultato di descrizione valido. Per un utente non autorizzato, si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

  • rds:DescribeDBInstance. Chiamiamo l'API DescribeDBInstance con un filtro db-cluster-id che filtra il nome del cluster fornito dall'utente per registrare l'obiettivo scalabile. Per un utente autorizzato, siamo autorizzati a descrivere tutte le istanze database nel cluster di database. Per un utente non autorizzato, questa chiamata si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

  • cloudwatch: Alarm: chiamiamo l'API senza alcun parametro. PutMetric PutMetricAlarm Poiché il nome dell'allarme è assente, la richiesta risulta in un ValidationError per un utente autorizzato. Per un utente non autorizzato, si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

  • cloudwatch:DescribeAlarms: Chiamiamo l'DescribeAlarmsAPI con il valore del numero massimo di record impostato su 1. Per un utente autorizzato, ci aspettiamo informazioni su un allarme nella risposta. Per un utente non autorizzato, questa chiamata si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

  • cloudwatch:DeleteAlarms: Analogamente a PutMetricAlarm quanto sopra, non forniamo parametri da richiedere. DeleteAlarms Poiché nella richiesta non è presente il nome dell'allarme, questa chiamata non riesce con ValidationError per un utente autorizzato. Per un utente non autorizzato, si traduce in AccessDenied e invia un'eccezione di convalida all'utente.

Ogni volta che si verifica una di queste eccezioni di convalida, essa viene registrata. Puoi adottare misure per identificare manualmente quali chiamate non sono riuscite a convalidare utilizzando. AWS CloudTrail Per ulteriori informazioni, consulta la Guida per l'utente AWS CloudTrail.

Nota

Se ricevi avvisi per l' CloudTrailutilizzo di eventi Application Auto Scaling, questi avvisi includeranno le chiamate Application Auto Scaling per convalidare le autorizzazioni degli utenti per impostazione predefinita. Per filtrare questi avvisi, utilizza il campo invokedBy, che conterrà application-autoscaling.amazonaws.com per questi controlli di convalida.