AWS X-Ray ejemplos de políticas basadas en identidad de
De forma predeterminada, los usuarios y roles no tienen permiso para crear, ver ni modificar recursos de X-Ray. Tampoco pueden realizar tareas mediante la AWS Management Console, la AWS CLI o la API de AWS. Un administrador debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe adjuntar esas políticas a los usuarios o grupos que necesiten esos permisos.
Para obtener información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.
Temas
- Prácticas recomendadas relativas a políticas
- Uso de la consola de X-Ray
- Permitir a los usuarios consultar sus propios permisos
- Gestión del acceso a los grupos de rayos X y a las reglas de muestreo en función de las etiquetas
- Políticas administradas por IAM para X-Ray
- Actualizaciones de ACM en las políticas administradas por AWS
- Especificación de un recurso en una política de IAM
Prácticas recomendadas relativas a políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de X-Ray de la cuenta. Estas acciones pueden generar costes adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
-
Comience con las políticas administradas por AWSy continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo en la Guía de usuario de IAM.
-
Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte Políticas y permisos en IAM en la Guía del usuario de IAM.
-
Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, AWS CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.
-
Utilice el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulta Política de validación de Analizador de acceso de IAM en la Guía de usuario de IAM.
-
Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para más información, consulta Configuración del acceso a una API protegido por MFA en la Guía de usuario de IAM.
Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.
Uso de la consola de X-Ray
Para acceder a la consola de AWS X-Ray, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle registrar y consultar los detalles acerca de los recursos de ACM en su Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.
Para asegurarse de que esas entidades puedan seguir utilizando la consola de X-Ray, adjunte también una política administrada AWSXRayReadOnlyAccess
de AWS a las entidades. Esta política se describe con más detalle en las políticas administradas por IAM para X-Ray. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM.
No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.
Permitir a los usuarios consultar sus propios permisos
En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Gestión del acceso a los grupos de rayos X y a las reglas de muestreo en función de las etiquetas
Puede utilizar las condiciones de su política basada en la identidad para controlar el acceso a los grupos y reglas de muestreo de X-Ray basados en etiquetas. El siguiente ejemplo de política podría utilizarse para denegar a un rol de usuario los permisos para crear, eliminar o actualizar grupos con las etiquetas stage:prod
ostage:preprod
. Para obtener más información sobre el etiquetado de las reglas y grupos de muestreo de rayos X, consulte Etiquetado de reglas de muestreo y grupos de X-Ray.
Para denegar a un usuario el acceso para crear, actualizar o eliminar un grupo con una etiqueta stage:prod
o stage:preprod
asignarle un rol con una política similar a la siguiente.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllXRay",
"Effect": "Allow",
"Action": "xray:*",
"Resource": "*"
},
{
"Sid": "DenyCreateGroupWithStage",
"Effect": "Deny",
"Action": [
"xray:CreateGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/stage": [
"preprod",
"prod"
]
}
}
},
{
"Sid": "DenyUpdateGroupWithStage",
"Effect": "Deny",
"Action": [
"xray:UpdateGroup",
"xray:DeleteGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/stage": [
"preprod",
"prod"
]
}
}
}
]
}
Para denegar la creación de una regla de muestreo, utilice esta aws:RequestTag
opción para indicar las etiquetas que no se pueden transferir como parte de una solicitud de creación. Para denegar la actualización o la eliminación de una regla de muestreo, utilice esta aws:ResourceTag
opción para denegar las acciones basadas en las etiquetas de esos recursos.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllXRay",
"Effect": "Allow",
"Action": "xray:*",
"Resource": "*"
},
{
"Sid": "DenyCreateSamplingRuleWithStage",
"Effect": "Deny",
"Action": "xray:CreateSamplingRule",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/stage": [
"preprod",
"prod"
]
}
}
},
{
"Sid": "DenyUpdateSamplingRuleWithStage",
"Effect": "Deny",
"Action": [
"xray:UpdateSamplingRule",
"xray:DeleteSamplingRule"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/stage": [
"preprod",
"prod"
]
}
}
}
]
}
Puede adjuntar estas políticas (o combinarlas en una sola política y, a continuación, adjuntar la política) a los usuarios de su cuenta. Para que el usuario realice cambios en un grupo o regla de muestreo, el grupo o la regla de muestreo no debe estar etiquetado stage=prepod
o stage=prod
. La clave de la etiqueta de condición Stage
coincide con los nombres de las claves de condición Stage
y stage
porque no distinguen entre mayúsculas y minúsculas. Para obtener más información acerca de las claves de condición, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.
Un usuario con un rol que tenga la siguiente política adjunta no puede agregar la etiqueta role:admin
a los recursos ni eliminar etiquetas de un recurso que esté role:admin
asociada a ella.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllXRay",
"Effect": "Allow",
"Action": "xray:*",
"Resource": "*"
},
{
"Sid": "DenyRequestTagAdmin",
"Effect": "Deny",
"Action": "xray:TagResource",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/role": "admin"
}
}
},
{
"Sid": "DenyResourceTagAdmin",
"Effect": "Deny",
"Action": "xray:UntagResource",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/role": "admin"
}
}
}
]
}
Políticas administradas por IAM para X-Ray
A fin de facilitar la concesión de permisos, IAM admite políticas administradas en cada servicio. Un servicio puede actualizar estas políticas administradas con nuevos permisos al lanzar nuevas API. AWS X-Ray proporciona políticas administradas de solo lectura, solo escritura y casos de uso de administrador.
-
AWSXrayReadOnlyAccess
: permisos de lectura para usar la consola de X-Ray, AWS CLI o el SDK de AWS para obtener datos de rastro, mapas de rastros, información y configuración de X-Ray desde la API de X-Ray. Incluye Observability Access Manager (OAM)oam:ListSinks
yoam:ListAttachedSinks
permisos que permiten a la consola ver los rastros compartidos desde las cuentas de origen como parte de la observabilidad entre cuentas de CloudWatch. Las acciones APIBatchGetTraceSummaryById
yGetDistinctTraceGraphs
no están diseñadas para que puedan invocarse desde el código y no están incluidas en la AWS CLI o los SDK de AWS.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries", "xray:BatchGetTraces", "xray:BatchGetTraceSummaryById", "xray:GetDistinctTraceGraphs", "xray:GetServiceGraph", "xray:GetTraceGraph", "xray:GetTraceSummaries", "xray:GetGroups", "xray:GetGroup", "xray:ListTagsForResource", "xray:ListResourcePolicies", "xray:GetTimeSeriesServiceStatistics", "xray:GetInsightSummaries", "xray:GetInsight", "xray:GetInsightEvents", "xray:GetInsightImpactGraph", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } }
-
AWSXRayDaemonWriteAccess
: permisos de escritura para usar el daemon de X-Ray, AWS CLI o el SDK de AWS para cargar documentos de segmentos y telemetría a la API de X-Ray. Incluye permisos de lectura para obtener reglas de muestreo y notificar los resultados de muestreo.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries" ], "Resource": [ "*" ] } ] }
-
AWSXrayCrossAccountSharingConfiguration
: otorga permisos para crear, administrar y ver los enlaces de Observability Access Manager para compartir los recursos de X-Ray entre cuentas. Se utiliza para permitir la observabilidad multicuenta de CloudWatch entre las cuentas de origen y de supervisión.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:Link", "oam:ListLinks" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oam:DeleteLink", "oam:GetLink", "oam:TagResource" ], "Resource": "arn:aws:oam:*:*:link/*" }, { "Effect": "Allow", "Action": [ "oam:CreateLink", "oam:UpdateLink" ], "Resource": [ "arn:aws:oam:*:*:link/*", "arn:aws:oam:*:*:sink/*" ] } ] }
-
AWSXrayFullAccess
: permiso para usar todas las API de X-Ray, incluidos los permisos de lectura, los permisos de escritura y el permiso para configurar las claves de cifrado y las reglas de muestreo. Incluye Observability Access Manager (OAM)oam:ListSinks
yoam:ListAttachedSinks
permisos que permiten a la consola ver los rastros compartidos desde las cuentas de origen como parte de la observabilidad entre cuentas de CloudWatch.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:*", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } ] }
Para añadir una política administrada a un usuario, un grupo o un rol de IAM
-
Abra la consola de IAM
. -
Abra el rol asociado a su perfil de instancia, al usuario de IAM o al grupo de usuarios de IAM.
-
En Permissions (Permisos), asocia la política administrada.
Actualizaciones de ACM en las políticas administradas por AWS
Es posible consultar los detalles sobre las actualizaciones de las políticas administradas de AWS para X-Ray debido a que este servicio comenzó a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página del historial de documentos de X-Ray.
Cambio | Descripción | Fecha |
---|---|---|
Políticas administradas por IAM para X-Ray: se agregaron nuevas políticas |
X-Ray agregó permisos de Observability Access Manager (OAM) |
27 de noviembre de 2022 |
Políticas administradas por IAM para X-Ray: actualización de la política |
X-Ray agregó una acción de API, |
15 de noviembre de 2022 |
Uso de la consola X-Ray: actualización de la política |
X-Ray agregó dos nuevas acciones de API Estas acciones API no se han diseñado para que se llamen desde el código. Por lo tanto, estas acciones de API no se incluyen en la AWS CLI ni en los SDK de AWS. |
11 de noviembre de 2022 |
Especificación de un recurso en una política de IAM
Puede controlar el acceso a los recursos a través de una política de IAM. Para las acciones que admiten permisos de nivel de recursos, se usa un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política.
Es posible utilizar todas las acciones de X-Ray en una política de IAM para conceder o denegar permiso a los usuarios para utilizar 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
: El ejemplo muestra el uso de un ARN relacionado con el nombre de grupo local-users
con el ID único como elemento 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. Cuando se utiliza GetGroup
, UpdateGroup
o DeleteGroup
, puede definir esto como un elemento comodín o el ARN exacto, incluido el ID.
{ "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
El ARN de una regla de muestreo se define por su nombre. A diferencia de los ARN de grupo, las reglas de muestreo no tienen un ID generado de manera inequívoca.