2 votes

Puis-je créer des clés API GCP à l'aide de Terraform ?

Je voudrais créer Google Cloud Clés API en utilisant Terraform.

Est-ce possible ?

4voto

R. Toma Points 324

Pas encore, mais Google semble travailler à l'exposition d'une API pour la gestion des clés d'API. Le dernier sdk pour le cloud (testé avec la version 287.0.0) a un support alpha, comme ceci :

$ gcloud alpha services api-keys
ERROR: (gcloud.alpha.services.api-keys) Command name argument expected.

Available commands for gcloud alpha services api-keys:

      clone                   *(ALPHA)*  Create a new API key with the same
                              metadata as input key.
      create                  *(ALPHA)*  Create an API key.
      delete                  *(ALPHA)*  Delete an API key.
      describe                *(ALPHA)*  Describe an API key's metadata.
      get-key-string          *(ALPHA)*  Get key string of an API key.
      list                    *(ALPHA)*  Lists API keys.
      lookup                  *(ALPHA)*  Look up resource name of a key string.
      undelete                *(ALPHA)*  Undelete an API key.
      update                  *(ALPHA)*  Update an API key's metadata.

Lors de l'énumération des clés API du projet avec l'option --log-http vous pouvez voir le point de terminaison de l'API utilisé :

$ gcloud alpha services api-keys list --project $PROJECT --log-http
...
==== request start ====
uri: https://apikeys.googleapis.com/v2alpha1/projects/$PROJECT/keys?alt=json
...

Même si le cloud sdk utilise v2alpha1 il existe un v2beta1 disponible. Vérifié comme ceci :

$ curl -s -H"Authorization: Bearer $(gcloud auth print-access-token)" \
   https://apikeys.googleapis.com/v2beta1/projects/$PROJECT/keys
{
  "keys": [
    {
      "name": "projects/REDACTED/keys/REDACTED",
      "displayName": "REDACTED",
      "createTime": "2019-04-15T10:39:53.558Z",
      "updateTime": "2019-04-15T10:40:06.616639Z",
      "restrictions": {
        "androidKeyRestrictions": {},
        "apiTargets": [
          {
            "service": "geocoding_backend"
          }
        ]
      },
      "state": "ACTIVE"
    }
  ]
}

Étant donné que le fournisseur terraform google est généralement assez rapide à ajouter de nouvelles fonctionnalités, je ne peux que supposer que le support sera bientôt disponible. Vous pouvez créer un numéro Github pour montrer votre intérêt. Ou regardez le fournisseur de services bêta Le journal des modifications de l'entreprise.

2voto

guillaume blaquiere Points 33793

De nombreuses personnes utilisent des clés d'API pour sécuriser l'accès aux API. Cependant, Google considère que ce type d'authentification n'est pas sécurisé (la clé API ne tourne jamais par rapport à un jeton OAuth qui a une durée de vie d'une heure). Si votre secret d'authentification est volé, avec une clé API l'effet est illimité dans le temps).

C'est pourquoi, pour décourager cette mauvaise utilisation, vous ne pouvez pas facilement générer (et aussi valider) les clés API, je veux dire, il n'y a pas d'API publique à appeler pour créer ou vérifier les clés API. Et donc, terraform ne peut pas effectuer cette tâche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X