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 der Berechtigungen für API-Aufrufe von Application Auto Scaling für Zielressourcen
Um autorisierte Anfragen für API-Aktionen von Application Auto Scaling 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. Dazu führen wir eine Reihe von Aufrufen durch, um die IAM-Berechtigungen der Zielressourcen zu überprüfen. 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 Berechtigungsvalidierungen mit Aurora und durchführt. CloudWatch
Wenn ein Benutzer die RegisterScalableTarget-API für einen Aurora-DB-Cluster aufruft, führt Application Auto Scaling alle folgenden Prüfungen durch, um zu überprüfen, ob der Benutzer über die erforderlichen Berechtigungen verfügt (fett gedruckt).
-
rds:Create DBInstance: Um festzustellen, ob der Benutzer über diese Berechtigung verfügt, senden wir eine Anfrage an den
CreateDBInstanceAPI-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 die API nach der Prüfung der Anfrage eine Antwort mit dem FehlercodeInvalidParameterValuezurück. Bei einem nicht autorisierten Benutzer erhalten wir jedoch einenAccessDenied-Fehler und die Anforderung für Application Auto Scaling schlägt mit demValidationException-Fehler für den Benutzer fehl, in der die fehlenden Berechtigungen aufgeführt sind. -
rds:Delete DBInstance: Wir senden eine leere Instance-ID an den API-Vorgang.
DeleteDBInstanceFür einen autorisierten Benutzer führt diese Anforderung zu einemInvalidParameterValue-Fehler. Für einen nicht autorisierten Benutzer führt sie zu einem FehlerAccessDeniedund sendet eine Validierungsausnahme an den Benutzer (gleiche Behandlung wie im ersten Aufzählungspunkt beschrieben). -
rds:AddTagsToResource: Da der
AddTagsToResourceAPI-Vorgang einen Amazon-Ressourcennamen (ARN) erfordert, ist es notwendig, eine „Dummy“ -Ressource anzugeben, die eine ungültige Konto-ID (12345) und eine Dummy-Instance-ID () verwendet, um den ARN (non-existing-db) zu erstellen.arn:aws:rds:us-east-1:12345:db:non-existing-dbFür einen autorisierten Benutzer führt diese Anforderung zu einemInvalidParameterValue-Fehler. Für einen nicht autorisierten Benutzer führt sie zuAccessDeniedund sendet eine Validierungsausnahme an den Benutzer. -
rds:Describe DBClusters: 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
AccessDeniedund sendet eine Validierungsausnahme an den Benutzer. -
rds:Describe DBInstances: Wir rufen die
DescribeDBInstancesAPI mit einemdb-cluster-idFilter 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 AufrufAccessDeniedund sendet eine Validierungsausnahme an den Benutzer. -
cloudwatch:PutMetricAlarm: Wir rufen die
PutMetricAlarmAPI ohne Parameter auf. Da der Name des Alarms fehlt, ergibt die Anfrage für einen autorisierten Benutzer den WertValidationError. Für einen nicht autorisierten Benutzer führt sie zuAccessDeniedund sendet eine Validierungsausnahme an den Benutzer. -
cloudwatch:DescribeAlarms: Wir rufen die
DescribeAlarmsAPI auf, 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 AufrufAccessDeniedund sendet eine Validierungsausnahme an den Benutzer. -
cloudwatch:DeleteAlarms: Ähnlich wie
PutMetricAlarmoben stellen wir keine Parameter zur Anfrage bereitDeleteAlarms. Da ein Alarmname in der Anfrage fehlt, schlägt dieser Aufruf mitValidationErrorfür einen autorisierten Benutzer fehl. Für einen nicht autorisierten Benutzer führt sie zuAccessDeniedund 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.