Wie AWS X-Ray funktioniert 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.

Wie AWS X-Ray funktioniert mit IAM

Bevor Sie IAM den Zugriff auf X-Ray verwalten, sollten Sie wissen, welche IAM Funktionen mit X-Ray zur Verfügung stehen. Einen allgemeinen Überblick darüber, wie X-Ray und andere AWS-Services Geräte AWS-Services damit arbeitenIAM, finden Sie IAM im IAMBenutzerhandbuch unter Das funktioniert mit.

Sie können AWS Identity and Access Management (IAM) verwenden, um Benutzern X-Ray-Berechtigungen zu gewähren und Ressourcen in Ihrem Konto zu berechnen. IAMsteuert den Zugriff auf den X-Ray-Dienst auf der gleichen API Ebene, um Berechtigungen einheitlich durchzusetzen, unabhängig davon, welchen Client (Konsole, AWS SDK, AWS CLI) Ihre Benutzer verwenden.

Um die X-Ray-Konsole zum Anzeigen von Trace-Maps und Segmenten zu verwenden, benötigen Sie lediglich Leseberechtigungen. Um den Konsolenzugriff zu aktivieren, fügen Sie Ihrem IAM Benutzer die AWSXrayReadOnlyAccess verwaltete Richtlinie hinzu.

Erstellen Sie für lokale Entwicklungen und Tests eine IAM Rolle mit Lese- und Schreibberechtigungen. Übernehmen Sie die Rolle und speichern Sie temporäre Anmeldeinformationen für die Rolle. Sie können diese Anmeldeinformationen mit dem X-Ray-Daemon AWS CLI, dem und dem AWS SDK verwenden. Weitere Informationen finden Sie unter Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS CLI.

Um Ihre instrumentierte App bereitzustellen AWS, erstellen Sie eine IAM Rolle mit Schreibberechtigungen und weisen Sie sie den Ressourcen zu, auf denen Ihre Anwendung ausgeführt wird. AWSXRayDaemonWriteAccessbeinhaltet die Erlaubnis, Traces hochzuladen, und einige Leseberechtigungen, um die Verwendung von Sampling-Regeln zu unterstützen.

Die Lese- und Schreibrichtlinien enthalten keine Berechtigung zum Konfigurieren von Einstellungen für den Verschlüsselungsschlüssel und Samplingregeln. Wird verwendet, AWSXrayFullAccess um auf diese Einstellungen zuzugreifen oder eine Konfiguration APIs in einer benutzerdefinierten Richtlinie hinzuzufügen. 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 IAM identitätsbasierten Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zugelassen oder verweigert werden. X-Ray unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Weitere Informationen zu allen Elementen, die Sie in einer JSON Richtlinie verwenden, finden Sie im IAMBenutzerhandbuch unter IAMJSONPolicy Elements Reference.

Aktionen

Administratoren können mithilfe von AWS JSON Richtlinien angeben, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Action Element 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 der zugehörige AWS API Vorgang. Es gibt einige Ausnahmen, z. B. Aktionen, für die nur eine Genehmigung erforderlich ist und für die es keinen entsprechenden Vorgang gibt. API 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:. Um beispielsweise jemandem die Erlaubnis zu erteilen, Gruppenressourcendetails mit dem GetGroup API X-Ray-Vorgang abzurufen, nehmen Sie die xray:GetGroup Aktion in seine Richtlinie auf. Richtlinienanweisungen müssen entweder ein – Actionoder ein NotAction-Element enthalten. X-Ray definiert eigene Aktionen, die Aufgaben beschreiben, die Sie mit diesem Dienst ausfü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 AWS X-Ray im IAMBenutzerhandbuch unter Definierte Aktionen von.

Ressourcen

Administratoren können mithilfe von AWS JSON Richtlinien festlegen, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Resource JSON Richtlinienelement gibt das Objekt oder die Objekte an, für die die Aktion gilt. Anweisungen müssen entweder ein – Resourceoder ein NotResource-Element enthalten. Es hat sich bewährt, eine Ressource mit ihrem Amazon-Ressourcennamen (ARN) anzugeben. 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 Erlaubnis zur Verwendung dieser Aktion zu erteilen oder zu verweigern. Allerdings unterstützen nicht alle X-Ray-Aktionen Berechtigungen auf Ressourcenebene, mit denen Sie angeben können, für welche 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 Gruppennamens 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. Wenn Sie GetGroupUpdateGroup, oder verwendenDeleteGroup, können Sie dies entweder als Platzhalter oder als exakte Angabe ARN einschließlich ID definieren.

{ "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 Wert ARN einer Stichprobenregel wird durch ihren Namen definiert. Im Gegensatz zu Gruppen ARNs haben Stichprobenregeln keine eindeutig generierte ID.

Eine Liste der X-Ray-Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter Resources Defined by AWS X-Ray im IAMBenutzerhandbuch. Informationen darüber, mit welchen Aktionen Sie die ARN einzelnen Ressourcen spezifizieren können, finden Sie unter Definierte Aktionen von AWS X-Ray.

Bedingungsschlüssel

X-Ray stellt keine dienstspezifischen Bedingungsschlüssel bereit, unterstützt aber die Verwendung einiger globaler Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter AWS Globale Bedingungskontextschlüssel im IAMBenutzerhandbuch.

Beispiele

Beispiele für identitätsbasierte X-Ray-Richtlinien finden Sie unter. AWS X-Ray Beispiele für identitätsbasierte Politik

Ressourcenbasierte X-Ray-Richtlinien

X-Ray unterstützt ressourcenbasierte Richtlinien für die aktuelle und future AWS-Service Integration, wie Amazon SNS Active Tracing. Ressourcenbasierte X-Ray-Richtlinien können durch andere AWS Management Console s oder über das AWS SDK oder aktualisiert werden. CLI Die SNS Amazon-Konsole versucht beispielsweise, automatisch ressourcenbasierte Richtlinien für das Senden von Traces an X-Ray zu konfigurieren. Das folgende Richtliniendokument enthält ein Beispiel für die manuelle Konfiguration ressourcenbasierter X-Ray-Richtlinien.

Beispiel für eine ressourcenbasierte X-Ray-Richtlinie für Amazon Active Tracing SNS

Dieses Beispielrichtliniendokument spezifiziert die Berechtigungen, die Amazon SNS benötigt, um Trace-Daten an X-Ray zu senden:

{ Version: "2012-10-17", Statement: [ { Sid: "SNSAccess", Effect: Allow, Principal: { Service: "sns.amazonaws.com", }, Action: [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], Resource: "*", Condition: { StringEquals: { "aws:SourceAccount": "account-id" }, StringLike: { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }

Verwenden Sie dieCLI, um eine ressourcenbasierte Richtlinie zu erstellen, die Amazon die SNS Erlaubnis erteilt, Trace-Daten an X-Ray zu senden:

aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'

Um diese Beispiele zu verwenden, ersetzen Sie Partition, Region, account-id, und Themenname mit Ihrer spezifischen AWS Partition, Region, Konto-ID und Ihrem SNS Amazon-Themennamen. Um allen SNS Amazon-Themen die Erlaubnis zu geben, Trace-Daten an X-Ray zu senden, ersetzen Sie den Themennamen durch*.

Autorisierung auf Basis von X-Ray-Tags

Sie können Tags an X-Ray-Gruppen oder Sampling-Regeln anhängen oder Tags in einer Anfrage 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 Bedingung aws:TagKeys verwenden. Weitere Informationen zum Taggen von X-Ray-Ressourcen finden Sie unterKennzeichnen von Regeln und Gruppen für die Röntgenprobenahme.

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 Verwaltung des Zugriffs auf X-Ray-Gruppen und Stichprobenregeln auf der Grundlage von Tags.

Lokale Ausführung Ihrer Anwendung

Ihre instrumentierte Anwendung sendet Trace-Daten an den X-Ray-Daemon. Der Daemon puffert segmentierte Dokumente und lädt sie stapelweise in den X-Ray-Dienst hoch. Der Daemon benötigt Schreibberechtigungen, um Trace-Daten und Telemetrie in den X-Ray-Dienst hochzuladen.

Wenn Sie den Daemon lokal ausführen, erstellen Sie eine IAM Rolle, übernehmen Sie die Rolle und speichern Sie temporäre Anmeldeinformationen in Umgebungsvariablen oder in einer Datei, die in einem Ordner benannt credentials ist, der .aws in Ihrem Benutzerordner heißt. Weitere Informationen finden Sie unter Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS CLI.

Beispiel ~/.aws/credentials
[default] aws_access_key_id={access key ID} aws_secret_access_key={access key} aws_session_token={AWS session token}

Wenn Sie bereits Anmeldeinformationen für die Verwendung mit dem AWS SDK oder konfiguriert haben AWS CLI, kann der Daemon diese verwenden. Wenn mehrere Profile verfügbar sind, verwendet der Daemon das Standard-Profil.

Ihre Anwendung wird ausgeführt in AWS

Wenn Sie Ihre Anwendung auf ausführen AWS, verwenden Sie eine Rolle, um der EC2 Amazon-Instance oder Lambda-Funktion, die den Daemon ausführt, Berechtigungen zu erteilen.

Um eine Rolle für die Verwendung mit X-Ray zu erstellen
  1. Öffnen Sie die IAMKonsole.

  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 als Rollentyp Amazon ausEC2.

  6. Fügen Sie die folgende verwaltete Richtlinie an, um Ihrer Anwendung Zugriff zu gewähren AWS-Services:

    • AWSXRayDaemonWriteAccess— Erlaubt dem X-Ray-Daemon die Erlaubnis, Trace-Daten hochzuladen.

    Wenn Ihre Anwendung den für den AWS SDK Zugriff auf andere Dienste verwendet, fügen Sie Richtlinien hinzu, die den Zugriff auf diese Dienste gewähren.

  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 Trace-Daten, und Sie können es so konfigurieren, dass ein von Ihnen verwalteter Schlüssel verwendet wird. Wenn Sie sich für einen vom AWS Key Management Service Kunden verwalteten Schlüssel entscheiden, müssen Sie sicherstellen, dass die Zugriffsrichtlinie des Schlüssels es Ihnen ermöglicht, X-Ray die Erlaubnis zu erteilen, ihn zum Verschlüsseln zu verwenden. Andere Benutzer in Ihrem Konto benötigen ebenfalls Zugriff auf den Schlüssel, um verschlüsselte Trace-Daten in der X-Ray-Konsole anzeigen zu können.

Für einen vom Kunden verwalteten Schlüssel konfigurieren Sie Ihren Schlüssel mit einer Zugriffsrichtlinie, die die folgenden Aktionen ermöglicht:

  • Der Benutzer, der den Schlüssel in X-Ray konfiguriert, hat die Berechtigung, kms:CreateGrant und kms:DescribeKey anzurufen.

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

Wenn Sie im Bereich „Schlüsselkonfiguration“ der IAM Konsole einen Benutzer zur Gruppe „Hauptbenutzer“ hinzufügen, hat er die erforderlichen Rechte für beide Operationen. Die Berechtigungen müssen nur für die Schlüsselrichtlinie festgelegt werden, sodass Sie keine AWS KMS Berechtigungen für Ihre Benutzer, Gruppen oder Rollen benötigen. Weitere Informationen finden Sie unter Verwenden wichtiger Richtlinien im AWS KMS Entwicklerhandbuch.

Bei der Standardverschlüsselung oder wenn Sie die Option AWS managed CMK (aws/xray) wählen, hängt die Berechtigung davon ab, wer Zugriff auf X-Ray hatAPIs. 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.