Überwachen von AWS Identity and Access Management Access Analyzer mit Amazon EventBridge - AWS Identitäts- und Zugriffsverwaltung

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.

Überwachen von AWS Identity and Access Management Access Analyzer mit Amazon EventBridge

Verwenden Sie die Informationen in diesem Thema, um zu erfahren, wie Sie Ergebnisse von IAM Access Analyzer überwachen und mit Amazon EventBridge auf Vorschauen zugreifen. EventBridge ist die neue Version von Amazon CloudWatch Events.

Ergebnis-Ereignisse

IAM Access Analyzer sendet ein Ereignis an EventBridge für jedes generierte Ergebnis, für eine Statusänderung eines vorhandenen Ergebnisses und wenn ein Ergebnis gelöscht wird. Um Funde und Benachrichtigungen über Funde zu erhalten, müssen Sie eine Ereignisregel in Amazon EventBridge erstellen. Bei Erstellung einer Ereignisregel können Sie auch eine Zielaktion angeben, die basierend auf der Regel ausgelöst werden soll. Sie könnten beispielsweise eine Ereignisregel erstellen, die ein Amazon-SNS-Thema auslöst, wenn ein Ereignis für ein neues Ergebnis von IAM Access Analyzer empfangen wird. Einzelheiten zur Ressourcenkontrollrichtlinie (RCP) finden Sie im Abschnitt mit den Ereignisdetails.

Zugriff auf Ereignisse in der Vorschau

IAM Access Analyzer sendet für jede Zugriffsvorschau und Statusänderung ein Ereignis an EventBridge. Dazu gehört ein Ereignis, wenn die Zugriffsvorschau zum ersten Mal erstellt wird (Status Erstellen), wenn die Zugriffsvorschau abgeschlossen ist (Status Abgeschlossen), oder wenn die Erstellung der Zugriffsvorschau fehlgeschlagen ist (Status Fehlgeschlagen). Um Benachrichtigungen zu Access Previews zu erhalten, müssen Sie in EventBridge eine Ereignisregel erstellen. Bei Erstellung einer Ereignisregel können Sie auch eine Zielaktion angeben, die basierend auf der Regel ausgelöst werden soll. Sie könnten beispielsweise eine Ereignisregel erstellen, die ein Amazon-SNS-Thema auslöst, wenn ein Ereignis für eine abgeschlossene Zugriffsvorschau von IAM Access Analyzer empfangen wird.

Häufigkeit der Ereignisbenachrichtigung

IAM Access Analyzer sendet Ereignisse für neue Ergebnisse und Ergebnisse mit Statusaktualisierungen innerhalb von etwa einer Stunde nach Auftreten des Ereignisses in Ihrem Konto an EventBridge. IAM Access Analyzer sendet auch Ereignisse an EventBridge, wenn ein behobenes Ergebnis gelöscht wird, weil die Aufbewahrungsfrist abgelaufen ist. Bei Funden, die gelöscht werden, weil das Analysegerät, das sie erzeugt hat, gelöscht wurde, wird das Ereignis etwa 24 Stunden nach dem Löschen des Analysegeräts an EventBridge gesendet. Bei Löschung eines Ergebnisses wird der Status des Ergebnisses nicht geändert. Stattdessen wird das isDeleted-Attribut auf „true“ festgelegt. IAM Access Analyzer sendet auch Ereignisse für neu erstellte Zugriffsvorschauen und Statusänderungen der Zugriffsvorschau an EventBridge.

Beispiele für Ereignisse mit Ergebnissen für externen Zugriff

Es folgt ein Beispiel für ein Ereignis mit einem Ergebnis für externen Zugriff von IAM Access Analyzer, das an EventBridge gesendet wird. Die aufgeführte id ist die ID für das Ereignis in EventBridge. Weitere Informationen finden Sie unter Ereignisse und Ereignismuster in EventBridge.

Im detail-Objekt beziehen sich die Werte für die Attribute „accountId“ und „region“ auf das Konto und die Region, das bzw. die bei der Suche gemeldet wurden. Das isDeleted-Attribut gibt an, ob das Ereignis aus dem zu löschenden Ergebnis stammt. Die id ist die Such-ID. Das resources-Array ist ein Singleton mit dem ARN des Analyzers, der das Ergebnis erzeugt hat.

{ "account": "111122223333", "detail": { "accountId": "111122223333", "action": [ "s3:GetObject" ], "analyzedAt": "2019-11-21T01:22:22Z", "condition": {}, "createdAt": "2019-11-20T04:58:50Z", "id": "22222222-dcba-4444-dcba-333333333333", "isDeleted": false, "isPublic": false, "principal": { "AWS": "999988887777" }, "region": "us-west-2", "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceType": "AWS::S3::Bucket", "status": "ACTIVE", "updatedAt": "2019-11-21T01:14:07Z", "version": "1.0" }, "detail-type": "Access Analyzer Finding", "id": "11111111-2222-4444-aaaa-333333333333", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/MyAnalyzer" ], "source": "aws.access-analyzer", "time": "2019-11-21T01:22:33Z", "version": "0" }

IAM Access Analyzer sendet auch Ereignisse an EventBridge, um Fehlerergebnisse zu erhalten. Ein Fehlerergebnis ist ein Ergebnis, das erzeugt wird, wenn IAM Access Analyzer die Ressource nicht analysieren kann. Ereignisse für Fehlerergebnisse umfassen ein error-Attribut, wie im folgenden Beispiel dargestellt.

{ "account": "111122223333", "detail": { "accountId": "111122223333", "analyzedAt": "2019-11-21T01:22:22Z", "createdAt": "2019-11-20T04:58:50Z", "error": "ACCESS_DENIED", "id": "22222222-dcba-4444-dcba-333333333333", "isDeleted": false, "region": "us-west-2", "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceType": "AWS::S3::Bucket", "status": "ACTIVE", "updatedAt": "2019-11-21T01:14:07Z", "version": "1.0" }, "detail-type": "Access Analyzer Finding", "id": "11111111-2222-4444-aaaa-333333333333", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/MyAnalyzer" ], "source": "aws.access-analyzer", "time": "2019-11-21T01:22:33Z", "version": "0" }

Beispiele für Ereignisse mit Erkenntnissen für internen Zugriff

Es folgt ein Beispiel für ein Ereignis mit einer Erkenntnis für internen Zugriff von IAM Access Analyzer, das an EventBridge gesendet wird. Die aufgeführte id ist die ID für das Ereignis in EventBridge. Weitere Informationen finden Sie unter Ereignisse und Ereignismuster in EventBridge.

Im detail-Objekt beziehen sich die Werte für die Attribute accountId und principalOwnerAccount auf das Konto des Prinzipals, der in der Erkenntnis gemeldet wurde. Das isDeleted-Attribut gibt an, ob das Ereignis aus dem zu löschenden Ergebnis stammt. Die id ist die Such-ID. resource ist der ARN des Analyzers, der die Erkenntnis generiert hat.

{ "version": "0", "id": "b45c3678-c278-b593-6121-c155259ce1b5", "detail-type": "Internal Access Finding", "source": "aws.access-analyzer", "account": "111122223333", "time": "2025-04-08T19:42:49Z", "region": "us-east-1", "resources": [ "arn:aws:access-analyzer:us-east-1:111122223333:analyzer/testAnalyzer" ], "detail": { "accessType": "INTRA_ACCOUNT", "action": [ "s3:GetObject" ], "analyzedAt": "2025-04-08T03:18:43.509465073Z", "condition": {}, "createdAt": "2025-04-07T21:33:49.914099224Z", "id": "11111111-2222-4444-aaaa-333333333333", "isDeleted": false, "findingType": "InternalAccess", "principal": { "AWS": "arn:aws:iam::111122223333:role/MyRole_6" }, "principalOwnerAccount": "111122223333", "principalType": "IAM_ROLE", "resource": "arn:aws:s3:::critical-data", "resourceControlPolicyRestrictionType": "NOT_APPLICABLE", "accountId": "111122223333", "resourceType": "AWS::S3::Bucket", "serviceControlPolicyRestrictionType": "NOT_APPLICABLE", "status": "ACTIVE", "updatedAt": "2025-04-08T03:22:12.654688231Z", "version": "1.0" } }

IAM Access Analyzer sendet auch Ereignisse an EventBridge, um Fehlerergebnisse zu erhalten. Ein Fehlerergebnis ist ein Ergebnis, das erzeugt wird, wenn IAM Access Analyzer die Ressource nicht analysieren kann. Ereignisse für Fehlerergebnisse umfassen ein error-Attribut, wie im folgenden Beispiel dargestellt.

{ "version": "0", "id": "5a94b99b-e87d-a6a7-58c7-f47871532860", "detail-type": "Internal Access Finding", "source": "aws.access-analyzer-test", "account": "444455556666", "time": "2025-05-07T11:57:54Z", "region": "us-west-2", "resources": ["arn:aws:access-analyzer-beta:us-west-2:444455556666:analyzer/example-analyzer"], "detail": { "analyzedAt": "2025-03-24T19:58:52.512329448Z", "createdAt": "2025-03-22T03:30:46.920200692Z", "id": "ef573afd-12a5-4095-87a6-bf2f25109895", "isDeleted": false, "findingType": "InternalAccess", "resource": "arn:aws:s3:::test-entity-88", "accountId": "111122223333", "resourceControlPolicyRestrictionType": "NOT_APPLICABLE", "resourceType": "AWS::S3::Bucket", "serviceControlPolicyRestrictionType": "NOT_APPLICABLE", "error": "ACCESS_DENIED", // can be INTERNAL_ERROR and ACCESS_DENIED "status": "ACTIVE", "updatedAt": "2025-03-24T20:09:39.176075014Z", "version": "1.0" } }

Es folgt ein Beispiel für ein Ereignis mit einem Ergebnis für ungenutzten Zugriff von IAM Access Analyzer, das an EventBridge gesendet wird. Die aufgeführte id ist die ID für das Ereignis in EventBridge. Weitere Informationen finden Sie unter Ereignisse und Ereignismuster in EventBridge.

Im detail-Objekt beziehen sich die Werte für die Attribute „accountId“ und „region“ auf das Konto und die Region, das bzw. die bei der Suche gemeldet wurden. Das isDeleted-Attribut gibt an, ob das Ereignis aus dem zu löschenden Ergebnis stammt. Die id ist die Such-ID.

{ "version": "0", "id": "dc7ce3ee-114b-3243-e249-7f10f9054b21", "detail-type": "Unused Access Finding for IAM entities", "source": "aws.access-analyzer", "account": "123456789012", "time": "2023-09-29T17:31:40Z", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:123456789012:analyzer/integTestLongLivingAnalyzer-DO-NOT-DELETE" ], "detail": { "findingId": "b8ae0460-5d29-4922-b92a-ba956c986277", "resource": "arn:aws:iam::111122223333:role/FindingIntegTestFakeRole", "resourceType": "AWS::IAM::Role", "accountId": "111122223333", "createdAt": "2023-09-29T17:29:18.758Z", "updatedAt": "2023-09-29T17:29:18.758Z", "analyzedAt": "2023-09-29T17:29:18.758Z", "previousStatus": "", "status": "ACTIVE", "version": "62160bda-8e94-46d6-ac97-9670930d8ffb", "isDeleted": false, "findingType": "UnusedPermission", "numberOfUnusedServices": 0, "numberOfUnusedActions": 1 } }

IAM Access Analyzer sendet auch Ereignisse an EventBridge, um Fehlerergebnisse zu erhalten. Ein Fehlerergebnis ist ein Ergebnis, das erzeugt wird, wenn IAM Access Analyzer die Ressource nicht analysieren kann. Ereignisse für Fehlerergebnisse umfassen ein error-Attribut, wie im folgenden Beispiel dargestellt.

{ "version": "0", "id": "c2e7aa1a-4df7-7652-f33e-64113b8997d4", "detail-type": "Unused Access Finding for IAM entities", "source": "aws.access-analyzer", "account": "111122223333", "time": "2023-10-31T20:26:12Z", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ba811f91-de99-41a4-97c0-7481898b53f2" ], "detail": { "findingId": "b01a34f2-e118-46c9-aef8-0d8526b495c7", "resource": "arn:aws:iam::123456789012:role/TestRole", "resourceType": "AWS::IAM::Role", "accountId": "444455556666", "createdAt": "2023-10-31T20:26:08.647Z", "updatedAt": "2023-10-31T20:26:09.245Z", "analyzedAt": "2023-10-31T20:26:08.525Z", "previousStatus": "", "status": "ACTIVE", "version": "7c7a72a2-7963-4c59-ac71-f0be597010f7", "isDeleted": false, "findingType": "UnusedIAMRole", "error": "INTERNAL_ERROR" } }

Beispiel für Vorschau-Ereignisse

Das folgende Beispiel zeigt Daten für das erste Ereignis, das an EventBridge gesendet wird, wenn Sie eine Zugangsvorschau erstellen. Das resources-Array ist ein Singleton mit der ARN des Analysators, mit dem die Zugriffsvorschau verknüpft ist. Im detail-Objekt bezieht sich id auf die ID der Zugriffsvorschau und configuredResources verweist auf die Ressource, für die die Zugriffsvorschau erstellt wurde. Die status ist Creating und bezieht sich auf den Status der Zugriffsvorschau. Die previousStatus ist nicht angegeben, da die Zugriffsvorschau gerade erstellt wurde.

{ "account": "111122223333", "detail": { "accessPreviewId": "aaaabbbb-cccc-dddd-eeee-ffffaaaabbbb", "configuredResources": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "createdAt": "2020-02-20T00:00:00.00Z", "region": "us-west-2", "status": "CREATING", "version": "1.0" }, "detail-type": "Access Preview State Change", "id": "aaaabbbb-2222-3333-4444-555566667777", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/MyAnalyzer" ], "source": "aws.access-analyzer", "time": "2020-02-20T00:00:00.00Z", "version": "0" }

Das folgende Beispiel zeigt Daten für ein Ereignis, das an EventBridge gesendet wird, um eine Vorschau mit einer Statusänderung von Creating auf Completed ändern. Im Detailobjekt bezieht sich dieid auf die Zugriffs-Vorschau-ID. Die status und previousStatus beziehen sich auf den Status der Zugriffsvorschau, wobei der vorherige Status Creating und der aktuelle Status ist Completed.

{ "account": "111122223333", "detail": { "accessPreviewId": "aaaabbbb-cccc-dddd-eeee-ffffaaaabbbb", "configuredResources": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "createdAt": "2020-02-20T00:00:00.000Z", "previousStatus": "CREATING", "region": "us-west-2", "status": "COMPLETED", "version": "1.0" }, "detail-type": "Access Preview State Change", "id": "11112222-3333-4444-5555-666677778888", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/MyAnalyzer" ], "source": "aws.access-analyzer", "time": "2020-02-20T00:00:00.00Z", "version": "0" }

Das folgende Beispiel zeigt Daten für ein Ereignis, das an EventBridge gesendet wird, um eine Vorschau mit einer Statusänderung von Creating auf Failed zu ändern. Im detail-Objekt bezieht sich id auf die ID der Zugriffsvorschau. Die status und previousStatus beziehen sich auf den Status der Zugriffsvorschau, wobei der vorherige Status Creating und der aktuelle Status ist Failed. Das Feld statusReason enthält den Ursachencode, der angibt, dass die Zugriffsvorschau aufgrund einer ungültigen Ressourcenkonfiguration fehlgeschlagen ist.

{ "account": "111122223333", "detail": { "accessPreviewId": "aaaabbbb-cccc-dddd-eeee-ffffaaaabbbb", "configuredResources": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "createdAt": "2020-02-20T00:00:00.00Z", "previousStatus": "CREATING", "region": "us-west-2", "status": "FAILED", "statusReason": { "code": "INVALID_CONFIGURATION" }, "version": "1.0" }, "detail-type": "Access Preview State Change", "id": "99998888-7777-6666-5555-444433332222", "region": "us-west-2", "resources": [ "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/MyAnalyzer" ], "source": "aws.access-analyzer", "time": "2020-02-20T00:00:00.00Z", "version": "0" }

Erstellen einer Ereignisregel mit der Konsole

Im folgenden Verfahren wird beschreiben, wie Sie mit der Konsole eine Ereignisregel erstellen.

  1. Öffnen Sie die Amazon-EventBridge-Konsole unter https://console.aws.amazon.com/events/.

  2. Erstellen Sie mithilfe der folgenden Werte eine EventBridge-Regel, die Suchereignisse überwacht oder auf Vorschauereignisse zugreift:

    • Bei Regeltyp wählen Sie Regel mit einem Ereignismuster aus.

    • Wählen Sie für Event source (Ereignisquelle) Other (Andere) aus.

    • Wählen Sie für Event pattern (Ereignismuster) Custom patterns (JSON editor) (Benutzerdefinierte Muster (JSON-Editor)) aus und fügen Sie eines der folgenden Beispiels-Ereignismuster in das Textfeld ein:

      • Verwenden Sie das folgende Musterbeispiel, um eine Regel basierend auf einem IAM-Access-Analyzer-Ereignis zu erstellen:

        { "source": [ "aws.access-analyzer" ] }
      • Verwenden Sie das folgende Musterbeispiel, um eine Regel basierend auf einem Erkenntnisereignis zu externem, internem oder ungenutztem Zugriff zu erstellen:

        { "source": [ "aws.access-analyzer" ], "detail-type": [ "Access Analyzer Finding", "Internal Access Finding", "Unused Access Finding for IAM entities" ] }
      • Verwenden Sie das folgende Musterbeispiel, um eine Regel zu erstellen, die nur auf einem Ereignis zur Erkenntnis für externen Zugriff basiert:

        { "source": [ "aws.access-analyzer" ], "detail-type": [ "Access Analyzer Finding" ] }
      • Verwenden Sie das folgende Musterbeispiel, um eine Regel zu erstellen, die nur auf einem Erkenntnisereignis zu ungenutztem Zugriff basiert:

        { "source": [ "aws.access-analyzer" ], "detail-type": [ "Internal Access Finding" ] }
      • Verwenden Sie das folgende Musterbeispiel, um eine Regel zu erstellen, die nur auf einem Ereignis zu einem Erkenntnis für ungenutzten Zugriff basiert:

        { "source": [ "aws.access-analyzer" ], "detail-type": [ "Unused Access Finding for IAM entities" ] }
      • Verwenden Sie das folgende Musterbeispiel, um eine Regel basierend auf einem Zugriffsvorschau-Ereignis zu erstellen:

        { "source": [ "aws.access-analyzer" ], "detail-type": [ "Access Preview State Change" ] }
    • Für Zieltypen wählen Sie AWS-Service, und für Ziel auswählen wählen Sie ein Ziel wie ein Amazon-SNS-Thema oder eine AWS Lambda-Funktion. Das Ziel wird ausgelöst, wenn ein Ereignis empfangen wird, das dem in der Regel definierten Ereignismuster entspricht.

    Weitere Informationen über das Erstellen von Regeln, finden Sie unter Erstellen von Amazon-EventBridge-Regeln, die auf Ereignisse reagieren im Amazon-EventBridge-Benutzerhandbuch.

Erstellen einer Ereignisregel mithilfe der CLI

  1. Verwenden Sie das Folgende, um eine Regel für Amazon EventBridge unter Verwendung der zu erstellen AWS CLI. Ersetzen Sie den Regelnamen TestRule durch den Namen Ihrer Regel.

    aws events put-rule --name TestRule --event-pattern "{\"source\":[\"aws.access-analyzer\"]}"
  2. Sie können die Regel so anpassen, dass Zielaktionen nur für eine Teilmenge generierter Ergebnisse ausgelöst werden, z. B. Ergebnisse mit bestimmten Attributen. Im folgenden Beispiel wird veranschaulicht, wie eine Regel erstellt wird, die nur für Ergebnisse mit dem Status „Aktiv“ eine Zielaktion auslöst.

    aws events put-rule --name TestRule --event-pattern "{\"source\":[\"aws.access-analyzer\"],\"detail-type\":[\"Access Analyzer Finding\"],\"detail\":{\"status\":[\"ACTIVE\"]}}"

    Das folgende Beispiel zeigt, wie Sie eine Regel erstellen, die eine Zielaktion nur für Zugriffsvorschauen mit einem Status von Creating bis Completed auslöst.

    aws events put-rule --name TestRule --event-pattern "{\"source\":[\"aws.access-analyzer\"],\"detail-type\":[\"Access Preview State Change\"],\"detail\":{\"status\":[\"COMPLETED\"]}}"
  3. Verwenden Sie den folgenden Beispielbefehl, um eine Lambda-Funktion als Ziel für die von Ihnen erstellte Regel zu definieren. Ersetzen Sie die Region und den Funktionsnamen im ARN entsprechend Ihrer Umgebung.

    aws events put-targets --rule TestRule --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:MyFunction
  4. Fügen Sie die Berechtigungen hinzu, die zum Aufrufen des Regelziels erforderlich sind. Im folgenden Beispiel wird veranschaulicht, wie Berechtigungen für eine Lambda-Funktion erteilt werden, die den vorangegangenen Beispielen folgt.

    aws lambda add-permission --function-name MyFunction --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com