6 votes

Comment puis-je me déconnecter complètement de Google Cloud ? L'option `gcloud auth revoke --all` ne fonctionne pas.

Se déconnecter de Google Cloud semble comme si ça devait être facile. Si je cours :

$ unset GOOGLE_APPLICATION_CREDENTIALS

$ gcloud auth revoke --all
Revoked credentials:
  - [my account]
$ gcloud auth list

No credentialed accounts.

To login, run:
  $ gcloud auth login `ACCOUNT`

Il a d'abord regarde comme si j'étais complètement déconnecté de gcloud . Mais regardez ce qui se passe lorsque j'ouvre un Shell Python :

>>> from google.cloud import secretmanager_v1beta1 as secretmanager
>>> client = secretmanager.SecretManagerServiceClient()
/Users/my/path/.venv/lib/python3.7/site-packages/google/auth/_default.py:66: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues to use end user credentials from Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error. For more information about service accounts, see https://cloud.google.com/docs/authentication/
  warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)
>>> path = client.secret_version_path(project="my-project-name", secret="my-secret", secret_version="latest")
>>> secret = client.access_secret_version(path)
>>> secret.payload.data.decode()
"Oh, no! I should be secret!"

Comme vous pouvez le voir, même si j'ai lancé gcloud auth revoke --all Je suis toujours en mesure d'accéder à Google Cloud via le SDK Python en utilisant les informations d'identification de l'utilisateur qui sont stockées quelque part. Existe-t-il un moyen de complètement se déconnecter de Google Cloud sur mon ordinateur portable ?

EDIT : pour clarifier davantage : aucun fichier JSON de compte Google Cloud Service n'est enregistré sur cet ordinateur, et j'ai désactivé l'option GOOGLE_APPLICATION_CREDENTIALS variable d'environnement.

9voto

Je ne suis pas sûr que cela puisse vous aider, mais j'ai rencontré un problème similaire. Une fois que j'avais révoqué toutes les informations d'identification en utilisant la commande "gcloud auth revoke --all", j'étais toujours capable d'exécuter scripts contre mon environnement. En fin de compte, j'ai trouvé le fichier des informations d'identification par défaut de l'application dans ~/.config/gcloud/application_default_credentials.json. Renommer / Supprimer ce fichier permet de supprimer la capacité de la bibliothèque client à l'authentification. Je n'obtiens pas le résultat suivant

  File "audit_test.py", line 8, in main
    client = resource_manager.Client()
  File "fake_path/python3.7/site-packages/google/cloud/resource_manager/client.py", line 72, in __init__
    super(Client, self).__init__(credentials=credentials, _http=_http)
  File "fake_path/python3.7/site-packages/google/cloud/client.py", line 132, in __init__
    credentials, _ = google.auth.default()
  File "fake_path/python3.7/site-packages/google/auth/_default.py", line 321, in default
    raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application. For more information, please see https://cloud.google.com/docs/authentication/getting-started

-1voto

guneetgstar Points 111

Comme commenté ci-dessus par AjahnCharles , gcloud auth application-default revoke fonctionne. Il suffit d'appuyer sur la commande et cela supprimera le application-default crédits. Voyez la différence aquí . J'ai eu le même problème et seule cette solution a fonctionné.

Editar:

Rappelez-vous que vous devez toujours appeler gcloud auth revoke --all como gcloud auth application-default revoke ne supprime que les références par défaut de l'application.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X