Anteriormente me había autenticado con Google Cloud Platform y todo funcionaba correctamente, sin embargo, de repente, hoy comencé a recibir errores que mencionaban google-gax
en una aplicación de Node:
2023-09-07T18:13:41: Error: 13 INTERNAL: Received RST_STREAM with code 0
2023-09-07T18:13:41: at callErrorFromStatus (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
2023-09-07T18:13:41: at Object.onReceiveStatus (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/client.js:192:76)
2023-09-07T18:13:41: at Object.onReceiveStatus (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
2023-09-07T18:13:41: at Object.onReceiveStatus (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
2023-09-07T18:13:41: at /path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/resolving-call.js:94:78
2023-09-07T18:13:41: at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
2023-09-07T18:13:41: for call at
2023-09-07T18:13:41: at ServiceClientImpl.makeUnaryRequest (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/client.js:160:32)
2023-09-07T18:13:41: at ServiceClientImpl.<anonymous> (/path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)
2023-09-07T18:13:41: at /path/to/app/node_modules/.pnpm/@[email protected]/node_modules/@google-cloud/kms/build/src/v1/key_management_service_client.js:241:29
2023-09-07T18:13:41: at /path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/normalCalls/timeout.js:44:16
2023-09-07T18:13:41: at repeat (/path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/normalCalls/retries.js:80:25)
2023-09-07T18:13:41: at /path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/normalCalls/retries.js:118:13
2023-09-07T18:13:41: at OngoingCallPromise.call (/path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/call.js:67:27)
2023-09-07T18:13:41: at NormalApiCaller.call (/path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/normalCalls/normalApiCaller.js:34:19)
2023-09-07T18:13:41: at /path/to/app/node_modules/.pnpm/[email protected]/node_modules/google-gax/build/src/createApiCall.js:84:30 {
2023-09-07T18:13:41: code: 13,
2023-09-07T18:13:41: details: 'Received RST_STREAM with code 0',
2023-09-07T18:13:41: metadata: Metadata { internalRepr: Map(0) {}, options: {} },
2023-09-07T18:13:41: note: 'Exception occurred in retry method that was not classified as transient'
2023-09-07T18:13:41: }
Y la ejecución gcloud auth list
devolvió No credentialed accounts.
, así que supuse que de alguna manera la autenticación se eliminó/expiró.
Eliminé mi ~/.config/gcloud
e intenté volver a autenticarme:
$ gcloud auth login
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?response_type=code...
Enter authorization code: [...]
You are now logged in as [[email protected]].
Your current project is [None]. You can change this setting by running:
$ gcloud config set project PROJECT_ID
Hasta ahora, todo bien. Parece que me han autenticado correctamente:
$ gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* [email protected]
To set the active account, run:
$ gcloud config set account `ACCOUNT`
Sin embargo, no puedo enumerar los proyectos:
$ gcloud projects list
ERROR: (gcloud.projects.list) HTTPError 403: <!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Your client does not have permission to get URL <code>/v1/projects</code> from this server. <ins>That’s all we know.</ins>
Si configuro manualmente el ID del proyecto, dice:
$ gcloud config set project my_project_id
WARNING: You do not appear to have access to project [my_project_id] or it does not exist.
Are you sure you wish to set property [core/project] to my_project_id?
Do you want to continue (Y/n)? y
Updated property [core/project].
Si elijo y
, aparece el siguiente error en mi aplicación Nodejs:
Error: no se pudieron cargar las credenciales predeterminadas. Navegar ahttps://cloud.google.com/docs/authentication/getting-startedpara más información.
En una computadora diferente, iniciar sesión con el mismo usuario y ejecutar gcloud projects list
funciona correctamente:
$ gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
aaa aaa 123456789012
bbb bbb 123456789012
ccc ccc 123456789012
ddd ddd 123456789012
eee eee 123456789012
fff fff 123456789012
ggg ggg 123456789012
hhh hhh 123456789012
Editar:
También he probado lo siguiente:
- Actualizando gcloud a la última versión
- Creando un nuevo usuario
- Deshabilitar el firewall
- Desactivar apariencia
Respuesta1
Si intenta acceder a un punto final API que no es compatible con el VIP restringido, obtendrá un403 error prohibido.
El contenido de la respuesta para VIP bloqueado es distinto.Error de formato HTMLentonces el problema es un problema de integración VIP restringida.
El rango de direcciones IP restricted.googleapis.com and private.googleapis.com
es 199.36.153.4/30 y 199.36.153.8/30 respectivamente. Las API de Google restringidas solo deben usarse paraServicios soportados por el VIP restringido.
Si restricted.googleapis.com
están en uso, puedes usarconfiguración DNSComo solución, según sus necesidades, actualice el registro CNAME de DNS www.googleapis.com
donde private.googleapis.com
está private.googleapis.com
199.36.153.8/30 y asegúrese de que el acceso privado a la API de Google esté habilitado para la subred o si la máquina virtual tiene una IP externa.Dominios predeterminadostambién se puede utilizar.
Respuesta2
Parece que el problema es que la IP de mi servidor de alguna manera fue bloqueada en Google Cloud. Intenté descargarhttps://packages.cloud.google.com/apt/doc/apt-key.gpgy produce un estado 403 con el siguiente resultado:
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Your client does not have permission to get URL <code>/apt/doc/apt-key.gpg</code> from this server. <ins>That’s all we know.</ins>