Überprüfung von Berechtigungen für Application Auto Scaling API Scaling-Aufrufe für Zielressourcen - Application Auto Scaling

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überprüfung von Berechtigungen für Application Auto Scaling API Scaling-Aufrufe für Zielressourcen

Um autorisierte Anfragen für Application Auto Scaling API Scaling-Aktionen zu stellen, muss der API Aufrufer über Berechtigungen für den Zugriff auf AWS Ressourcen im Zieldienst und in CloudWatch verfügen. Application Auto Scaling validiert die Berechtigungen für Anfragen, die sowohl mit dem Zieldienst verknüpft sind, als auch CloudWatch bevor mit der Anfrage fortgefahren wird. Um dies zu erreichen, führen wir eine Reihe von Aufrufen durch, um die IAM Berechtigungen für die Zielressourcen zu validieren. Wenn eine Antwort zurückgegeben wird, wird sie von Application Auto Scaling gelesen. Wenn die IAM Berechtigungen eine bestimmte Aktion nicht zulassen, schlägt Application Auto Scaling die Anfrage fehl und gibt dem Benutzer eine Fehlermeldung mit Informationen über die fehlende Berechtigung zurück. Dadurch wird sichergestellt, dass die Skalierungskonfiguration, die der Benutzer bereitstellen möchte, wie beabsichtigt funktioniert, und dass ein nützlicher Fehler zurückgegeben wird, wenn die Anfrage fehlschlägt.

Als Beispiel dafür, wie dies funktioniert, finden Sie in den folgenden Informationen Informationen darüber, wie Application Auto Scaling Berechtigungsüberprüfungen mit Aurora und durchführt. CloudWatch

Wenn ein Benutzer das RegisterScalableTarget API für einen Aurora-DB-Cluster aufruft, führt Application Auto Scaling alle der folgenden Prüfungen durch, um sicherzustellen, dass der Benutzer über die erforderlichen Berechtigungen verfügt (fett gedruckt).

  • rds:C reateDBInstance: Um festzustellen, ob der Benutzer über diese Berechtigung verfügt, senden wir eine Anfrage an den CreateDBInstance API Vorgang und versuchen, eine DB-Instance mit ungültigen Parametern (leere Instance-ID) im Aurora-DB-Cluster zu erstellen, den der Benutzer angegeben hat. Für einen autorisierten Benutzer gibt der nach der Prüfung der InvalidParameterValue Anfrage eine Fehlercode-Antwort API zurück. Bei einem nicht autorisierten Benutzer erhalten wir jedoch einen AccessDenied-Fehler und die Anforderung für Application Auto Scaling schlägt mit dem ValidationException-Fehler für den Benutzer fehl, in der die fehlenden Berechtigungen aufgeführt sind.

  • rds:D eleteDBInstance: Wir senden eine leere Instanz-ID an den Vorgang. DeleteDBInstance API Für einen autorisierten Benutzer führt diese Anforderung zu einem InvalidParameterValue-Fehler. Für einen nicht autorisierten Benutzer führt sie zu einem Fehler AccessDenied und sendet eine Validierungsausnahme an den Benutzer (gleiche Behandlung wie im ersten Aufzählungspunkt beschrieben).

  • rds:AddTagsToResource: Da der AddTagsToResource API Vorgang einen Amazon-Ressourcennamen (ARN) erfordert, ist es notwendig, eine „Dummy“ -Ressource mit einer ungültigen Konto-ID (12345) und einer Dummy-Instance-ID () anzugeben, um (non-existing-db) zu erstellen. ARN arn:aws:rds:us-east-1:12345:db:non-existing-db Für einen autorisierten Benutzer führt diese Anforderung zu einem InvalidParameterValue-Fehler. Für einen nicht autorisierten Benutzer führt sie zu AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

  • rds:D escribeDBClusters: Wir beschreiben den Clusternamen für die Ressource, die für Auto Scaling registriert wird. Für einen autorisierten Benutzer erhalten wir ein gültiges Beschreibungsergebnis. Für einen nicht autorisierten Benutzer führt sie zu AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

  • rds:D escribeDBInstances: Wir rufen das DescribeDBInstances API mit einem db-cluster-id Filter auf, der nach dem Clusternamen filtert, der vom Benutzer zur Registrierung des skalierbaren Ziels angegeben wurde. Einem autorisierten Benutzer ist es erlaubt, alle DB-Instances im DB-Cluster zu beschreiben. Bei einem nicht autorisierten Benutzer ergibt dieser Aufruf AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

  • cloudwatch:PutMetricAlarm: Wir rufen das ohne Parameter auf PutMetricAlarmAPI. Da der Name des Alarms fehlt, ergibt die Anfrage für einen autorisierten Benutzer den Wert ValidationError. Für einen nicht autorisierten Benutzer führt sie zu AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

  • cloudwatch:DescribeAlarms: Wir rufen den auf, DescribeAlarms API wobei der Wert für die maximale Anzahl von Datensätzen auf 1 gesetzt ist. Für einen autorisierten Benutzer erwarten wir Informationen über einen Alarm in der Antwort. Für einen nicht autorisierten Benutzer ergibt dieser Aufruf AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

  • cloudwatch:DeleteAlarms: Ähnlich wie PutMetricAlarm oben stellen wir keine Parameter zur Anfrage zur Verfügung. DeleteAlarms Da ein Alarmname in der Anfrage fehlt, schlägt dieser Aufruf mit ValidationError für einen autorisierten Benutzer fehl. Für einen nicht autorisierten Benutzer führt sie zu AccessDenied und sendet eine Validierungsausnahme an den Benutzer.

Jedes Mal, wenn eine dieser Überprüfungsausnahmen auftritt, wird sie protokolliert. Mithilfe AWS CloudTrail von. Sie können Schritte unternehmen, um manuell zu ermitteln, bei welchen Anrufen die Überprüfung fehlgeschlagen ist. Weitere Informationen finden Sie im AWS CloudTrail -Benutzerhandbuch.

Anmerkung

Wenn Sie Benachrichtigungen für Application Auto Scaling Scaling-Ereignisse mit erhalten CloudTrail, enthalten diese Benachrichtigungen standardmäßig die Application Auto Scaling Scaling-Aufrufe zur Überprüfung von Benutzerberechtigungen. Um diese Warnungen herauszufiltern, verwenden Sie das invokedBy-Feld, das für diese Validierungsprüfungen application-autoscaling.amazonaws.com enthält.