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 |
ID der Datenbankinstanz. Die Projekt-ID ist darin nicht enthalten. |
project |
Projekt-ID des Projekts mit der Instanz. |
location |
Optional. Region der Cloud SQL-Instanz. |
Ausgabeschema
Antwort zur Nutzerliste.
UsersListResponse
| JSON-Darstellung |
|---|
{
"kind": string,
"items": [
{
object ( |
| Felder | |
|---|---|
kind |
Dies ist immer |
items[] |
Liste der Nutzerressourcen in der Instanz. |
nextPageToken |
Nicht in Verwendung. |
Nutzer
| JSON-Darstellung |
|---|
{ "kind": string, "password": string, "etag": string, "name": string, "host": string, "instance": string, "project": string, "type": enum ( |
| Felder | |
|---|---|
kind |
Dies ist immer |
password |
Das Passwort für den Nutzer. |
etag |
Dieses Feld ist veraltet und wird aus einer zukünftigen Version der API entfernt. |
name |
Der Nutzername in der Cloud SQL-Instanz. Kann für |
host |
Optional. Der Host, von dem aus der Nutzer eine Verbindung herstellen kann. Bei |
instance |
Der Name der Cloud SQL-Instanz. Die Projekt-ID ist darin nicht enthalten. Kann für |
project |
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 |
type |
Der Nutzertyp. Sie bestimmt die Methode zur Authentifizierung des Nutzers bei der Anmeldung. Der Standardwert ist der integrierte Nutzertyp der Datenbank. |
iamEmail |
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 |
Richtlinie zur Passwortvalidierung auf Nutzerebene. |
databaseRoles[] |
Optional. Rollenmitgliedschaften des Nutzers |
serverRoles[] |
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 |
|
Union-Feld Für |
|
dualPasswordType |
Status des dualen Passworts für den Nutzer. |
Union-Feld Für |
|
iamStatus |
Gibt an, ob eine Gruppe für die IAM-Datenbankauthentifizierung aktiv oder inaktiv ist. |
SqlServerUserDetails
| JSON-Darstellung |
|---|
{ "disabled": boolean, "serverRoles": [ string ] } |
| Felder | |
|---|---|
disabled |
Gibt an, ob der Nutzer deaktiviert wurde. |
serverRoles[] |
Gibt die Serverrollen für diesen Nutzer an. |
UserPasswordValidationPolicy
| JSON-Darstellung |
|---|
{
"allowedFailedAttempts": integer,
"passwordExpirationDuration": string,
"enableFailedAttemptsCheck": boolean,
"status": {
object ( |
| Felder | |
|---|---|
allowedFailedAttempts |
Anzahl der zulässigen fehlgeschlagenen Anmeldeversuche, bevor der Nutzer gesperrt wird. |
passwordExpirationDuration |
Ablaufdauer nach der Aktualisierung des Passworts. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
enableFailedAttemptsCheck |
Wenn „true“, wird die Prüfung auf fehlgeschlagene Anmeldeversuche aktiviert. |
status |
Nur Ausgabe. Schreibgeschützter Passwortstatus. |
enablePasswordVerification |
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 |
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 |
Vorzeichenbehaftete Bruchteile einer Sekunde mit Nanosekundenauflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit einem |
PasswordStatus
| JSON-Darstellung |
|---|
{ "locked": boolean, "passwordExpirationTime": string } |
| Felder | |
|---|---|
locked |
Wenn „true“, hat der Nutzer keine Anmeldeberechtigungen. |
passwordExpirationTime |
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: |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
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 |
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: ❌