Cómo AWS X-Ray funciona con IAM - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo AWS X-Ray funciona con IAM

Antes de administrar el IAM acceso a X-Ray, debe comprender qué IAM funciones están disponibles para su uso con X-Ray. Para obtener una visión general de cómo Servicios de AWS funcionan X-Ray y otrosIAM, consulte Servicios de AWS That Work with IAM en la Guía del IAM usuario.

Puedes usar AWS Identity and Access Management (IAM) para conceder permisos de X-Ray a los usuarios y los recursos informáticos de tu cuenta. IAMcontrola el acceso al servicio X-Ray a API nivel para aplicar los permisos de manera uniforme, independientemente del cliente (consola AWS SDK, AWS CLI) que empleen sus usuarios.

Para usar la consola X-Ray para ver mapas y segmentos de rastreo, solo necesita permisos de lectura. Para habilitar el acceso a la consola, AWSXrayReadOnlyAccess añada la política gestionada a su IAM usuario.

Para el desarrollo y las pruebas locales, cree un IAM rol con permisos de lectura y escritura. Asuma el rol y almacene las credenciales temporales para el rol. Puede utilizar estas credenciales con el daemon X-Ray AWS CLI, el y el AWS SDK. Para obtener más información, consulte Uso de credenciales de seguridad temporales con AWS CLI.

Para implementar su aplicación instrumentada AWS, cree un IAM rol con permisos de escritura y asígnelo a los recursos que ejecutan su aplicación. AWSXRayDaemonWriteAccessincluye permisos para cargar trazas y algunos permisos de lectura para permitir el uso de reglas de muestreo.

Las políticas de lectura y escritura no incluyen permiso para configurar la configuración de clave de cifrado y reglas de muestreo. Se utiliza AWSXrayFullAccess para acceder a estos ajustes o para añadir la configuración APIs en una política personalizada. Para el cifrado y el descifrado con una clave administrada por el cliente que cree, también necesita permiso para utilizar la clave.

Políticas de X-Ray basadas en identidades

Con las políticas IAM basadas en la identidad, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. X-Ray admite acciones, claves de condición y recursos específicos. Para obtener más información sobre todos los elementos que se utilizan en una JSON política, consulte la Referencia sobre los elementos IAM JSON de la política en la Guía del IAMusuario.

Acciones

Los administradores pueden usar AWS JSON las políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El Action elemento de una JSON política describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de política suelen tener el mismo nombre que la AWS API operación asociada. Hay algunas excepciones, como las acciones que solo permiten permisos y que no tienen una operación coincidente. API También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Las acciones de políticas de X-Ray utilizan el siguiente prefijo antes de la acción: xray:. Por ejemplo, para conceder permiso a alguien para recuperar los detalles de los recursos del grupo con la GetGroup API operación X-Ray, debes incluir la xray:GetGroup acción en su política. Las instrucciones de la política deben incluir un elemento Action o un elemento NotAction. X-Ray define su propio conjunto de acciones que describen las tareas que se pueden realizar con este servicio.

Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:

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

Puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas las acciones que comiencen con la palabra Get, incluya la siguiente acción:

"Action": "xray:Get*"

Para ver una lista de las acciones de X-Ray, consulte Acciones definidas por AWS X-Ray en la Guía del IAM usuario.

Recursos

Los administradores pueden usar AWS JSON políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Resource JSON de política especifica el objeto o los objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso mediante su nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

Puede controlar el acceso a los recursos mediante una IAM política. Para las acciones que admiten permisos a nivel de recurso, utiliza un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política.

Todas las acciones de X-Ray se pueden usar en una IAM política para conceder o denegar a los usuarios el permiso para usar esa acción. Sin embargo, no todas las acciones de X-Ray admiten permisos de nivel de recursos, que le permiten especificar los recursos en los que se puede realizar una acción.

Para las acciones que no admiten permisos de nivel de recursos, debe utilizar "*" como recurso.

Las siguientes acciones de X-Ray admiten permisos de nivel de recursos:

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

A continuación, se muestra un ejemplo de una política de permisos basada en identidad para una acción CreateGroup: En el ejemplo se muestra el uso de un nombre ARN relacionado local-users con el grupo con un identificador único como comodín. El ID único se genera cuando se crea el grupo y, por lo tanto, no puede predecirse en la política con antelación. Si utilizaGetGroup, o UpdateGroupDeleteGroup, puede definirlo como un comodín o el identificador exactoARN, incluido el identificador.

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

A continuación, se muestra un ejemplo de una política de permisos basada en identidad para una acción CreateSamplingRule:

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

La regla ARN de muestreo se define por su nombre. A diferencia del grupoARNs, las reglas de muestreo no tienen un identificador generado de forma única.

Para ver una lista de los tipos de recursos de X-Ray y sus tiposARNs, consulte los recursos definidos por AWS X-Ray en la Guía del IAM usuario. Para saber con qué acciones puede especificar cada recurso, consulte Acciones definidas por AWS X-Ray. ARN

Claves de condición

X-Ray no proporciona ninguna clave de condición específica del servicio, pero sí admite el uso de algunas claves de condición globales. Para ver todas las claves de condición AWS globales, consulte las claves de contexto de condición AWS globales en la Guía del IAM usuario.

Ejemplos

Para ver ejemplos de políticas basadas en identidad de X-Ray, consulte AWS X-Ray ejemplos de políticas basadas en la identidad.

Políticas de X-Ray basadas en recursos

X-Ray apoya políticas basadas en recursos para la Servicio de AWS integración actual y futura, como Amazon SNS Active Tracing. Las políticas basadas en recursos de X-Ray pueden actualizarse por otras personas AWS Management Console o a través del AWS SDK o. CLI Por ejemplo, la SNS consola de Amazon intenta configurar automáticamente una política basada en recursos para enviar trazas a X-Ray. En el siguiente documento de política se proporciona un ejemplo de configuración manual de una política basada en recursos de X-Ray.

ejemplo Ejemplo de política basada en recursos de X-Ray para el rastreo activo de Amazon SNS

En este ejemplo de documento de política se especifican los permisos que Amazon SNS necesita para enviar datos de rastreo 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" } } } ] }

CLIUtilízala para crear una política basada en recursos que otorgue a Amazon SNS permisos para enviar datos de rastreo 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" } } } ] }'

Para usar estos ejemplos, sustituya Partición , región, account-id, y nombre del tema con tu AWS partición, región, ID de cuenta y nombre de SNS tema de Amazon específicos. Para dar permiso a todos los SNS temas de Amazon para enviar datos de rastreo a X-Ray, sustituye el nombre del tema por*.

Autorización basada en etiquetas de X-Ray

Puede adjuntar etiquetas a los grupos o las reglas de muestreo de X-Ray, o pasar las etiquetas en una solicitud a X-Ray. Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición xray:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Para obtener más información acerca del etiquetado de recursos de X-Ray, consulte Etiquetado de reglas de muestreo y grupos de X-Ray.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte Gestión del acceso a los grupos de rayos X y a las reglas de muestreo en función de las etiquetas.

Ejecutar la aplicación de forma local

Su aplicación instrumentada envía datos de rastro al daemon de X-Ray. El daemon almacena en búfer documentos de segmento y los carga en lotes en el servicio X-Ray. El daemon necesita permisos de escritura para cargar los datos de rastro y telemetría en el servicio X-Ray.

Cuando ejecute el daemon localmente, cree un IAM rol, asuma el rol y almacene las credenciales temporales en variables de entorno o en un archivo nombrado credentials dentro de una carpeta denominada .aws en su carpeta de usuario. Para obtener más información, consulte Uso de credenciales de seguridad temporales con AWS CLI.

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

Si ya configuró las credenciales para usarlas con el AWS SDK o AWS CLI, el daemon puede usarlas. En caso de que haya varios perfiles disponibles, el daemon utilizará el perfil predeterminado.

Ejecutar la aplicación en AWS

Cuando ejecutes la aplicación AWS, usa un rol para conceder permiso a la EC2 instancia de Amazon o a la función Lambda que ejecuta el daemon.

Para crear un rol y usarlo con X-Ray
  1. Abra la consola de IAM.

  2. Elija Roles.

  3. Elija Crear nuevo rol.

  4. En Role Name (Nombre del rol), escriba xray-application. Elija Paso siguiente.

  5. En Tipo de función, selecciona Amazon EC2.

  6. Adjunte la siguiente política administrada para que la aplicación tenga acceso a los Servicios de AWS:

    • AWSXRayDaemonWriteAccess— Da permiso al daemon de X-Ray para cargar datos de rastreo.

    Si su aplicación lo utiliza AWS SDK para acceder a otros servicios, añada políticas que concedan el acceso a esos servicios.

  7. Elija Paso siguiente.

  8. Seleccione Crear rol.

Permisos de usuario para cifrado

X-Ray cifra todos los datos de rastro y de forma predeterminada y puede configurarlo para que use una clave que usted administre. Si elige una clave gestionada por el AWS Key Management Service cliente, debe asegurarse de que la política de acceso de la clave le permita conceder permiso a X-Ray para usarla para cifrar. Otros usuarios de su cuenta también tienen que obtener acceso a la clave para ver los datos de rastro cifrados en la consola de X-Ray.

Para una clave administrada por el cliente, configure su clave con una política de acceso que permita las siguientes acciones:

  • El usuario que configura la clave en X-Ray tiene permisos para llamar a kms:CreateGrant y kms:DescribeKey.

  • Los usuarios que pueden tener acceso a los datos de rastreo cifrados tienen permiso para llamar a kms:Decrypt.

Al añadir un usuario al grupo de usuarios clave en la sección de configuración de claves de la IAM consola, dicho usuario tiene permiso para realizar ambas operaciones. El permiso solo debe estar establecido en la política clave, por lo que no necesita ningún AWS KMS permiso para sus usuarios, grupos o funciones. Para obtener más información, consulte Uso de políticas clave en la Guía para AWS KMS desarrolladores.

Para el cifrado predeterminado, o si elige el AWS administrado CMK (aws/xray), el permiso depende de quién tenga acceso a X-RayAPIs. Cualquier persona con acceso a PutEncryptionConfig, incluido en AWSXrayFullAccess, puede cambiar la configuración de cifrado. Para evitar que un usuario cambie la clave de cifrado, no le conceda permiso para utilizar PutEncryptionConfig.