If you have a project with the Generative Language API enabled, and service accounts within that project, your service accounts can be used to authenticate with Gemini and begin racking up charges.
There are no IAM roles or permissions required to call the Generative Language API. Someone (or more likely a bot) that is able to get ANY service account credential within your project can start abusing the API immediately and you will get this bill.
I saw $17k of usage in three hours, 104 requests per second, using an unrelated service account which was restricted to using Google Sheets. Gemini doesn’t require IAM at all and completely bypasses permissions, only verifying that the service account key is mathematically valid and the API is enabled within the project.