Medium Risk

create_user

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.

create_user can modify Mcp data, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE MCP →

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.

policy.json
{
  "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.

Get this rule live on your own Mcp server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY MCP →

View 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:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so create_user only ever does what you allow.

SECURE MCP →

Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.

What does the create_user tool do? +

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.

How do I enforce a policy on create_user? +

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.

What risk level is create_user? +

create_user is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit create_user? +

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.

How do I block create_user completely? +

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.

What MCP server provides create_user? +

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.

Enforce policy on every Mcp tool call.

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.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.