¿Cómo se solucionan los errores de uso compartido de paneles entre cuentas en CloudWatch?

5 minutos de lectura
0

Deseo compartir el panel de Amazon CloudWatch con otra cuenta de AWS mediante el uso compartido de paneles entre cuentas. ¿Cómo se pueden solucionar los errores que se producen al compartir el panel entre cuentas?

Descripción breve

Puede crear paneles entre cuentas o regiones para compartir los datos de CloudWatch con varias cuentas de AWS y en varias regiones de AWS. Hay varios motivos por los que se pueden producir problemas al compartir un panel creado en una cuenta con otra cuenta mediante los ID de cuenta u organización. Es posible que se produzca uno de los siguientes problemas:

  • El usuario de la cuenta de supervisión no puede ver o seleccionar el ID de la cuenta en la cuenta de uso compartido para ver el panel.
  • El usuario de supervisión recibe un error similar al siguiente cuando accede al panel debido a problemas de permisos en la cuenta de uso compartido:
  • Errores en la recuperación de alarmas
  • Errores en la recuperación de los grupos de recursos
  • Errores de usuarios no autorizados

Resolución

En estos ejemplos, una cuenta comparte un panel con otra cuenta mediante ID de cuenta o ID de organización. La cuenta de uso compartido tiene el ID 1111111111. La cuenta de supervisión tiene el ID de cuenta 999999999999.

Problemas al ver el ID de la cuenta para ver un panel desde una supervisión

Para ver y seleccionar el panel que se comparte, debe habilitar un selector de cuentas para cada usuario de AWS Identity and Access Management (IAM) en la cuenta de supervisión. Los selectores de ID de cuenta solo son visibles para los usuarios de IAM que hayan habilitado un selector de cuenta en su configuración de CloudWatch. Para obtener más información sobre la habilitación de un selector de cuentas en CloudWatch, consulte Habilitar la funcionalidad entre cuentas en CloudWatch.

Errores recibidos al acceder a los paneles personalizados desde una cuenta de supervisión

Es posible que se produzca un error al intentar acceder a un panel personalizado desde una cuenta de supervisión.

  • Cuando se accede a la página de Información general en la consola de CloudWatch:

“No se pudieron recuperar las alarmas; No tiene permisos para realizar las siguientes operaciones: CloudWatch:DescribeAlarms. Contacte al administrador en caso de necesitar ayuda. Si es administrador, puede conceder permisos a los usuarios o grupos mediante la creación de políticas de IAM”.

  • Al obtener acceso al panel entre servicios desde cuentas compartidas::

“No se puede seleccionar ningún grupo de recursos en el menú desplegable “Filtrar por grupo de recursos”. Aparece el siguiente error: “No se pudieron recuperar los grupos de recursos”.

  • Al abrir un panel personalizado desde una cuenta compartida:

“El usuario: “arn:aws:sts::9999999999:assumed-role/AWSServiceRoleForCloudWatchCrossAccount/CloudWatchConsole no está autorizado para realizar: sts:AssumeRole en el recurso: arn:aws:iam::1111111111:role/CloudWatch-CrossAccountSharingRole”

o bien

“El usuario: arn:aws:sts::9999999999:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole no está autorizado para realizar: cloudwatch:ListDashboards en el recurso: arn:aws:cloudwatch::1111111111:dashboard/* porque ninguna política basada en la identidad permite la acción cloudwatch:ListDashboards”

Estos errores se producen debido a que hay problemas de permisos en el rol que se creó en la cuenta de uso compartido. Asegúrese de que la cuenta de uso compartido sigue estos criterios:

  • CloudWatch-CrossAccountSharingRole está presente.
  • La cuenta de uso compartido cuenta con las políticas de confianza correctas, tal y como se detalla en Habilitar la funcionalidad entre cuentas en CloudWatch.
  • El rol CloudWatch-CrossAccountSharing tiene estas políticas asociadas:
  • CloudWatchReadOnlyAccess
  • CloudWatchAutomaticDashboardsAccess: esta política falta si se ha desactivado la opción Incluir paneles automáticos de CloudWatch durante el uso compartido de paneles.
  • AWSXrayReadOnlyAccess: esta política falta si se ha desactivado la opción Incluir acceso de solo lectura a X-Ray para ServiceLens durante el uso compartido de paneles.

Limitar a los usuarios de una cuenta de supervisión el acceso a paneles específicos

Para enumerar todos los paneles a partir de los paneles entre cuentas, utilice la llamada a la API ListDashboards. Sin embargo, la API ListDashboards no admite permisos específicos para los recursos. Sin embargo, la llamada a la API GetDashboard sí admite permisos específicos para los recursos, de modo que puede limitar los paneles que se pueden describir o abrir en las cuentas.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": "cloudwatch:GetDashboard",
      "Resource": "arn:aws:cloudwatch::111111111111:dashboard/dashboard-name"
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "autoscaling:Describe*",
        "cloudwatch:Describe*",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetInsightRuleReport",
        "cloudwatch:GetMetricWidgetImage",
        "cloudwatch:ListMetrics",
        "cloudwatch:ListTagsForResource",
        "cloudwatch:ListDashboards",
        "logs:Get*",
        "logs:List*",
        "logs:StartQuery",
        "logs:StopQuery",
        "logs:Describe*",
        "logs:TestMetricFilter",
        "logs:FilterLogEvents",
        "sns:Get*",
        "sns:List*"
      ],
      "Resource": "*"
    }
  ]
}

Después de ejecutar este comando, puede enumerar todos los paneles. Pero, si intenta abrir un panel que no se menciona en esta política, aparece un error como:

User: arn:aws:sts::111111111111:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole is not authorized to perform: cloudwatch:GetDashboard on resource: arn:aws:cloudwatch::111111111111:dashboard/test

Problemas al lanzar CloudFormationStack para crear el CloudWatch-CrossAccountSharingRole requerido en la cuenta de uso compartido

Asegúrese de que tiene estas políticas asociadas al rol de IAM en la cuenta de uso compartido al utilizar el uso compartido del panel entre cuentas:

  • AWSCloudFormationFullAccess
  • IAMFullAccess

Estos permisos permiten lanzar la API CloudFormationStack necesaria para crear los roles de IAM que necesita para el uso compartido de paneles entre cuentas.

Utilice Terraform/Cloudformation/AWS CLI para crear una configuración de uso compartido de paneles entre cuentas

Cuando se configura una cuenta de uso compartido para utilizar funciones entre cuentas, CloudWatch implementa una plantilla de AWS CloudFormation. Convierta esta plantilla de CloudFormation en una plantilla de Terraform correspondiente. De este modo, se puede habilitar el uso compartido de datos entre cuentas.

Para que la cuenta de supervisión pueda ver los datos entre cuentas en CloudWatch, habilite un selector de cuentas mediante la consola. Esta es una configuración por usuario y no se administra a nivel de cuenta. Para obtener más información sobre la configuración de este ajuste, consulte Habilitar la funcionalidad entre cuentas en CloudWatch.


Información relacionada

Consola de CloudWatch entre cuentas y regiones

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año