Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo puedo solucionar los errores del uso compartido de paneles entre cuentas en CloudWatch?

5 minutos de lectura
0

Quiero recurrir al uso compartido de paneles entre cuentas para compartir mi panel de Amazon CloudWatch con otra cuenta de AWS.

Breve descripción

Puede crear paneles entre cuentas o entre regiones para compartir sus datos de CloudWatch con varias cuentas de AWS y en varias regiones de AWS. Al utilizar los ID de cuentas u organizaciones para compartir un panel de una cuenta de AWS con otra cuenta, es posible que se produzcan varios problemas:

  • El usuario de la cuenta de supervisión no puede ver ni seleccionar el ID de la cuenta en la cuenta compartida para ver el panel.
  • Al acceder al panel, el usuario de supervisión recibe un error debido a problemas de permisos en la cuenta compartida. Estos errores incluyen los siguientes ejemplos:
    No se pudieron recuperar las alarmas
    No se pudieron recuperar los grupos de recursos
    Usuario no autorizado

Resolución

En estos ejemplos, una cuenta comparte un panel con otra cuenta mediante varios ID de cuenta o ID de organización. La cuenta compartida tiene el ID 111111111111. 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 compartido, active un selector de cuentas para cada usuario de AWS Identity and Access Management (IAM) de la cuenta de supervisión. Los selectores de ID de cuenta solo son visibles para los usuarios de IAM que hayan activado un selector de cuentas en la configuración de su CloudWatch. Para obtener más información, consulte Activar la funcionalidad entre cuentas en CloudWatch.

Se reciben errores al acceder a paneles personalizados desde una cuenta de supervisión

Al intentar acceder a un panel personalizado desde una cuenta de supervisión, pueden aparecer los siguientes errores:

  • Al acceder 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. Póngase en contacto con su administrador si necesita ayuda. Si es administrador, puede proporcionar permisos a sus usuarios o grupos mediante la creación de políticas de IAM."

  • Al acceder 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”». Da error con: "No se pudieron recuperar los grupos de recursos"

  • Al abrir un panel personalizado desde una cuenta compartida:

    "El usuario: arn:aws:sts::999999999999:assumed-role/AWSServiceRoleForCloudWatchCrossAccount/CloudWatchConsole no está autorizado a ejecutar: sts:AssumeRole en el recurso: arn:aws:iam: :111111111111:role/CloudWatch-CrossAccountSharingRole"

    -o-

    "El usuario: arn:aws:sts::999999999999:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole no está autorizado a ejecutar: cloudWatch:ListDashboards en el recurso: arn:aws:cloudwatch::111111111111:dashboard/* porque ninguna política basada en la identidad permite la acción cloudwatch:ListDashboards"

Estos errores se producen porque hay problemas de permisos en el rol de la cuenta compartida. Asegúrese de que la cuenta compartida cumpla las siguientes condiciones:

  • El rol CloudWatch-CrossAccountSharingRole está presente.
  • La cuenta compartida tiene las políticas de confianza correctas.
  • El rol CloudWatch-CrossAccountSharing tiene las siguientes políticas adjuntas: CloudWatchReadOnlyAccess **CloudWatchAutomaticDashboardsAccess:**Faltará esta política si ha desactivado la opción Incluir paneles automáticos de CloudWatch durante el uso compartido de paneles. AWSXrayReadOnlyAccess: Faltará esta política si ha desactivado la opción Incluir acceso de solo lectura de X-Ray para ServiceLens durante el uso compartido de paneles.

Limitar CloudWatch-CrossAccountSharingRole para compartir solo paneles específicos con todas las cuentas de supervisión

Para mostrar todos los paneles de control entre cuentas, use la llamada a la API ListDashboards. ListDashboards no admite permisos específicos de recursos, pero sí la llamada a la API GetDashboard. Por lo tanto, para limitar los paneles que se pueden describir o abrir entre cuentas, edite el rol de IAM CloudWatch-CrossAccountSharingRole en la cuenta compartida de origen:

{
  "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. Sin embargo, si intenta abrir un panel que no esté incluido en esta política, aparecerá un error:

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 iniciar CloudFormationStack para crear el rol requerido CloudWatch-CrossAccountSharingRole en la cuenta compartida

Asegúrese de tener estas políticas asociadas a la función de IAM en la cuenta compartida cuando utilice el panel de control entre cuentas:

  • AWSCloudFormationFullAccess
  • IAMFullAccess

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

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

Al configurar una cuenta compartida para usar funciones entre cuentas, CloudWatch implementa una plantilla de AWS CloudFormation. Convierte esta plantilla de CloudFormation en la plantilla de Terraform correspondiente. Esto le permite activar el intercambio de datos entre cuentas.

Para permitir que su cuenta de supervisión vea los datos entre cuentas en CloudWatch, active un selector de cuentas mediante la consola. Se trata de una configuración por usuario y no se administra a nivel de cuenta. Para obtener más información sobre el ajuste de esta configuración, consulte Activar 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