Comment AWS X-Ray fonctionne avec IAM - AWS X-Ray

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment AWS X-Ray fonctionne avec IAM

Avant d'utiliser IAM pour gérer l'accès à X-Ray, vous devez connaître les fonctionnalités IAM disponibles avec X-Ray. Pour obtenir une vue d'ensemble de la façon dont X-Ray et d'autres appareils Services AWS fonctionnent avec IAM, voir Services AWS That Work with IAM dans le guide de l'utilisateur d'IAM.

Vous pouvez utiliser AWS Identity and Access Management (IAM) pour accorder des autorisations X-Ray aux utilisateurs et aux ressources de calcul de votre compte. IAM contrôle l'accès au service X-Ray au niveau de l'API afin d'appliquer les autorisations de manière uniforme, quel que soit le client (console, AWS SDK AWS CLI) utilisé par vos utilisateurs.

Pour utiliser la console X-Ray afin de visualiser des cartes de traçage et des segments, vous n'avez besoin que d'autorisations de lecture. Pour activer l'accès à la console, ajoutez la AWSXrayReadOnlyAccess politique gérée à votre utilisateur IAM.

Pour le développement et les tests locaux, créez un rôle IAM avec des autorisations de lecture et d'écriture. Assumez le rôle et stockez les informations d'identification temporaires pour le rôle. Vous pouvez utiliser ces informations d'identification avec le daemon X-Ray AWS CLI, le et le AWS SDK. Pour plus d'informations, reportez-vous à la section Utilisation d'informations d'identification AWS CLI de sécurité temporaires avec le.

Pour déployer votre application instrumentée AWS, créez un rôle IAM avec des autorisations d'écriture et attribuez-le aux ressources qui exécutent votre application. AWSXRayDaemonWriteAccessinclut l'autorisation de télécharger des traces, ainsi que certaines autorisations de lecture pour soutenir l'utilisation de règles d'échantillonnage. Pour plus d’informations, consultez Configuration des règles d'échantillonnage.

Les stratégies de lecture et d'écriture n'incluent pas l'autorisation de configurer les paramètres de la clé de chiffrement et les règles d'échantillonnage. Utilisez AWSXrayFullAccess pour accéder à ces paramètres, ou ajoutez les API de configuration dans une stratégie personnalisée. Pour les opérations de chiffrement et de déchiffrement avec une clé gérée par le client que vous créez, vous avez également besoin de l'autorisation d'utiliser la clé.

Politiques basées sur l'identité de X-Ray

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. X-Ray prend en charge des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Actions

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Action d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de stratégie portent généralement le même nom que l'opération AWS d'API associée. Il existe quelques exceptions, telles que les actions avec autorisations uniquement qui n’ont pas d’opération API correspondante. Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.

Intégration d’actions dans une stratégie afin d’accorder l’autorisation d’exécuter les opérations associées.

Les actions politiques dans X-Ray utilisent le préfixe suivant avant l'action :xray:. Par exemple, pour autoriser quelqu'un à récupérer les détails des ressources du groupe avec l'opération de l'GetGroupAPI X-Ray, vous devez inclure l'xray:GetGroupaction dans sa politique. Les déclarations de politique doivent inclure un élément Action ou NotAction. X-Ray définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

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

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (*). Par exemple, pour spécifier toutes les actions qui commencent par le mot Get, incluez l’action suivante :

"Action": "xray:Get*"

Pour consulter la liste des actions X-Ray, reportez-vous à la section Actions définies par AWS X-Ray dans le guide de l'utilisateur IAM.

Ressources

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément de politique JSON Resource indique le ou les objets auxquels l’action s’applique. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.

Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

Vous pouvez contrôler l'accès aux ressources à l'aide d'une politique IAM. Pour les actions qui prennent en charge les autorisations au niveau des ressources, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la stratégie s'applique.

Toutes les actions X-Ray peuvent être utilisées dans une politique IAM pour accorder ou refuser aux utilisateurs l'autorisation d'utiliser cette action. Cependant, les actions X-Ray ne prennent pas toutes en charge les autorisations au niveau des ressources, qui vous permettent de spécifier les ressources sur lesquelles une action peut être effectuée.

Pour les actions qui ne prennent pas en charge les autorisations de niveau ressource, vous devez utiliser « * » comme ressource.

Les actions X-Ray suivantes prennent en charge les autorisations au niveau des ressources :

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

Vous trouverez ci-dessous un exemple de stratégie d’autorisations basées sur l’identité pour une action CreateGroup. Cet exemple montre comment se servir d’un ARN lié à un nom de groupe local-users, en utilisant l’ID unique en tant que caractère générique. L'ID unique est généré lorsque le groupe est créé. Il ne peut donc pas être prédit à l'avance dans la stratégie. Lorsque vous utilisez GetGroup, UpdateGroup ou DeleteGroup, vous pouvez définir l’ID unique en tant que caractère générique ou ARN exact, comprenant l’ID.

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

Vous trouverez ci-dessous un exemple de stratégie d’autorisations basées sur l’identité pour une action CreateSamplingRule.

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

L'ARN d'une règle d'échantillonnage est défini par le nom de cette dernière. Contrairement aux ARN de groupe, les règles d'échantillonnage ne disposent pas d’ID générés de façon unique.

Pour consulter la liste des types de ressources X-Ray et de leurs ARN, consultez la section Ressources définies par AWS X-Ray dans le guide de l'utilisateur IAM. Pour savoir grâce à quelles actions vous pouvez spécifier l'ARN de chaque ressource, consultez Actions définies par AWS X-Ray.

Clés de condition

X-Ray ne fournit aucune clé de condition spécifique au service, mais prend en charge l'utilisation de certaines clés de condition globales. Pour voir toutes les clés de condition AWS globales, consultez la section Clés contextuelles de condition AWS globale dans le guide de l'utilisateur IAM.

Exemples

Pour consulter des exemples de politiques basées sur l'identité de X-Ray, consultez. AWS X-Ray exemples de politiques basées sur l'identité

Politiques basées sur les ressources de X-Ray

X-Ray prend en charge les politiques basées sur les ressources pour l' Service AWS intégration actuelle et future, telles que le suivi actif Amazon SNS. Les politiques basées sur les ressources de X-Ray peuvent être mises à jour par d'autres AWS Management Console utilisateurs, via le AWS SDK ou la CLI. Par exemple, la console Amazon SNS tente de configurer automatiquement une politique basée sur les ressources pour envoyer des traces à X-Ray. Le document de politique suivant fournit un exemple de configuration manuelle de la politique basée sur les ressources de X-Ray.

Exemple de politique basée sur les ressources X-Ray pour le suivi actif d'Amazon SNS

Cet exemple de document de politique précise les autorisations dont Amazon SNS a besoin pour envoyer des données de suivi à X-Ray :

{ 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" } } } ] }

Utilisez la CLI pour créer une politique basée sur les ressources qui autorise Amazon SNS à envoyer des données de suivi à X-Ray :

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" } } } ] }'

Pour utiliser ces exemples, remplacez partition, regionaccount-id, et topic-namepar votre AWS partition, région, ID de compte et nom de rubrique Amazon SNS spécifiques. Pour autoriser toutes les rubriques Amazon SNS à envoyer des données de suivi à X-Ray, remplacez le nom de la rubrique par. *

Autorisation basée sur les tags X-Ray

Vous pouvez associer des tags à des groupes X-Ray ou à des règles d'échantillonnage, ou transmettre des tags dans une demande à X-Ray. Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition xray:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Pour plus d'informations sur le balisage des ressources X-Ray, consultezÉtiquetage des règles et des groupes d'échantillonnage aux rayons X.

Pour visualiser un exemple de politique basée sur l'identité permettant de limiter l'accès à une ressource en fonction des balises de cette ressource, consultez Gestion de l'accès aux groupes X-Ray et des règles d'échantillonnage en fonction des balises.

Exécution de votre application en local

Votre application instrumentée envoie des données de trace au daemon X-Ray. Le daemon met en mémoire tampon les documents et les télécharge par lots vers le service X-Ray. Le daemon a besoin d'autorisations d'écriture pour télécharger des données de trace et des données de télémétrie vers le service X-Ray.

Lorsque vous exécutez le démon localement, créez un rôle IAM, assumez le rôle et stockez les informations d'identification temporaires dans des variables d'environnement ou dans un fichier nommé credentials dans un dossier nommé .aws dans votre dossier utilisateur. Pour plus d'informations, reportez-vous à la section Utilisation d'informations d'identification AWS CLI de sécurité temporaires avec le.

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

Si vous avez déjà configuré des informations d'identification à utiliser avec le AWS SDK ou AWS CLI, le démon peut les utiliser. Si plusieurs profils sont disponibles, le démon utilise celui par défaut.

Exécution de votre application dans AWS

Lorsque vous exécutez votre application sur AWS, utilisez un rôle pour accorder l'autorisation à l'instance Amazon EC2 ou à la fonction Lambda qui exécute le démon.

Pour créer un rôle à utiliser avec X-Ray
  1. Ouvrez la console IAM.

  2. Sélectionnez Roles (Rôles).

  3. Choisissez Create New Role (Créer un nouveau rôle).

  4. Sous Nom du rôle, tapez xray-application. Choisissez Étape suivante.

  5. Pour Role Type, choisissez Amazon EC2.

  6. Joignez la politique gérée suivante pour permettre à votre application d'accéder à Services AWS :

    • AWSXRayDaemonWriteAccess— Permet au daemon X-Ray de télécharger des données de trace.

    Si votre application utilise le AWS SDK pour accéder à d'autres services, ajoutez des politiques qui accordent l'accès à ces services.

  7. Choisissez Étape suivante.

  8. Choisissez Create Role (Créer un rôle).

Autorisations utilisateur pour le chiffrement

X-Ray chiffre toutes les données de trace et, par défaut, vous pouvez le configurer pour utiliser une clé que vous gérez. Si vous choisissez une clé gérée par le AWS Key Management Service client, vous devez vous assurer que la politique d'accès de la clé vous permet d'autoriser X-Ray à l'utiliser pour le chiffrement. Les autres utilisateurs de votre compte doivent également accéder à la clé pour consulter les données de suivi cryptées dans la console X-Ray.

Pour une clé gérée par le client, configurez votre clé avec une politique d'accès qui autorise les actions suivantes :

  • L'utilisateur qui configure la clé dans X-Ray est autorisé à appeler kms:CreateGrant etkms:DescribeKey.

  • Les utilisateurs qui peuvent accéder à des données de suivi chiffrées sont autorisés à appeler kms:Decrypt.

Lorsque vous ajoutez un utilisateur au groupe Utilisateurs clés dans la section de configuration des clés de la console IAM, il est autorisé à effectuer ces deux opérations. Les autorisations doivent uniquement être définies selon la politique clé, vous n'avez donc pas besoin d' AWS KMS autorisations pour vos utilisateurs, groupes ou rôles. Pour plus d'informations, consultez la section Utilisation des politiques clés dans le guide du AWS KMS développeur.

Pour le chiffrement par défaut, ou si vous choisissez la clé CMK AWS gérée (aws/xray), l'autorisation dépend de la personne ayant accès aux API de X-Ray. Toute personne ayant accès à PutEncryptionConfig, incluse dans AWSXrayFullAccess, peut modifier la configuration de chiffrement. Pour empêcher un utilisateur de changer la clé de chiffrement, ne leur donnez pas l'autorisation d'utiliser PutEncryptionConfig.