Come AWS X-Ray funziona con IAM - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come AWS X-Ray funziona con IAM

Prima di utilizzare IAM per gestire l'accesso a X-Ray, è necessario comprendere quali IAM funzionalità sono disponibili per l'uso con X-Ray. Per una panoramica generale del funzionamento di X-Ray e di Servizi AWS altro tipo, Servizi AWS consulta IAM That Work IAM with nella Guida per IAMl'utente.

Puoi usare AWS Identity and Access Management (IAM) per concedere le autorizzazioni X-Ray agli utenti e alle risorse di calcolo del tuo account. IAMcontrolla l'accesso al servizio X-Ray a API livello di applicazione uniforme delle autorizzazioni, indipendentemente dal client (console AWS SDK, AWS CLI) impiegato dagli utenti.

Per utilizzare la console X-Ray per visualizzare mappe e segmenti di tracciamento, sono necessarie solo le autorizzazioni di lettura. Per abilitare l'accesso alla console, aggiungi la policy AWSXrayReadOnlyAccess gestita al tuo utente. IAM

Per lo sviluppo e il test locali, crea un IAM ruolo con autorizzazioni di lettura e scrittura. Assumi il ruolo e archivia le credenziali temporanee per il ruolo. È possibile utilizzare queste credenziali con il demone X-Ray, il, AWS CLI e il. AWS SDK Per ulteriori informazioni, vedere Utilizzo di credenziali di sicurezza temporanee con. AWS CLI

Per distribuire la tua app strumentata su AWS, crea un IAM ruolo con autorizzazioni di scrittura e assegnalo alle risorse che eseguono l'applicazione. AWSXRayDaemonWriteAccessinclude l'autorizzazione a caricare tracce e alcune autorizzazioni di lettura per supportare l'uso delle regole di campionamento.

Le policy in lettura e in scrittura non includono l'autorizzazione per configurare le impostazioni delle chiavi di cifratura e le regole di campionatura. Utilizzalo AWSXrayFullAccess per accedere a queste impostazioni o aggiungere la configurazione APIs in una politica personalizzata. Per la crittografia e la decodifica con una chiave gestita personalizzata che crei, hai anche bisogno dell'autorizzazione per l'utilizzo della chiave.

Policy basate sull'identità X-Ray

Con le policy IAM basate sull'identità, è possibile specificare azioni e risorse consentite o negate, nonché le condizioni in base alle quali le azioni sono consentite o negate. X-Ray supporta azioni, risorse e chiavi di condizione specifiche. Per maggiori informazioni su tutti gli elementi utilizzati in una JSON policy, consulta IAMJSONPolicy Elements Reference nella Guida per l'IAMutente.

Azioni

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'Actionelemento di una JSON policy descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a una policy. Le azioni politiche in genere hanno lo stesso nome dell' AWS APIoperazione associata. Esistono alcune eccezioni, come le azioni basate solo sulle autorizzazioni che non hanno un'operazione corrispondente. API Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono denominate operazioni dipendenti.

Includi le operazioni in una policy per concedere le autorizzazioni a eseguire l'operazione associata.

Le azioni politiche in X-Ray utilizzano il seguente prefisso prima dell'azione:. xray: Ad esempio, per concedere a qualcuno l'autorizzazione a recuperare i dettagli delle risorse di gruppo con l'operazione GetGroup API X-Ray, includi xray:GetGroup l'azione nella sua politica. Le istruzioni della policy devono includere un elemento Action o NotAction. X-Ray definisce il proprio set di azioni che descrivono le attività che è possibile eseguire con questo servizio.

Per specificare più azioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

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

È possibile specificare più azioni tramite caratteri jolly (*). Ad esempio, per specificare tutte le azioni che iniziano con la parola Get, includi la seguente azione:

"Action": "xray:Get*"

Per visualizzare un elenco delle azioni X-Ray, vedere Azioni definite da AWS X-Ray nella Guida per l'IAMutente.

Risorse

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Resource JSON policy specifica l'oggetto o gli oggetti a cui si applica l'azione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource. Come best practice, specifica una risorsa utilizzando il relativo Amazon Resource Name (ARN). Puoi eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, note come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorsa, ad esempio le operazioni di elenco, utilizza un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

Puoi controllare l'accesso alle risorse utilizzando una IAM policy. Per le azioni che supportano le autorizzazioni a livello di risorsa, utilizzi un Amazon Resource Name (ARN) per identificare la risorsa a cui si applica la policy.

Tutte le azioni X-Ray possono essere utilizzate in una IAM policy per concedere o negare agli utenti l'autorizzazione a utilizzare quell'azione. Tuttavia, non tutte le azioni X-Ray supportano le autorizzazioni a livello di risorsa, che consentono di specificare le risorse su cui è possibile eseguire un'azione.

Per le operazioni che non supportano le autorizzazioni a livello di risorsa, è necessario utilizzare "*" come risorsa.

Le seguenti azioni X-Ray supportano le autorizzazioni a livello di risorsa:

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

Di seguito è riportato un esempio di policy di autorizzazione basata su identità per un’operazione CreateGroup. L'esempio mostra l'uso di un nome ARN relativo al gruppo local-users con l'ID univoco come jolly. L’ID univoco viene generato quando il gruppo viene creato, quindi non può essere previsto nella policy in anticipo. Quando si utilizza GetGroupUpdateGroup, oDeleteGroup, è possibile definirlo come un carattere jolly o come ID esattoARN, incluso.

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

Di seguito è riportato un esempio di policy di autorizzazione basata su identità per un’operazione CreateSamplingRule.

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

Il valore ARN di una regola di campionamento è definito dal suo nome. A differenza del gruppoARNs, le regole di campionamento non hanno un ID generato in modo univoco.

Per visualizzare un elenco dei tipi di risorse X-Ray e relativiARNs, vedere Resources Defined by AWS X-Ray nella Guida per l'IAMutente. Per sapere con quali azioni è possibile specificare le caratteristiche ARN di ciascuna risorsa, vedere Azioni definite da AWS X-Ray.

Chiavi di condizione

X-Ray non fornisce chiavi di condizione specifiche del servizio, ma supporta l'utilizzo di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione AWS globali, consulta AWS Global Condition Context Keys nella Guida per l'IAMutente.

Esempi

Per visualizzare esempi di policy basate sull'identità a raggi X, vedere. AWS X-Ray esempi di politiche basate sull'identità

Policy basate sulle risorse X-Ray

X-Ray supporta politiche basate sulle risorse per l'integrazione attuale e futura Servizio AWS , come Amazon active tracing. SNS Le policy basate sulle risorse X-Ray possono essere aggiornate da altri utenti o tramite la sala AWS Management Console operatoria. AWS SDK CLI Ad esempio, la SNS console Amazon tenta di configurare automaticamente una politica basata sulle risorse per l'invio di tracce a X-Ray. Il seguente documento sulla policy fornisce un esempio di configurazione manuale delle policy basate sulle risorse X-Ray.

Esempio di policy basata su risorse X-Ray per il tracciamento attivo di Amazon SNS

Questo documento di policy di esempio specifica le autorizzazioni di cui Amazon SNS ha bisogno per inviare dati di traccia a 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" } } } ] }

Usa CLI per creare una policy basata sulle risorse che conceda ad Amazon le SNS autorizzazioni per inviare dati di traccia a 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" } } } ] }'

Per utilizzare questi esempi, sostituisci partition, Regione, account-ide nome dell'argomento con la AWS partizione, la regione, l'ID dell'account e il nome dell'SNSargomento Amazon specifici. Per consentire a tutti gli SNS argomenti di Amazon di inviare dati di traccia a X-Ray, sostituisci il nome dell'argomento con. *

Autorizzazione basata su tag X-Ray

È possibile allegare tag ai gruppi di raggi X o alle regole di campionamento oppure passare i tag in una richiesta a X-Ray. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione xray:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sull'etichettatura delle risorse X-Ray, vedere. Etichettatura delle regole e dei gruppi di campionamento a raggi X

Per visualizzare una policy basata sulle identità di esempio per limitare l'accesso a una risorsa basata su tag su tale risorsa, consulta Gestione dell'accesso ai gruppi X-Ray e alle regole di campionamento basate sui tag.

Esecuzione locale dell'applicazione

L'applicazione strumentata invia i dati di traccia al demone X-Ray. Il daemon memorizza i documenti segmentati e li carica sul servizio X-Ray in batch. Il demone necessita di autorizzazioni di scrittura per caricare dati di traccia e telemetria sul servizio X-Ray.

Quando eseguite il demone localmente, create un IAM ruolo, assumete il ruolo e memorizzate le credenziali temporanee nelle variabili di ambiente o in un file denominato all'interno di una cartella denominata nella cartella utente. credentials .aws Per ulteriori informazioni, vedere Utilizzo di credenziali di sicurezza temporanee con. AWS CLI

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

Se hai già configurato le credenziali da utilizzare con AWS SDK o AWS CLI, il demone può usarle. Se sono disponibili più profili, il daemon usa il profilo di default.

Esecuzione dell'applicazione in AWS

Quando esegui l'applicazione AWS, usa un ruolo per concedere l'autorizzazione all'EC2istanza Amazon o alla funzione Lambda che esegue il demone.

Per creare un ruolo da utilizzare con X-Ray
  1. Apri la IAMconsole.

  2. Scegli Ruoli.

  3. Scegli Crea nuovo ruolo.

  4. Per Role Name (Nome ruolo) digitare xray-application. Selezionare Next Step (Fase successiva).

  5. Per Tipo di ruolo, scegli Amazon EC2.

  6. Allega la seguente politica gestita per consentire alla tua applicazione di accedere a Servizi AWS:

    • AWSXRayDaemonWriteAccess— Fornisce al demone X-Ray il permesso di caricare dati di traccia.

    Se l'applicazione utilizza il AWS SDK per accedere ad altri servizi, aggiungete politiche che consentano l'accesso a tali servizi.

  7. Selezionare Next Step (Fase successiva).

  8. Selezionare Create Role (Crea ruolo).

Autorizzazioni utente per la crittografia

X-Ray crittografa tutti i dati di traccia e, per impostazione predefinita, è possibile configurarlo per utilizzare una chiave gestita dall'utente. Se scegli una chiave gestita AWS Key Management Service dal cliente, devi assicurarti che la politica di accesso della chiave consenta di concedere l'autorizzazione a X-Ray per utilizzarla per la crittografia. Anche gli altri utenti del tuo account devono accedere alla chiave per visualizzare i dati di traccia crittografati nella console X-Ray.

Per una chiave gestita dal cliente, configura la chiave con una politica di accesso che consenta le seguenti azioni:

  • L'utente che configura la chiave in X-Ray è autorizzato a kms:CreateGrant chiamare e. kms:DescribeKey

  • Gli utenti che accedono ai dati di tracciamento crittografati hanno l'autorizzazione di chiamare kms:Decrypt.

Quando aggiungi un utente al gruppo Key users nella sezione di configurazione delle chiavi della IAM console, dispone dell'autorizzazione per entrambe queste operazioni. L'autorizzazione deve essere impostata solo sulla politica chiave, quindi non è necessaria alcuna AWS KMS autorizzazione per utenti, gruppi o ruoli. Per ulteriori informazioni, consulta Using Key Policies nella AWS KMS Developer Guide.

Per la crittografia predefinita, o se scegli AWS managed CMK (aws/xray), l'autorizzazione si basa su chi ha accesso a X-RayAPIs. Tutti gli utenti con accesso a PutEncryptionConfig, inclusi in AWSXrayFullAccess, possono modificare la configurazione della crittografia. Per impedire a un utente di modificare la chiave crittografica, non assegnargli l'autorizzazione ad utilizzare PutEncryptionConfig.