Encrypter requires Cloud KMS Decrypt while wrapping a Data Manager DEK
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con google/ads/datamanager_util/encrypt.py alrededor de la llamada a la utilidad citada y, después, inspecciona _proto_keyset_format.py y _keyset_handle.py de Tink en las comprobaciones de serialización y round-trip referenciadas. Determina si una ruta encrypt-only compatible puede conservar los bytes encrypted_dek de la utilidad, o documenta el modelo de permisos requerido. Se considera terminado cuando el comportamiento compatible o las indicaciones sean inequívocos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Upstream report - encrypt-only Data Manager keyset wrapping
Target: googleads/data-manager-python
Title: Encrypter requires Cloud KMS Decrypt while wrapping a Data Manager DEK
Report
The official google-ads-datamanager-util Encrypter cannot be constructed with a least-privilege
Cloud KMS identity that has cloudkms.cryptoKeyVersions.useToEncrypt but not
cloudkms.cryptoKeyVersions.useToDecrypt.
Environment:
googleads/data-manager-pythoncommit
4c8e3ee94854e9fc34c63f9468dcaee20ad02c89(google-ads-datamanager-util==0.4.0rc1)tink[gcpkms]==1.16.0- a Cloud KMS service account restricted to encrypting under one exact KEK
Encrypter._create(...) calls tink.proto_keyset_format.serialize_encrypted(...). Tink encrypts
the serialized keyset with the supplied KMS AEAD and then immediately calls that AEAD's decrypt
method to compare the recovered keyset. Cloud KMS Encrypt succeeds, but the expected Decrypt denial
causes Encrypter construction to fail before any Data Manager request is made.
Relevant source:
Could the utility expose a supported path that produces the same Data Manager encrypted_dek
bytes while requiring only KMS Encrypt from the local identity? If Tink intentionally requires the
round-trip check, guidance on the supported least-privilege permission model would also resolve the
ambiguity.
Tink's public KmsEnvelopeAead.encrypt(...) is not a drop-in replacement: it encrypts raw
KeyData.value, generates a fresh key per payload, and returns a length-prefixed combined envelope
ciphertext rather than the serialized process-lifetime EncryptedKeyset emitted by the utility.
We deliberately did not grant temporary Decrypt, fabricate a Decrypt result, patch Tink, or assemble
the secret-keyset envelope manually. No Data Manager RPC was attempted and no customer data is
involved in this report.
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 4
- Forks
- 1
- Merge medio
- 11 h 45 min
- PR fusionados (30 d)
- 2
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de googleads/data-manager-python
-
Dependency Dashboard Abiertotype: process
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Todos los issues de googleads/data-manager-python
Issues similares
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Abiertobug ecr
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
docs-from-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
microsoft/aspire.dev#1734 ·
-
[BUG] Abiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
openwallet-foundation/eudiplo#1067 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
hashicorp/go-azure-helpers#286 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
akash-network/community#1526 ·