Schritt 1: Autorisieren Sie Ihre Anwendung, um Daten an AWS zu senden.
Sie haben vier Möglichkeiten zum Einrichten der Datenauthentifizierung:
Verwenden Sie Amazon Cognito und lassen Sie CloudWatch RUM einen neuen Amazon-Cognito-Identitätspool für die Anwendung erstellen. Diese Methode erfordert den geringsten Aufwand für die Einrichtung.
Der Identitätspool enthält eine nicht authentifizierte Identität. Auf diese Weise kann der CloudWatch RUM-Webclient Daten an CloudWatch RUM senden, ohne den Benutzer der Anwendung zu authentifizieren.
Der Amazon-Cognito-Identitätspool hat eine angehängte IAM-Rolle. Die nicht authentifizierte Identität von Amazon Cognito ermöglicht es dem Webclient, die IAM-Rolle zu übernehmen, die berechtigt ist, Daten an CloudWatch RUM zu senden.
Verwenden Sie Amazon Cognito für die Authentifizierung. Wenn Sie das verwenden, können Sie einen vorhandenen Amazon Cognito-Identitätspool nutzen oder einen neuen erstellen, um ihn mit dieser App-Überwachung zu verwenden. Wenn Sie einen vorhandenen Identitätspool verwenden, müssen Sie auch die IAM-Rolle ändern, die an den Identitätspool angehängt ist. Verwenden Sie diese Option für Identitätspools, die nicht authentifizierte Benutzer unterstützen. Sie können Identitätspools nur in der gleichen Region verwenden.
Verwenden Sie die Authentifizierung von einem vorhandenen Identitätsanbieter, den Sie bereits eingerichtet haben. In diesem Fall müssen Sie Anmeldeinformationen vom Identitätsanbieter abrufen, und Ihre Anwendung muss diese Anmeldeinformationen an den RUM-Webclient weiterleiten.
Verwenden Sie diese Option für Identitätspools, die nur authentifizierte Benutzer unterstützen.
Verwenden Sie ressourcenbasierte Richtlinien, um den Zugriff auf Ihrer App-Überwachung zu verwalten. Dazu gehört die Möglichkeit, nicht authentifizierte Anforderungen ohne AWS-Anmeldeinformationen an CloudWatch RUM zu senden. Weitere Informationen zu ressourcenbasierten Richtlinien und RUM finden Sie unter Verwenden von ressourcenbasierten Richtlinien in CloudWatch RUM.
In den folgenden Abschnitten werden diese Optionen ausführlich erörtert.
Verwenden Sie einen vorhandenen Amazon-Cognito-Identitätspool.
Wenn Sie einen Amazon-Cognito-Identitätspool verwenden möchten, geben Sie den Identitätspool an, wenn Sie die Anwendung zu CloudWatch RUM hinzufügen. Der Pool muss die Aktivierung des Zugriffs auf nicht authentifizierte Identitäten unterstützen. Sie können Identitätspools nur in der gleichen Region verwenden.
Sie müssen auch die folgenden Berechtigungen zur IAM-Richtlinie hinzufügen, die an die IAM-Rolle angehängt ist, die mit diesem Identitätspool verknüpft ist.
Amazon Cognito sendet anschließend das erforderliche Sicherheitstoken, damit Ihre Anwendung Daten an CloudWatch RUM senden kann.
Drittanbieter
Wenn Sie sich für die Nutzung einer privaten Authentifizierung von einem Drittanbieter entscheiden, müssen Sie Anmeldeinformationen vom Identitätsanbieter abrufen und an AWS weiterleiten. Am besten kann dies mit einem Sicherheits-Token-Anbieter durchgeführt werden. Sie können jeden Anbieter von Sicherheitstoken, einschließlich Amazon Cognito mit AWS Security Token Service verwenden. Weitere Informationen zur Verwendung von AWS STS finden Sie in der AWS Security Token Service-API-Referenz.
Wenn Sie Amazon Cognito in diesem Szenario als Token-Anbieter verwenden möchten, können Sie Amazon Cognito so konfigurieren, dass es mit einem Authentifizierungsanbieter zusammenarbeitet. Weitere Informationen erhalten Sie unter Erste Schritte mit Amazon-Cognito-Identitätenpools (Verbundidentitäten).
Nachdem Sie Amazon Cognito für die Zusammenarbeit mit Ihrem Identitätsanbieter konfiguriert haben, müssen Sie wie folgt vorgehen:
Erstellen Sie eine IAM-Rolle mit den folgenden Berechtigungen. Ihre Anwendung verwendet diese Rolle für den Zugriff auf AWS.
Fügen Sie Ihrer Anwendung Folgendes hinzu, damit die Anmeldeinformationen Ihres Anbieters an CloudWatch RUM weitergegeben werden. Fügen Sie die Zeile so ein, dass sie ausgeführt wird, nachdem sich ein Benutzer bei Ihrer Anwendung angemeldet hat und die Anwendung die Anmeldeinformationen für den Zugriff auf AWS erhalten hat.
cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});
Weitere Informationen über Anbieter von Anmeldeinformationen finden Sie im AWS-JavaScript-SDK in folgenden Abschnitten: Festlegen von Anmeldeinformationen in einem Webbrowser im v3-Entwicklerhandbuch für SDK für JavaScript, Festlegen von Anmeldeinformationen in einem Webbrowser im v2-Entwicklerhandbuch für SDK für JavaScript und unter @aws-sdk/credential-providers
Sie können auch das SDK für den CloudWatch-RUM-Webclient verwenden, um die Authentifizierungsmethoden des Webclients zu konfigurieren. Weitere Informationen zum Webclient-SDK finden Sie unter CloudWatch-RUM-Webclient-SDK