MCP Tools Reference: cloud-sql

Tool: list_users

Alle Datenbanknutzer für eine Cloud SQL-Instanz auflisten.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool list_users aufrufen.

Curl-Anfrage
curl --location 'https://sqladmin.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_users",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Eingabeschema

SqlUsersListRequest

JSON-Darstellung
{
  "instance": string,
  "project": string,
  "location": string
}
Felder
instance

string

ID der Datenbankinstanz. Die Projekt-ID ist darin nicht enthalten.

project

string

Projekt-ID des Projekts mit der Instanz.

location

string

Optional. Region der Cloud SQL-Instanz.

Ausgabeschema

Antwort zur Nutzerliste.

UsersListResponse

JSON-Darstellung
{
  "kind": string,
  "items": [
    {
      object (User)
    }
  ],
  "nextPageToken": string
}
Felder
kind

string

Dies ist immer sql#usersList.

items[]

object (User)

Liste der Nutzerressourcen in der Instanz.

nextPageToken
(deprecated)

string

Nicht in Verwendung.

Nutzer

JSON-Darstellung
{
  "kind": string,
  "password": string,
  "etag": string,
  "name": string,
  "host": string,
  "instance": string,
  "project": string,
  "type": enum (SqlUserType),
  "iamEmail": string,
  "passwordPolicy": {
    object (UserPasswordValidationPolicy)
  },
  "databaseRoles": [
    string
  ],
  "serverRoles": [
    string
  ],

  // Union field user_details can be only one of the following:
  "sqlserverUserDetails": {
    object (SqlServerUserDetails)
  }
  // End of list of possible types for union field user_details.

  // Union field _dual_password_type can be only one of the following:
  "dualPasswordType": enum (DualPasswordType)
  // End of list of possible types for union field _dual_password_type.

  // Union field _iam_status can be only one of the following:
  "iamStatus": enum (IamStatus)
  // End of list of possible types for union field _iam_status.
}
Felder
kind

string

Dies ist immer sql#user.

password

string

Das Passwort für den Nutzer.

etag

string

Dieses Feld ist veraltet und wird aus einer zukünftigen Version der API entfernt.

name

string

Der Nutzername in der Cloud SQL-Instanz. Kann für update weggelassen werden, da es bereits in der URL angegeben ist.

host

string

Optional. Der Host, von dem aus der Nutzer eine Verbindung herstellen kann. Bei insert-Vorgängen ist der Host standardmäßig ein leerer String. Bei update-Vorgängen wird der Host als Teil der Anfrage-URL angegeben. Der Hostname kann nach dem Einfügen nicht mehr aktualisiert werden. Für eine MySQL-Instanz ist sie erforderlich, für eine PostgreSQL- oder SQL Server-Instanz ist sie optional.

instance

string

Der Name der Cloud SQL-Instanz. Die Projekt-ID ist darin nicht enthalten. Kann für update weggelassen werden, da es bereits in der URL angegeben ist.

project

string

Die Projekt-ID des Projekts, das die Cloud SQL-Datenbank enthält. Der Google Apps-Domain wird gegebenenfalls ein Präfix vorangestellt. Kann für update weggelassen werden, da sie bereits in der URL angegeben ist.

type

enum (SqlUserType)

Der Nutzertyp. Sie bestimmt die Methode zur Authentifizierung des Nutzers bei der Anmeldung. Der Standardwert ist der integrierte Nutzertyp der Datenbank.

iamEmail

string

Optional. Die vollständige E-Mail-Adresse eines IAM-Nutzers. Bei normalen Datenbanknutzern wird dieses Feld nicht ausgefüllt. Gilt nur für MySQL-Datenbanknutzer.

passwordPolicy

object (UserPasswordValidationPolicy)

Richtlinie zur Passwortvalidierung auf Nutzerebene.

databaseRoles[]

string

Optional. Rollenmitgliedschaften des Nutzers

serverRoles[]

string

Optional. Die Serverrollen für die SQL Server-Anmeldung.

Union-Feld user_details. Nutzerdetails für den spezifischen Datenbanktyp user_details können nur einer der folgenden sein:
sqlserverUserDetails

object (SqlServerUserDetails)

Union-Feld _dual_password_type.

Für _dual_password_type ist nur einer der folgenden Werte zulässig:

dualPasswordType

enum (DualPasswordType)

Status des dualen Passworts für den Nutzer.

Union-Feld _iam_status.

Für _iam_status ist nur einer der folgenden Werte zulässig:

iamStatus

enum (IamStatus)

Gibt an, ob eine Gruppe für die IAM-Datenbankauthentifizierung aktiv oder inaktiv ist.

SqlServerUserDetails

JSON-Darstellung
{
  "disabled": boolean,
  "serverRoles": [
    string
  ]
}
Felder
disabled

boolean

Gibt an, ob der Nutzer deaktiviert wurde.

serverRoles[]

string

Gibt die Serverrollen für diesen Nutzer an.

UserPasswordValidationPolicy

JSON-Darstellung
{
  "allowedFailedAttempts": integer,
  "passwordExpirationDuration": string,
  "enableFailedAttemptsCheck": boolean,
  "status": {
    object (PasswordStatus)
  },
  "enablePasswordVerification": boolean
}
Felder
allowedFailedAttempts

integer

Anzahl der zulässigen fehlgeschlagenen Anmeldeversuche, bevor der Nutzer gesperrt wird.

passwordExpirationDuration

string (Duration format)

Ablaufdauer nach der Aktualisierung des Passworts.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

enableFailedAttemptsCheck

boolean

Wenn „true“, wird die Prüfung auf fehlgeschlagene Anmeldeversuche aktiviert.

status

object (PasswordStatus)

Nur Ausgabe. Schreibgeschützter Passwortstatus.

enablePasswordVerification

boolean

Wenn „true“, muss der Nutzer das aktuelle Passwort angeben, bevor er das Passwort ändern kann. Dieses Flag wird nur für MySQL unterstützt.

Dauer

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Vorzeichenbehaftete Sekunden der Zeitspanne. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzen werden so berechnet: 60 Sek./Min. * 60 Min./Std. * 24 Std./Tag * 365,25 Tage/Jahr * 10.000 Jahre

nanos

integer

Vorzeichenbehaftete Bruchteile einer Sekunde mit Nanosekundenauflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit einem seconds-Feld mit dem Wert 0 und einem positiven oder negativen nanos-Feld dargestellt. Bei einer Dauer von einer Sekunde oder mehr muss ein Wert ungleich null für das Feld nanos dasselbe Vorzeichen wie das Feld seconds haben. Muss zwischen -999.999.999 und +999.999.999 (einschließlich) liegen.

PasswordStatus

JSON-Darstellung
{
  "locked": boolean,
  "passwordExpirationTime": string
}
Felder
locked

boolean

Wenn „true“, hat der Nutzer keine Anmeldeberechtigungen.

passwordExpirationTime

string (Timestamp format)

Die Ablaufzeit des aktuellen Passworts.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss zwischen -62135596800 und 253402300799 (einschließlich) liegen, was 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z entspricht.

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 (einschließlich) liegen.

SqlUserType

Der Nutzertyp.

Enums
BUILT_IN Der integrierte Nutzertyp der Datenbank.
CLOUD_IAM_USER Cloud IAM-Nutzer.
CLOUD_IAM_SERVICE_ACCOUNT Cloud IAM-Dienstkonto.
CLOUD_IAM_GROUP Cloud IAM-Gruppe. Wird nicht für die Anmeldung verwendet.
CLOUD_IAM_GROUP_USER Nur Lesezugriff. Anmeldung für einen Nutzer, der zur Cloud IAM-Gruppe gehört.
CLOUD_IAM_GROUP_SERVICE_ACCOUNT Nur Lesezugriff. Melden Sie sich mit einem Dienstkonto an, das zur Cloud IAM-Gruppe gehört.
CLOUD_IAM_WORKFORCE_IDENTITY Cloud IAM-Mitarbeiteridentität, die von der Workforce Identity-Föderation verwaltet wird.
ENTRAID_USER Microsoft Entra ID-Nutzer.

DualPasswordType

Der Typ des beibehaltenen Passworts.

Enums
DUAL_PASSWORD_TYPE_UNSPECIFIED Der Standardwert.
NO_MODIFY_DUAL_PASSWORD Aktualisieren Sie den Status des doppelten Passworts des Nutzers nicht.
NO_DUAL_PASSWORD Für die Verbindung mit diesem Nutzer kann kein Dual-Passwort verwendet werden.
DUAL_PASSWORD Doppeltes Passwort, das für die Verbindung mit diesem Nutzer verwendet werden kann.

IamStatus

Gibt an, ob eine Gruppe für die IAM-Datenbankauthentifizierung verfügbar ist.

Enums
IAM_STATUS_UNSPECIFIED Der Standardwert für Nutzer, die nicht vom Typ „CLOUD_IAM_GROUP“ sind. Nur CLOUD_IAM_GROUP-Nutzer sind inaktiv oder aktiv. Bei Nutzern mit dem IamStatus „IAM_STATUS_UNSPECIFIED“ wird nicht angezeigt, ob sie aktiv oder inaktiv sind, da dies für sie nicht zutrifft.
INACTIVE INACTIVE gibt an, dass eine Gruppe nicht für die IAM-Datenbankauthentifizierung verfügbar ist.
ACTIVE ACTIVE gibt an, dass eine Gruppe für die IAM-Datenbankauthentifizierung verfügbar ist.

Tool-Annotationen

Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann ein Bestätigungs-Prompt an einen Nutzer gesendet werden soll.

Zusammen mit dem Titelstring werden die folgenden booleschen Hinweise so definiert:

  • readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.
  • destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.
  • idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.
  • openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Entitäten interagieren. Wenn „false“, kann das Tool nur mit internen Entitäten interagieren. Ein Websuchtool wäre beispielsweise ein Open-World-Tool, ein Speichertool dagegen nicht.

Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Lesezugriff-Hinweis: ✅ | Open-World-Hinweis: ❌