ESEN

← Letra chica por examen

Google Cloud · Associate

ACE · Associate Cloud Engineer

Google Cloud Certified - Associate Cloud Engineer

Despliegue desde CI sin secretos (federación OIDC)

Operación● verificado hace 34 días◌ sin revisor externo

Un pool borrado bloquea su ID durante unos 30 días

Pools y providers se borran en modo soft delete y se eliminan de verdad a los ~30 días. Mientras tanto no podés crear otro con el mismo ID, así que un terraform destroy seguido de apply con el mismo pool_id falla. Las salidas son restaurarlo (undelete) e importarlo, o usar otro ID. Para entornos efímeros, generá el ID con un sufijo.

⚑ Reportar desactualizado

Ver en el patrón →

IAM● verificado hace 34 días◌ sin revisor externo

El acceso directo sin service account no funciona con todos los servicios

Se puede dar roles directamente al principal federado, sin service account. Pero algunas APIs tienen limitaciones con identidades federadas y para esas hay que impersonar una service account. Este módulo impersona: funciona con todo y deja un solo lugar donde auditar permisos. Para esa ruta Google pide habilitar cuatro APIs: IAM, Resource Manager, Service Account Credentials y Security Token Service.

⚑ Reportar desactualizado

Ver en el patrón →

Confiabilidad● verificado hace 34 días◌ sin revisor externo

Los principals usan el número de proyecto, y los permisos tardan minutos en propagarse

Al otorgar roles a identidades externas se usa el número de proyecto, no el ID: el principalSet es principalSet://iam.googleapis.com/projects/NÚMERO_DE_PROYECTO/locations/global/workloadIdentityPools/.... Además, un cambio de IAM suele aplicarse en 2 minutos pero puede tardar 7 o más.

⚑ Reportar desactualizado

Ver en el patrón →

DNS privado híbrido (on-premises ↔ nube)

Red● verificado hace 34 días◌ sin revisor externo

La inbound policy toma una IP de cada subnet, no una por región ni dos por endpoint

No hay endpoints que dimensionar: la policy reserva una IP interna del rango primario de cada subnet de la VPC (menos las de propósito especial), así que una VPC con muchas subnets tiene muchas IPs de entrada. Lo que cuenta para la respuesta es la región del túnel o attachment por donde llegó la consulta, no la de la subnet de la IP. Poné la policy en la VPC que tiene la VPN o el Interconnect.

⚑ Reportar desactualizado

Ver en el patrón →

Ingesta privada de objetos con expiración (TTL)

Costo● verificado hace 34 días◌ sin revisor externo

Soft delete viene activo por default (7 días) y encarece los datos efímeros

Todos los buckets tienen soft delete con 7 días de retención salvo que lo cambies. Un objeto que vive una hora se cobra esa hora más 7 días de soft delete. En un bucket de ingesta con TTL eso puede multiplicar el costo. El módulo lo pone en 0 por default (deshabilitado) y lo deja como variable explícita.

⚑ Reportar desactualizado

Ver en el patrón →

Ver en el patrón →

IAM● verificado hace 34 días◌ sin revisor externo

roles/storage.objectCreator no alcanza para sobrescribir

Sobrescribir un objeto existente requiere storage.objects.delete, que objectCreator no tiene. Para ingesta es una ventaja (un productor comprometido no puede pisar archivos), pero rompe clientes que reintentan con el mismo nombre. En S3, s3:PutObject sí sobrescribe.

⚑ Reportar desactualizado

Ver en el patrón →

Seguridad● verificado hace 34 días◌ sin revisor externo

Uniform bucket-level access + public access prevention son el par a declarar

UBLA deshabilita las ACLs por objeto (equivalente a BucketOwnerEnforced en S3) y es requisito para usar IAM Conditions. Public access prevention "enforced" bloquea allUsers/allAuthenticatedUsers (equivalente a Block Public Access).

⚑ Reportar desactualizado

Ver en el patrón →

Web API privada Zero Trust con PostgreSQL sin contraseñas

IAM● verificado hace 34 días◌ sin revisor externo

En Postgres, el usuario IAM de una Service Account va sin ".gserviceaccount.com"

El nombre del usuario de base es el email de la SA sin el sufijo .gserviceaccount.com (ej. api@proyecto.iam), por el límite de largo de nombres de PostgreSQL. Si lo creás con el email completo, el login falla con un error que parece de permisos.

⚑ Reportar desactualizado

Ver en el patrón →

IAM● verificado hace 34 días◌ sin revisor externo

A diferencia de Azure y AWS, el login IAM se crea por API, sin SQL

google_sql_user con type CLOUD_IAM_SERVICE_ACCOUNT crea el usuario desde Terraform, y además necesitás roles/cloudsql.client y roles/cloudsql.instanceUser en la SA. Lo que sigue siendo SQL son los permisos sobre tablas (GRANT), igual que en las otras nubes.

⚑ Reportar desactualizado

Ver en el patrón →