Je voudrais créer Google Cloud Clés API en utilisant Terraform.
Est-ce possible ?
Je voudrais créer Google Cloud Clés API en utilisant Terraform.
Est-ce possible ?
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.
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 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.