https://cloud.google.com/solutions/authentication-in-http-cloud-functions
Le document suggère de configurer un compartiment Google Cloud Storage. Et puis configurez l'autorisation des comptes de service, "storage.buckets.get", sur le compartiment.
Utilisez ensuite cette autorisation pour authentifier l'accès aux http Google Cloud Functions.
Nous parlons d'authentifier les fonctions du cloud http, mais nous empruntons la permission à un Google Cloud Storage. Il me semble que c'est une solution de piratage.
Si nous pouvons simplement configurer des autorisations directement sur chaque fonction cloud via la console Google Cloud, ce sera parfait.
Utilisez-vous la solution d'authentification suggérée par Google dans le document ci-dessus? Ou vous avez de meilleures approches?
Pour configurer le "" storage.buckets.get ", cela signifie-t-il que j'autorise le compte de service" Storage Object Viewer "?
La solution proposée dans le lien que vous avez apporté ici est en effet l'une des voies. En fait, vous pouvez utiliser n'importe quel autre produit Google Cloud Platform (pas seulement les compartiments de stockage) pour vérifier les autorisations du compte choisi sur celui-ci.
Une alternative qui peut fonctionner est:
'Authorization'
en-tête de la demande HTTP entrante qui contient le jeton généré pour le compte qui a effectué la demande.url = "https://www.googleapis.com/oauth2/v1/tokeninfo?fields=email&access_token
=" + token_from_the_request_header;
Pour utiliser les fonctions cloud, vous devez placer vos modules dans des compartiments. En accordant l'autorisation de compte "storage.buckets.get" au compartiment, vous accordez l'autorisation au compte de service pour déclencher votre fonction cloud HTTP; et de même, vous révoquez l'autorisation en supprimant l'autorisation "storage.buckets.get" d'un autre compte de service.
Pour configurer l'autorisation 'storage.buckets.get' , vous devez sélectionner "Storage Admin" via les rôles standard ou "storage.legacyBucketReader"/"storage.legacyBucketWriter" dans les rôles hérités ou même - définir un rôle personnalisé avec l'autorisation 'storage.buckets.get'.