2

Afin de réduire le risque de perte de données due à des erreurs techniques, comment une base de données clé spécifique peut-elle accorder des autorisations exclusives à un compte de service unique? Ou y a-t-il une meilleure façon de faire cela?Empêcher la suppression accidentelle des bases de données clés

Généralement, plusieurs personnes bénéficient de droits étendus au sein d'un projet sur google cloud. C'est pour qu'ils puissent déployer des services de production, gérer des incidents pagerduty, etc. Pour autant que je sache, il n'est pas possible de soustraire les autorisations déjà accordées. Idéalement, IAM permettrait de supprimer tous les droits d'une base de données à clé unique, sauf pour un compte de service spécifié qui est destiné à y accéder.

Existe-t-il un moyen d'empêcher la suppression d'une base de données google spanner même si les développeurs ont obtenu un accès large (c'est-à-dire propriétaire) au projet?

+0

Je pense que je peux y parvenir si je crée un nouveau projet sur lequel personne n'a réellement d'autorisations et que je crée la base de données google spanner dans ce nouveau projet. Puis-je accorder des autorisations à un compte de service et utiliser les informations d'identification dans l'autre projet? – onionjake

Répondre

1

Pas actuellement. Cependant, à l'avenir, il peut être possible de créer des rôles personnalisés dans IAM, où vous pouvez donner toutes les autorisations sauf celles que vous souhaitez restreindre sur Cloud Spanner. Vous devez ensuite attribuer ce rôle personnalisé aux personnes qui ont besoin d'autorisations de projet étendues, mais pas complètes. Voir la documentation Alpha pour creating and managing custom roles pour plus de détails. Cloud IAM offre également la possibilité de créer des rôles Cloud IAM personnalisés IAM. Vous pouvez créer un rôle Cloud IAM personnalisé avec une ou plusieurs autorisations , puis accorder ce rôle personnalisé aux utilisateurs faisant partie de votre organisation. Cloud IAM fournit une interface utilisateur et une API pour la création et la gestion des rôles personnalisés. En attendant, votre solution de contournement consistant à isoler les instances Spanner dans un projet distinct semble raisonnable.

+0

Il semble que vous pouvez créer un rôle à partir d'un rôle normal, ce qui signifie que je peux en créer un à partir du propriétaire, puis supprimer les autorisations, ce qui est bien! Il n'est pas clair si mon rôle personnalisé basé sur un rôle régulier continuera à hériter des modifications de celui à partir duquel il a été créé. Je vais regarder pour laisser l'alpha. – onionjake

0

Autant que je sache, il n'est pas possible de soustraire les autorisations déjà accordées.

En attendant, vous pouvez essayer de revoke access au compte de rôle largement accessible, et limiter leur accès à Cloud Spanner DatabaseReader | Viewer | rôles databaseuser. Un compte de rôle spécial peut ensuite se voir accorder des autorisations pour le rôle Cloud Spanner Admin | DatabaseAdmin (appartenance à un développeur restreint).