Come posso risolvere gli errori relativi alla condivisione di dashboard tra account in CloudWatch?

5 minuti di lettura
0

Desidero utilizzare la condivisione di dashboard tra account per condividere la mia dashboard di Amazon CloudWatch con un altro account AWS.

Breve descrizione

Puoi creare dashboard multi-account o multi-regione per condividere i tuoi dati CloudWatch con più account AWS e in più regioni AWS. Quando utilizzi gli ID dell'account o dell'organizzazione per condividere una dashboard da un account AWS con un altro account, potresti riscontrare una serie di problemi:

  • L'utente dell'account di monitoraggio non può visualizzare o selezionare l'ID account nell'account di condivisione per visualizzare la dashboard.
  • Quando accede alla dashboard, l'utente che effettua il monitoraggio riceve un errore a causa di problemi di autorizzazione nell'account di condivisione. Questi errori includono i seguenti esempi:
    Errore nel recupero degli allarmi
    I gruppi di risorse non possono essere recuperati errori
    Errori utente non autorizzati

Risoluzione

In questi esempi, un account condivide una dashboard con un altro account utilizzando gli ID account o gli ID dell'organizzazione. L'account di condivisione ha l'ID 111111111111. L'account di monitoraggio ha l'ID dell'account 999999999999.

Problemi nella visualizzazione dell'ID dell'account per visualizzare una dashboard da un monitoraggio

Per visualizzare e selezionare la dashboard condivisa, attiva un selettore di account per ogni utente di AWS Identity and Access Management (IAM) nell'account di monitoraggio. I selettori di account ID sono visibili solo per gli utenti IAM che hanno attivato un selettore di account nelle impostazioni di CloudWatch. Per ulteriori informazioni, consulta Attivazione della funzionalità multi-account in CloudWatch.

Errori ricevuti durante l'accesso a dashboard personalizzate da un account di monitoraggio

Quando tenti di accedere a una dashboard personalizzata da un account di monitoraggio, potresti riscontrare i seguenti errori:

  • Quando si accede alla pagina Panoramica nella console CloudWatch:

    "Impossibile recuperare gli allarmi"; Non hai i permessi per eseguire le seguenti operazioni: CloudWatch:DescribeAlarms. Contatta il tuo amministratore se hai bisogno di aiuto. Se sei un amministratore, puoi fornire le autorizzazioni ai tuoi utenti o gruppi creando dei criteri IAM."

  • Quando si accede alla dashboard multi-servizio da account condivisi:

    "Impossibile selezionare un gruppo di risorse nel menu a tendina "Filtra per gruppo di risorse". Restituisce il seguente errore: "Non è stato possibile recuperare i gruppi di risorse"

  • Quando si apre una dashboard personalizzata da un account condiviso:

    "User: "arn:aws:sts::999999999999:assumed-role/AWSServiceRoleForCloudWatchCrossAccount/CloudWatchConsole is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::111111111111:role/CloudWatch-CrossAccountSharingRole"

    -oppure-

    "User: arn:aws:sts::999999999999:assumed-role/CloudWatch-CrossAccountSharingRole/CloudWatchConsole non è autorizzato ad eseguire: cloudwatch:ListDashboards sulla risorsa: arn:aws:cloudwatch::111111111111:dashboard/* perché nessun criterio basato sull'identità permette l'azione cloudwatch:ListDashboards"

Questi errori si verificano a causa di problemi di autorizzazione nel ruolo dell'account di condivisione. Assicurati che l'account di condivisione soddisfi le seguenti condizioni:

  • Il ruolo CloudWatch-CrossAccountSharingRole è presente.
  • L'account di condivisione ha le policy di fiducia corrette.
  • Il ruolo CloudWatch-CrossAccountSharing include le seguenti policy: CloudWatchReadOnlyAccess CloudWatchAutomaticDashboardsAccess: questa policy non è disponibile se hai deselezionato l'opzione Includi i dashboard automatici di CloudWatch durante la condivisione della dashboard. AWSXrayReadOnlyAccess: questa policy non è disponibile se hai deselezionato l'opzione Includi accesso in sola lettura X-Ray per ServiceLens durante la condivisione del pannello di controllo.

Limita CloudWatch-CrossAccountSharingRole per condividere solo dashboard specifici con tutti gli account di monitoraggio

Per elencare tutte le dashboard dai dashboard di più account, utilizza la chiamata API ListDashboards. ListDashboards non supporta le autorizzazioni specifiche per le risorse, ma la chiamata API GetDashboard sì. Pertanto, per limitare le dashboard che possono essere descritte o aperte tra gli account, modifica il ruolo IAM CloudWatch-CrossAccountSharingRole nell'account di condivisione di origine:

{
  "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": "*"
    }
  ]
}

Dopo aver eseguito questo comando, puoi elencare tutti i dashboard. Tuttavia, se provi ad aprire una dashboard che non è menzionata in questa policy, visualizzi un errore:

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

Problemi nell’avvio di CloudFormationStack per creare il CloudWatch-CrossAccountSharingRole richiesto nell'account di condivisione

Assicurati di avere queste policy associate al ruolo IAM nell'account di condivisione quando utilizzi la condivisione su dashboard tra account:

  • AWSCloudFormationFullAccess
  • IAMFullAccess

Queste autorizzazioni ti consentono di avviare l'API CloudFormationStack richiesta per creare i ruoli IAM necessari per la condivisione di dashboard tra account.

Usa TerraForm/CloudFormation/AWS CLI per creare una configurazione di condivisione di dashboard multi-account

Quando imposti un account di condivisione per utilizzare le funzioni multi-account, CloudWatch distribuisce un modello AWS CloudFormation. Converti questo modello CloudFormation in un modello Terraform corrispondente. Ciò consente di attivare la condivisione dei dati tra account.

Per consentire al tuo account di monitoraggio di visualizzare i dati di più account in CloudWatch, attiva un selettore di account utilizzando la console. Si tratta di un'impostazione per utente e non è gestita a livello di account. Per ulteriori informazioni sulla configurazione di questa impostazione, consulta Attivazione della funzionalità tra account in CloudWatch.

Informazioni correlate

Console CloudWatch multi-account e multi-regione

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa