Create a database user for a Cloud SQL instance. * This tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes. * When you use the create_user tool, specify the type of user: CLOUD_IAM_USER, CLOUD_IAM_SERVICE_ACCOUNT, or BUILT_IN. * By d...
Part of the Mcp server.
Free to start. No card required.
AI agents use create_user to create or modify resources in Mcp. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call create_user repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Mcp.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
{
"version": "1",
"default": "deny",
"tools": {
"create_user": {
"limits": [
{
"counter": "create_user_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} See the full Mcp policy for all 15 tools.
These attack patterns abuse exactly the kind of access create_user gives an agent. Each links to the full case and the policy that stops it:
Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
Create a database user for a Cloud SQL instance. * This tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes. * When you use the create_user tool, specify the type of user: CLOUD_IAM_USER, CLOUD_IAM_SERVICE_ACCOUNT, or BUILT_IN. * By default the newly created user is assigned the cloudsqlsuperuser role, unless you specify other database roles explicitly in the request. * You can use a newly created user with the execute_sql tool if the user is a currently logged in IAM user. The execute_sql tool executes the SQL statements using the privileges of the database user logged in using IAM database authentication. The create_user tool has the following limitations: * To create a built-in user with password, use the password_secret_version field to provide password using the Google Cloud Secret Manager. The value of password_secret_version should be the resource name of the secret version, like projects/12345/locations/us-central1/secrets/my-password-secret/versions/1 or projects/12345/locations/us-central1/secrets/my-password-secret/versions/latest. The caller needs to have secretmanager.secretVersions.access permission on the secret version. * The create_user tool doesn't support creating a user for SQL Server. To create an IAM user in PostgreSQL: * The database username must be the IAM user's email address and all lowercase. For example, to create user for PostgreSQL IAM user example-user@example.com, you can use the following request: { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance":"test-instance", "project": "test-project" } The created database username for the IAM user is example-user@example.com. To create an IAM service account in PostgreSQL: * The database username must be created without the .gserviceaccount.com suffix even though the full email address for the account isservice-account-name@project-id.iam.gserviceaccount.com. For example, to create an IAM service account for PostgreSQL you can use the following request format: { "name": "test@test-project.iam", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } The created database username for the IAM service account is test@test-project.iam. To create an IAM user or IAM service account in MySQL: * When Cloud SQL for MySQL stores a username, it truncates the @ and the domain name from the user or service account's email address. For example, example-user@example.com becomes example-user. * For this reason, you can't add two IAM users or service accounts with the same username but different domain names to the same Cloud SQL instance. * For example, to create user for the MySQL IAM user example-user@example.com, use the following request: { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance": "test-instance", "project": "test-project" } The created database username for the IAM user is example-user. * For example, to create the MySQL IAM service account service-account-name@project-id.iam.gserviceaccount.com, use the following request: { "name": "service-account-name@project-id.iam.gserviceaccount.com", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } The created database username for the IAM service account is service-account-name.. It is categorised as a Write tool in the Mcp MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the MCP server in PolicyLayer and add a rule for create_user: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp. Nothing to install.
create_user is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_user rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_user. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_user is provided by the MCP server (https://sqladmin.googleapis.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 15 Mcp tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.