Gérer les événements affectant une organisation

Ce document explique comment utiliser l'API Service Health pour gérer les événements affectant votre organisation.

Personalized Service Health fournit les ressources d'API OrganizationEvents et OrganizationImpacts, qui vous permettent d'obtenir des informations sur les événements qui affectent votre organisation. Parmi ces informations, on peut citer :

  • Événements de santé du service pouvant avoir un impact sur un ou plusieurs projets d'une organisation.
  • Liste des projets qui peuvent être ou sont affectés par un événement affectant votre organisation.

Les ressources de l'API ne reçoivent pas tous les événements qui affectent une organisation, ni ne les affichent dans le tableau de bord Service Health.

Avant de commencer

  1. Activez l'API Service Health pour au moins un projet de votre organisation. Les ressources de l'API OrganizationEvents et OrganizationImpacts n'obtiennent des informations que pour les projets pour lesquels l'API Service Health est activée.
  2. Définissez les autorisations d'accès à l'API Service Health.
  3. Configurez les autorisations IAM (Identity and Access Management) de votre organisation pour utiliser les ressources de l'API OrganizationEvents et OrganizationImpacts. Exécutez la commande suivante :

    gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
      --member {USER|GROUP|SERVICE_ACCOUNT} \
      --role roles/servicehealth.viewer
    

    Pour obtenir votre ORGANIZATION_ID, consultez Obtenir l'ID de ressource de votre organisation.

    Les stratégies IAM accordées à une organisation sont héritées par tous les projets de l'organisation. Ces règles vous permettent d'accéder aux API d'événements de l'organisation et des projets dans l'ensemble de l'organisation.

Références

Consultez la documentation de référence des API OrganizationEvents et OrganizationImpacts pour connaître les méthodes que vous pouvez utiliser et la signification des champs de la réponse.

Lorsque vous définissez le produit ou l'emplacement, utilisez les valeurs indiquées dans Google Cloud products (produits) et locations (emplacements).

Lister les projets d'une organisation susceptibles d'être affectés par un événement

Consultez le guide de démarrage rapide.

Lister tous les incidents actifs d'une organisation

Consultez le guide de démarrage rapide.

Obtenir des informations sur un événement affectant une organisation

Vous pouvez utiliser l'API Get pour afficher des informations détaillées sur un événement affectant une organisation.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • API_VERSION : version de l'API à utiliser. Utilisez v1 ou v1beta.
  • ORGANIZATION_ID: ID de votre organisation Google Cloud.

Méthode HTTP et URL :

GET https://servicehealth.googleapis.com/API VERSION/organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID",
     "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific. We thank you for your patience while we worked on resolving the issue.",
      "category": "INCIDENT",
      "detailedCategory": "CONFIRMED_INCIDENT",
      "state": "CLOSED",
      "detailedState": "RESOLVED",
      "eventImpacts": [
        {
          "product": {
            "productName": "Google Cloud SQL",
            "id": "hV87iK5DcEXKgWU2kDri",
          },
          "location": {
            "locationName": "us-central1",
          }
        }
      ],
   "updates": [
    {
      "updateTime": "2022-10-18T17:41:20.112287Z",
              "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "We are experiencing an intermittent issue with Google Cloud SQL. Our engineering team continues to investigate the issue.",
      "symptom": "None at this time.",
      "workaround": "None at this time."
    },
    {
      "updateTime": "2022-10-18T18:00:05.690761Z",
      "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific.\n\nWe thank you for your patience while we worked on resolving the issue.",
      "symptom": "None at this time.",
      "workaround": "None at this time."
    }
  ],
  "updateTime": "2022-10-18T18:00:05.690761Z",
  "startTime": "2022-10-18T17:41:20.112287Z",
  "endTime":  "2022-10-18T18:00:05.690761Z",
}

Si vous n'êtes pas autorisé à obtenir des événements, l'erreur PERMISSION_DENIED suivante s'affiche.

{
  "error": {
    "code": 403,
    "message": "Permission 'servicehealth.organizationEvents.get' denied on resource '//servicehealth.googleapis.com/organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID' (or it may not exist).",
    "status": "PERMISSION_DENIED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "IAM_PERMISSION_DENIED",
        "domain": "servicehealth.googleapis.com",
        "metadata": {
          "resource": "organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID",
          "permission": "servicehealth.organizationEvents.get"
        }
      }
    ]
  }
}

Pour résoudre cette erreur, définissez les autorisations requises.

Obtenir des informations sur un projet d'une organisation qui peut être affecté par un événement

Pour un événement donné, l'ID de l'événement reste le même entre les événements de votre projet et ceux de votre organisation. OrganizationImpact contient un EVENT_ID et un PROJECT_NUMBER, que vous pouvez utiliser pour obtenir des informations sur un événement affectant votre projet. Ces détails incluent state et relevance.

PROJECT_NUMBER est interchangeable avec PROJECT_ID, que l'API Get renvoie.