Funktionsweise von AWS X-Ray mit IAM - AWS X-Ray

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.

Funktionsweise von AWS X-Ray mit IAM

Bevor Sie mit IAM den Zugriff auf X-Ray verwalten können, sollten Sie sich darüber informieren, welche IAM-Funktionen Sie mit X-Ray verwenden können. Um einen Überblick darüber zu erhalten, wie X-Ray und andereAWS-Services funktionieren mit IAM, sieheAWSServices, die mit IAM funktionierenimIAM User Guideaus.

Sie können es verwendenAWS Identity and Access Management(IAM) Benutzern X-Ray-Berechtigungen zu gewähren und Ressourcen in Ihrem Konto zu berechnen. IAM steuert den Zugriff auf den X-Ray-Service auf API-Ebene zur einheitlichen Durchsetzung von Berechtigungen, unabhängig davon, welcher Client (Konsole,AWSSDK,AWS CLI) Ihre Benutzer beschäftigen.

Bisbenutze die X-Ray-Um Service-Karten und -Segmenten anzuzeigen, benötigen Sie lediglich Leseberechtigungen. Um den Zugriff auf die Konsole zu ermöglichen, fügen Sie Ihrem IAM-Benutzer die AWSXrayReadOnlyAccess verwaltete Richtlinie hinzu.

Für lokale Entwicklung und Tests erstellen Sie einen IAM-Benutzer mit Lese- und Schreibberechtigungen. Generieren Sie Zugriffsschlüssel für den Benutzer und speichern Sie sie im StandardAWSSDK-Standort Sie können diese Anmeldeinformationen mit dem X-Ray-Daemon verwenden, derAWS CLI, und dasAWSSDK.

Zur Bereitstellung Ihrer instrumentierten App für AWS erstellen Sie eine IAM-Rolle mit Schreibberechtigungen und weisen Sie sie den Ressourcen zu, die Ihre Anwendung ausführen. AWSXRayDaemonWriteAccess umfasst die Berechtigung zum Hochladen von Ablaufverfolgungen und einige Leseberechtigungen für die Verwendung von Samplingregeln.

Die Lese- und Schreibrichtlinien enthalten keine Berechtigung zum Konfigurieren von Einstellungen für den Verschlüsselungsschlüssel und Samplingregeln. Verwenden Sie AWSXrayFullAccess für den Zugriff auf diese Einstellungen oder fügen Sie Konfigurations-APIs in einer benutzerdefinierten Richtlinie hinzu. Für Verschlüsselung und Entschlüsselung mit einem von Ihnen erstellten kundenverwalteten Schlüssel benötigen Sie auch die Berechtigung zur Verwendung des Schlüssels.

Identitätsbasierte X-Ray-Richtlinien

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. X-Ray unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der IAM-Referenz für JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Aktionen

Administratoren können mithilfe von AWS-JSON-Richtlinien festlegen, wer zum Zugriff auf was berechtigt ist. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Element Action einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie die zugehörige AWS-API-Operation. Es gibt einige Ausnahmen, z. B. Aktionen, die nur mit Genehmigung durchgeführt werden können und für die es keinen passenden API-Vorgang gibt. Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.

Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.

Richtlinienaktionen in X-Ray verwenden das folgende Präfix vor der Aktion: xray:aus. Um beispielsweise einem Benutzer die Berechtigung zum Abrufen von Gruppenressourcen-Details über das X-Ray zu gewährenGetGroupAPI-Betrieb, Sie schließen diexray:GetGroupMaßnahmen in ihrer Politik. Richtlinienanweisungen müssen entweder ein Action- oder ein NotAction-Element enthalten. X-Ray definiert eine eigene Gruppe von Aktionen, die Aufgaben beschreiben, die Sie mit diesem Service durchführen können.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

"Action": [ "xray:action1", "xray:action2"

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie alle Aktionen festlegen, die mit dem Wort Get beginnen, einschließlich der folgenden Aktion:

"Action": "xray:Get*"

Eine Liste der X-Ray-Aktionen finden Sie unterVon definierte AktionenAWS X-RayimIAM User Guideaus.

Ressourcen

Administratoren können mithilfe von AWS-JSON-Richtlinien festlegen, wer zum Zugriff auf was berechtigt ist. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf die die Aktion angewendet wird. Anweisungen müssen entweder ein Resource- oder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.

Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

Sie können den Zugriff auf Ressourcen mithilfe einer IAM-Richtlinie steuern. Für Aktionen, die Berechtigungen auf Ressourcenebene unterstützen, verwenden Sie einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt.

Alle X-Ray-Aktionen können in einer IAM-Richtlinie verwendet werden, um Benutzern die Berechtigung zu erteilen oder zu verweigern, diese Aktion zu verwenden. Allerdings nicht alleX-Rayunterstützt Berechtigungen auf Ressourcenebene, mit denen Sie angeben können, auf welchen Ressourcen eine Aktion ausgeführt werden kann.

Für Aktionen, die Berechtigungen auf Ressourcenebene nicht unterstützen, muss „*“ als Ressource verwendet werden.

Die folgenden X-Ray-Aktionen unterstützen Berechtigungen auf Ressourcenebene:

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

Nachstehend finden Sie ein Beispiel für eine identitätsbasierte Berechtigungsrichtlinie für eine CreateGroup-Aktion: Das Beispiel zeigt die Verwendung eines ARN in Bezug auf den Gruppennamen local-users mit der eindeutigen ID als Platzhalter. Die eindeutige ID wird generiert, wenn die Gruppe erstellt wird, und kann daher in der Richtlinie nicht im Voraus vorhergesehen werden. Bei der Verwendung von GetGroup, UpdateGroup oder DeleteGroup können Sie diese entweder als Platzhalter oder als den genauen ARN definieren, einschließlich ID.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateGroup" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:group/local-users/*" ] } ] }

Nachstehend finden Sie ein Beispiel für eine identitätsbasierte Berechtigungsrichtlinie für eine CreateSamplingRule-Aktion:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateSamplingRule" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep" ] } ] }
Anmerkung

Der ARN einer Sampling-Regel definiert sich anhand ihres Namens. Im Gegensatz zu Gruppen-ARNs weisen Samplingregeln keine eindeutig generierte ID auf.

Eine Liste der X-Ray-Ressourcentypen und ihrer ARNs finden Sie unterVon definierte RessourcenAWS X-RayimIAM User Guideaus. Informationen zu den Aktionen, mit denen Sie den ARN einzelner Ressourcen angeben können, finden Sie unter Von AWS X-Ray definierte Aktionen.

Bedingungsschlüssel

X-Ray stellt keine servicespezifischen Bedingungsschlüssel bereit, unterstützt jedoch die Verwendung einiger globaler Bedingungsschlüssel. Eine Liste aller globalen AWS-Bedingungsschlüssel finden Sie unter Globale AWS-Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

Beispiele

Beispiele für identitätsbasierte X-Ray-Richtlinien finden Sie unterAWS X-RayBeispiele für identitätsbasierte -Richtlinienaus.

Ressourcenbasierte X-Ray-Richtlinien

X-Ray unterstützt keine ressourcenbasierten Richtlinien, unterstützt jedoch Richtlinien auf Ressourcenebene.

Autorisierung basierend auf X-Ray-Tags

Sie können Tags an X-Ray-Gruppen oder Sampling-Regeln anhängen oder Tags in einer Anforderung an X-Ray übergeben. Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel xray:ResourceTag/key-name, aws:RequestTag/key-name, oder aws:TagKeysBedingung verwenden. Weitere Informationen über das Markieren von X-Ray-Ressourcen finden Sie unterTagging X-Ray-Samplingregeln und -Gruppenaus.

Ein Beispiel für eine identitätsbasierte Richtlinie zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Markierungen dieser Ressource finden Sie unter Zugriff auf X-Ray-Gruppen und Sampling-Regeln basierend auf Tags verwalten.

Lokale Ausführung Ihrer Anwendung

Ihre instrumentierte Anwendung sendet Ablaufverfolgungsdaten an den X-Ray-Daemon. Der Daemon puffert Segmentdokumente und lädt sie in Stapeln in den X-Ray-Service hoch. Der Daemon benötigt Schreibberechtigungen zum Hochladen von Ablaufverfolgungsdaten und Telemetrie in den X-Ray-Service.

Wenn Sie den Daemon lokal ausführen, speichern Sie den Zugriffsschlüssel und den Geheimschlüssel Ihres IAM-Benutzers in einer Datei mit der Bezeichnung credentials in einem Ordner mit der Bezeichnung .aws in Ihrem Benutzerordner.

Beispiel ~/.aws/credentials

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Wenn Sie bereits Anmeldeinformationen für die Verwendung mit demAWSSDK oderAWS CLIkann der Daemon diese benutzen. Wenn mehrere Profile verfügbar sind, verwendet der Daemon das Standard-Profil.

Ausführung Ihrer Anwendung inAWS

Wenn Sie Ihre Anwendung auf ausführenAWSverwenden Sie eine Rolle zum gewähren der Berechtigung zur Amazon EC2 EC2-Instance oder zur Lambda-Funktion, die den Daemon ausführt.

  • Amazon Elastic Compute Cloud (Amazon EC2)— Erstellen Sie eine IAM-Rolle und fügen Sie sie an die EC2-Instance alsInstance-Profilaus.

  • Amazon Elastic Container Service (Amazon ECS)— Erstellen Sie eine IAM-Rolle und fügen Sie sie an Container-Instances alsIAM-Rolle für Container-Instanceaus.

  • AWS Elastic Beanstalk(Elastic Beanstalk)— Elastic Beanstalk enthält X-Ray Berechtigungen in seinemStandard-Instance-Profilaus. Sie können das Standard-Instance-Profil verwenden oder einem benutzerdefinierten Instance-Profil Schreibberechtigungen hinzufügen.

  • AWS Lambda(Lambda)- Fügen Sie der Ausführungsrolle Ihrer Funktion Schreibberechtigungen hinzu.

So erstellen Sie eine Rolle zur Verwendung mit X-Ray

  1. Öffnen Sie die IAM-Konsole.

  2. Wählen Sie Roles.

  3. Klicken Sie auf Create New Role.

  4. Geben Sie für Role Name (Name der Rolle) xray-application ein. Wählen Sie Next Step (Weiter) aus.

  5. Wählen Sie für Rollentyp Amazon EC2.

  6. Fügen Sie die folgende verwaltete Richtlinie an, um Ihrer Anwendung den Zugriff aufAWSservices:

    • AWSXRayDaemonWriteAccess— Gibt dem X-Ray-Daemon die Berechtigung zum Hochladen von Ablaufverfolgungsdaten

    Wenn Ihre Anwendung das AWS-SDK für den Zugriff auf andere Services verwendet, fügen Sie Richtlinien hinzu, die diesen Services den Zugriff ermöglichen.

  7. Wählen Sie Next Step (Weiter) aus.

  8. Wählen Sie Create Role aus.

Benutzerberechtigungen für die Verschlüsselung

X-Ray verschlüsselt standardmäßig alle Ablaufverfolgungsdaten und Sie können eskonfigurieren Sie es so, dass ein von Ihnen verwalteter Schlüssel verwendet wirdaus. Wenn Sie einAWS Key Management ServiceKundenverwalteter Schlüssel müssen Sie sicherstellen, dass die Zugriffsrichtlinie des Schlüssels Ihnen die Möglichkeit gibt, X-Ray die Berechtigung zu erteilen, ihn zum Verschlüsseln zu verwenden. Andere Benutzer in Ihrem Konto benötigen auch Zugriff auf den Schlüssel zum Anzeigen von verschlüsselten Ablaufverfolgungsdaten in der X-Ray-Konsole.

Konfigurieren Sie Ihren Schlüssel für einen vom Kunden verwalteten Schlüssel mit einer Zugriffsrichtlinie, die die folgenden Aktionen zulässt:

  • Benutzer, der den Schlüssel in X-Ray konfiguriert, hat die Berechtigung zum Aufrufkms:CreateGrantundkms:DescribeKeyaus.

  • Benutzer, die auf verschlüsselte Ablaufverfolgungsdaten zugreifen können, besitzen die Berechtigung zum Aufruf von kms:Decrypt.

Wenn Sie einen Benutzer zumDie wichtigsten BenutzerGruppe im Abschnitt zur Schlüsselkonfiguration der IAM-Konsole, haben sie die Berechtigung für beide Operationen. Die Berechtigung muss nur für die Schlüsselrichtlinie festgelegt werden, sodass Sie keine benötigenAWS KMSBerechtigungen für Ihre IAM-Benutzer, -Gruppen oder -Rollen. Weitere Informationen finden Sie unter Verwenden von Schlüsselrichtlinien im AWS KMS Entwicklerhandbuch.

Für die Standardverschlüsselung oder wenn Sie dieAWSverwalteter CMK (aws/xray) basiert die Berechtigung darauf, wer Zugriff auf X-Ray-APIs hat. Jeder Benutzer mit Zugriff auf PutEncryptionConfig, enthalten in AWSXrayFullAccess, kann die Verschlüsselungskonfiguration ändern. Um zu verhindern, dass ein Benutzer den Verschlüsselungsschlüssel ändert, gewähren Sie ihm nicht die Berechtigung zur Verwendung von PutEncryptionConfig.