בדף הזה מוסבר איך להפעיל את האימות המובנה של Cloud SQL ואיך להשתמש בו.
סקירה כללית זמינה במאמר אימות מובנה של מסדי נתונים ב-Cloud SQL.לפני שיוצרים משתמשים
- יוצרים מכונה של Cloud SQL. מידע נוסף מופיע במאמר יצירת מופעים.
- מפעילים מדיניות סיסמאות למופע. מידע נוסף זמין במאמר מדיניות סיסמאות של מופעים.
אם אתם מתכננים להשתמש בלקוח האדמין של מסד הנתונים כדי לנהל משתמשים, אתם צריכים לבצע את הפעולות הבאות:
מחברים את הלקוח למופע. אפשרויות חיבור לאפליקציות חיצוניות
מגדירים את המשתמש שמוגדר כברירת מחדל במופע על ידי הגדרת הסיסמה. איך מגדירים את הסיסמה לחשבון המשתמש שמוגדר כברירת מחדל
הגדרת הסיסמה לחשבון המשתמש שמוגדר כברירת מחדל
כשיוצרים מופע חדש של Cloud SQL, צריך להגדיר סיסמה לחשבון המשתמש שמוגדר כברירת מחדל לפני שמתחברים למופע.
ב-Cloud SQL ל-MySQL, משתמש ברירת המחדל הואroot@%. המשמעות היא משתמש במסד נתונים עם שם משתמש root שיכול להתחבר מכל מארח (@%).
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- מוצאים את המשתמש
rootולוחצים על שינוי הסיסמה בתפריט האפשרויות הנוספות
.
כדאי לעיין בתנאים המפורטים לסיסמה, שנגזרים ממדיניות הסיסמאות שהוגדרה למופע.
- מזינים סיסמה חזקה שקל לזכור ולוחצים על אישור.
gcloud
משתמשים בפקודה
gcloud sql users set-password כדי להגדיר את הסיסמה למשתמש ברירת המחדל.
מחליפים את INSTANCE_NAME בשם המכונה לפני שמריצים את הפקודה.
gcloud sql users set-password root \ --host=% \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
כדי לעדכן את הסיסמה של חשבון המשתמש שמוגדר כברירת מחדל, משתמשים בבקשת PUT עם השיטה users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
- password: הסיסמה של המשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25
תוכן בקשת JSON:
{
"name": "root",
"password": "password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
כדי לעדכן את הסיסמה של חשבון המשתמש שמוגדר כברירת מחדל, משתמשים בבקשת PUT עם השיטה users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
- password: הסיסמה של המשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25
תוכן בקשת JSON:
{
"name": "root",
"password": "password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
יצירת משתמש
אחרי הגדרת חשבון המשתמש שמוגדר כברירת מחדל, אפשר ליצור משתמשים אחרים.
כשיוצרים משתמש מובנה, אפשר להקצות לו תפקיד אחד או יותר במסד הנתונים.
כדי להקצות למשתמש תפקיד מותאם אישית במסד נתונים, קודם צריך ליצור את התפקיד במסד הנתונים של MySQL. במאמר שימוש בתפקידים מוסבר איך ליצור תפקיד ב-MySQL.המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- לוחצים על הוספת חשבון משתמש.
בדף Add a user account to instance instance_name, אפשר לבחור אם המשתמש יאומת באמצעות שיטת מסד הנתונים המובנית (שם משתמש וסיסמה) או כמשתמש IAM.
- בוחרים באפשרות אימות מובנה (ברירת המחדל) ומוסיפים את הפרטים הבאים:
- שם משתמש.
- זה שינוי אופציונלי. סיסמה. צריך להזין סיסמה חזקה שקל לזכור.
- זה שינוי אופציונלי. מדיניות הסיסמאות של המשתמש.
- בקטע שם המארח, ברירת המחדל היא אפשר להשתמש בכל מארח, מה שאומר שהמשתמש יכול להתחבר מכל כתובת IP. אופציונלית, בוחרים באפשרות Restrict host by IP address or address range ומזינים כתובת IP או טווח כתובות בקטע Host. אחרי כן, המשתמש יוכל להתחבר רק מכתובת ה-IP או מכתובות ה-IP שצוינו.
- לוחצים על הוספה.
אם יוצרים משתמש שמשתמש באימות מובנה במכונה עם MySQL 8.0 או גרסה מאוחרת יותר, ולא מציינים תפקידים במסד הנתונים, למשתמש מוקצה אוטומטית התפקיד cloudsqlsuperuser.
מידע נוסף על ההרשאות שמשויכות לתפקיד cloudsqlsuperuser זמין במאמרים הרשאות משתמש ב-MySQL 8.0 (cloudsqlsuperuser) והרשאות משתמש ב-MySQL 8.4 (cloudsqlsuperuser).
אם רוצים לשנות את ההרשאות של המשתמש, צריך להקצות לו תפקיד או תפקידים מותאמים אישית של MySQL כשיוצרים אותו ב-Cloud SQL. אם מקצים תפקיד אחד או יותר של מסד נתונים בהתאמה אישית כשיוצרים את המשתמש ב-Cloud SQL, למשתמש לא מוקצה התפקיד cloudsqlsuperuser.
אם יוצרים משתמש שמשתמש באימות מובנה במופע MySQL 5.7, המשתמש מקבל אוטומטית את כל ההרשאות חוץ מההרשאות FILE ו-SUPER. אם צריך לשנות את ההרשאות של המשתמש, משתמשים בפקודה GRANT או REVOKE בלקוח mysql.
מידע נוסף על חשבונות משתמשים והרשאות זמין במאמר בנושא חשבונות משתמשים אחרים ב-MySQL.
gcloud
כדי ליצור משתמש, משתמשים בפקודה
gcloud sql users create.
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - INSTANCE_NAME: השם של המכונה.
- PASSWORD: הסיסמה של המשתמש.
- ROLE_1, ROLE_2 ..., ROLE_N: אופציונלי. התפקיד או התפקידים במסד הנתונים שרוצים להקצות למשתמש.
gcloud sql users create USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME \ --password=PASSWORD \ --database-roles=ROLE_1, ROLE_2, ..., ROLE_N
אם יוצרים משתמש שמשתמש באימות מובנה במכונה עם MySQL 8.0 או גרסה מאוחרת יותר, ולא מציינים תפקידים במסד הנתונים, למשתמש מוקצה אוטומטית התפקיד cloudsqlsuperuser.
מידע נוסף על ההרשאות שמשויכות לתפקיד cloudsqlsuperuser זמין במאמרים הרשאות משתמש ב-MySQL 8.0 (cloudsqlsuperuser) והרשאות משתמש ב-MySQL 8.4 (cloudsqlsuperuser).
אם רוצים לשנות את ההרשאות של המשתמש, צריך להקצות לו תפקיד או תפקידים מותאמים אישית של MySQL כשיוצרים אותו ב-Cloud SQL. אם מקצים תפקיד אחד או יותר של מסד נתונים בהתאמה אישית כשיוצרים את המשתמש ב-Cloud SQL, למשתמש לא מוקצה התפקיד cloudsqlsuperuser.
אם יוצרים משתמש שמשתמש באימות מובנה במופע MySQL 5.7, המשתמש מקבל אוטומטית את כל ההרשאות חוץ מההרשאות FILE ו-SUPER. אם צריך לשנות את ההרשאות של המשתמש, משתמשים בפקודה GRANT או REVOKE בלקוח mysql.
מידע נוסף על חשבונות משתמשים והרשאות זמין במאמר בנושא חשבונות משתמשים אחרים ב-MySQL.
מגבלות האורך של שמות המשתמשים ב-Cloud SQL זהות לאלה של MySQL מקומי: 32 תווים ב-MySQL 8.0 ואילך, ו-16 תווים בגרסאות קודמות.
כשיוצרים משתמש, אפשר להוסיף פרמטרים של מדיניות סיסמאות למשתמשים.
Terraform
כדי ליצור משתמש, משתמשים במשאב של Terraform.
אפשר גם ליצור משתמש ולהקצות לו תפקידים במסד הנתונים.
החלה של השינויים
כדי להחיל את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Cloud de Confiance
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Cloud de Confiance הפרויקט כדי לראות את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מחיקת השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
כדי ליצור משתמש, משתמשים בבקשת POST עם השיטה users:insert.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
- HOST: שם המארח של המשתמש
- ROLE_1, ROLE_2 ..., ROLE_N: אופציונלי. התפקיד או התפקידים במסד הנתונים שיוקצו למשתמש
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"host": "HOST",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "CREATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
אם יוצרים משתמש שמשתמש באימות מובנה במכונה עם MySQL 8.0 או גרסה מאוחרת יותר, ולא מציינים תפקידים במסד הנתונים, למשתמש מוקצה אוטומטית התפקיד cloudsqlsuperuser.
מידע נוסף על ההרשאות שמשויכות לתפקיד cloudsqlsuperuser זמין במאמרים הרשאות משתמש ב-MySQL 8.0 (cloudsqlsuperuser) והרשאות משתמש ב-MySQL 8.4 (cloudsqlsuperuser).
אם רוצים לשנות את ההרשאות של המשתמש, צריך להקצות לו תפקיד או תפקידים מותאמים אישית של MySQL כשיוצרים אותו ב-Cloud SQL. אם מקצים תפקיד אחד או יותר של מסד נתונים בהתאמה אישית כשיוצרים את המשתמש ב-Cloud SQL, למשתמש לא מוקצה התפקיד cloudsqlsuperuser.
אם יוצרים משתמש שמשתמש באימות מובנה במופע MySQL 5.7, המשתמש מקבל אוטומטית את כל ההרשאות חוץ מההרשאות FILE ו-SUPER. אם צריך לשנות את ההרשאות של המשתמש, משתמשים בפקודה GRANT או REVOKE בלקוח mysql.
מידע נוסף על חשבונות משתמשים והרשאות זמין במאמר בנושא חשבונות משתמשים אחרים ב-MySQL.
מגבלות האורך של שמות המשתמשים ב-Cloud SQL זהות לאלה של MySQL מקומי: 32 תווים ב-MySQL 8.0 ואילך, ו-16 תווים בגרסאות קודמות.
כשיוצרים משתמש, אפשר להוסיף פרמטרים של מדיניות סיסמאות למשתמשים.
REST v1beta4
כדי ליצור משתמש, משתמשים בבקשת POST עם השיטה users:insert.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
- HOST: שם המארח של המשתמש
- ROLE_1, ROLE_2 ..., ROLE_N: אופציונלי. התפקיד או התפקידים במסד הנתונים שיוקצו למשתמש
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"host": "HOST",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "CREATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
אם יוצרים משתמש שמשתמש באימות מובנה במכונה עם MySQL 8.0 או גרסה מאוחרת יותר, ולא מציינים תפקידים במסד הנתונים, למשתמש מוקצה אוטומטית התפקיד cloudsqlsuperuser.
מידע נוסף על ההרשאות שמשויכות לתפקיד cloudsqlsuperuser זמין במאמרים הרשאות משתמש ב-MySQL 8.0 (cloudsqlsuperuser) והרשאות משתמש ב-MySQL 8.4 (cloudsqlsuperuser).
אם רוצים לשנות את ההרשאות של המשתמש, צריך להקצות לו תפקיד או תפקידים מותאמים אישית של MySQL כשיוצרים אותו ב-Cloud SQL. אם מקצים תפקיד אחד או יותר של מסד נתונים בהתאמה אישית כשיוצרים את המשתמש ב-Cloud SQL, למשתמש לא מוקצה התפקיד cloudsqlsuperuser.
אם יוצרים משתמש שמשתמש באימות מובנה במופע MySQL 5.7, המשתמש מקבל אוטומטית את כל ההרשאות חוץ מההרשאות FILE ו-SUPER. אם צריך לשנות את ההרשאות של המשתמש, משתמשים בפקודה GRANT או REVOKE בלקוח mysql.
מידע נוסף על חשבונות משתמשים והרשאות זמין במאמר בנושא חשבונות משתמשים אחרים ב-MySQL.
מגבלות האורך של שמות המשתמשים ב-Cloud SQL זהות לאלה של MySQL מקומי: 32 תווים ב-MySQL 8.0 ואילך, ו-16 תווים בגרסאות קודמות.
כשיוצרים משתמש, אפשר להוסיף פרמטרים של מדיניות סיסמאות למשתמשים.
לקוח mysql
- כדי ליצור משתמש, בשורת הפקודה
mysql, משתמשים בהצהרת CREATE USER הבאה:CREATE USER 'USER_NAME'@'%' IDENTIFIED BY 'PASSWORD';
אפשר להוסיף פרמטרים של מדיניות סיסמאות למשתמשים.
- כדי לוודא שהמשתמש נוצר, אפשר להציג את טבלת המשתמשים:
בדוגמה הבאה אפשר לראות איך נראה הפלט של מופע מהדור השני:SELECT user, host FROM mysql.user;
+----------+-----------+ | user | host | +----------+-----------+ | root | % | | newuser | % | +----------+-----------+ 1 row in set (0.01 sec)
- נותנים למשתמש הרשאות באמצעות ההצהרה
GRANT. מידע נוסף זמין במאמר בנושא הרשאות שניתנות על ידי MySQL. -
מרוקנים את הטבלה
mysql.userכדי לוודא שהשינוי יישמר:FLUSH TABLES mysql.user;
הגדרת מדיניות סיסמאות למשתמשים
אתם יכולים להגדיר מדיניות סיסמאות באמצעות סוג האימות המובנה.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- לוחצים על סמל האפשרויות הנוספות
לצד המשתמש שרוצים לשנות את המדיניות שלו. - לוחצים על עריכת מדיניות הסיסמאות.
- בקטע מדיניות הסיסמאות, בוחרים אחת או יותר מהאפשרויות הבאות:
- הגדרת תוקף הסיסמה: מציינת את מספר הימים שאחריהם תוקף הסיסמה יפוג והמשתמש יצטרך ליצור סיסמה חדשה.
- נעילה אחרי ניסיונות כושלים: מציינת את מספר הפעמים שמשתמש יכול לנסות להזין את הסיסמה בצורה שגויה לפני שהחשבון ננעל.
האפשרות נתמכת רק ב-Cloud SQL ל-MySQL 8.0 ומעלה.
- דרישה לסיסמה הנוכחית כשמשנים את הסיסמה: מחייבת את המשתמשים להזין את הסיסמה הקיימת שלהם כשהם מנסים לשנות אותה.
gcloud
כדי להגדיר את מדיניות הסיסמאות של המשתמש, משתמשים בפקודה
gcloud sql users set-password-policy.
משתמשים ב--password-policy-enable-password-verification כדי לחייב את המשתמשים להזין את הסיסמה הקיימת שלהם כשהם מנסים לשנות את הסיסמה. כדי להשבית את הפרמטר הזה, משתמשים בערך --no-password-policy-enable-password-verification.
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- INSTANCE_NAME: השם של המכונה.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS: אופציונלי: מספר הפעמים שמשתמש יכול לנסות להזין את הסיסמה בצורה שגויה לפני שהחשבון ננעל. משתמשים ב-
--password-policy-enable-failed-attempts-checkכדי להפעיל את הבדיקה וב---no-password-policy-enable-failed-attempts-checkכדי להשבית אותה. - PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION: אופציונלי: מציינים את מספר הימים שאחריהם תוקף הסיסמה יפוג והמשתמש יצטרך ליצור סיסמה חדשה.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --password-policy-enable-failed-attempts-check \ --password-policy-allowed-failed-attempts=PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS \ --password-policy-password-expiration-duration=PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION \ --password-policy-enable-password-verification
כדי להסיר מדיניות סיסמאות של משתמש, משתמשים בפרמטר --clear-password-policy.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
כדי לראות את מדיניות הסיסמאות של המשתמש, אפשר לעיין במאמר בנושא רשימת משתמשים.
REST v1
כדי להגדיר מדיניות סיסמאות למשתמשים, משתמשים בבקשת PUT עם ה-method users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
- FAILED_ATTEMPTS_CHECK: מוגדר ל-
trueכדי להפעיל בדיקה של מספר הניסיונות הכושלים להיכנס לחשבון, שאחריהם החשבון ננעל - NUMBER_OF_ATTEMPTS: מספר הניסיונות הכושלים להתחבר שאחריהם החשבון ננעל
- PASSWORD_EXPIRATION_DURATION: מספר הימים שאחריהם הסיסמה פגה והמשתמש צריך ליצור סיסמה חדשה
- VERIFY_PASSWORD: צריך להגדיר את הערך
trueכדי לחייב את המשתמשים להזין את הסיסמה הקיימת שלהם כשהם מנסים לשנות את הסיסמה
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
"allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
"passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION",
"enablePasswordVerification" : "VERIFY_PASSWORD"
}
},
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
כדי לראות את מדיניות הסיסמאות של המשתמש, אפשר לעיין במאמר בנושא רשימת משתמשים.
REST v1beta4
כדי להגדיר מדיניות סיסמאות למשתמשים, משתמשים בבקשת PUT עם ה-method users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
- FAILED_ATTEMPTS_CHECK: מוגדר ל-
trueכדי להפעיל בדיקה של מספר הניסיונות הכושלים להיכנס לחשבון, שאחריהם החשבון ננעל - NUMBER_OF_ATTEMPTS: מספר הניסיונות הכושלים להתחבר שאחריהם החשבון ננעל
- PASSWORD_EXPIRATION_DURATION: מספר הימים שאחריהם הסיסמה פגה והמשתמש צריך ליצור סיסמה חדשה
- VERIFY_PASSWORD: צריך להגדיר את הערך
trueכדי לחייב את המשתמשים להזין את הסיסמה הקיימת שלהם כשהם מנסים לשנות את הסיסמה
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
"allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
"passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION",
"enablePasswordVerification" : "VERIFY_PASSWORD"
}
},
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
כדי לראות את מדיניות הסיסמאות של המשתמש, אפשר לעיין במאמר בנושא רשימת משתמשים.
לקוח mysql
כדי להגדיר מדיניות סיסמאות למשתמש, משתמשים בהצהרת
ALTER USER הבאה בהנחיית mysql:
ALTER USER USER_NAME FAILED_LOGIN_ATTEMPTS ALLOWED_FAILED_ATTEMPTS PASSWORD EXPIRE INTERVAL PASSWORD_EXPIRATION_DURATION DAY PASSWORD REQUIRE CURRENT;
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- ALLOWED_FAILED_ATTEMPTS: אופציונלי: מספר הפעמים שמשתמש יכול לנסות להזין את הסיסמה בצורה שגויה לפני שהחשבון ננעל.
- PASSWORD_EXPIRATION_DURATION: אופציונלי: מציינים את מספר הימים שאחריהם תוקף הסיסמה יפוג והמשתמש יצטרך ליצור סיסמה חדשה.
משתמשים באפשרות PASSWORD REQUIRE CURRENT כדי לחייב את המשתמשים להזין את הסיסמה הקיימת שלהם כשהם מנסים לשנות את הסיסמה.
כדי לראות את מדיניות הסיסמאות של המשתמש, אפשר לעיין במאמר בנושא רשימת משתמשים.
הצגת רשימת משתמשים
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
ברשימה מוצגים
User name,Host nameוסוגAuthenticationשל כל משתמש.בנוסף, לסוג האימות המובנה מצוין גם הערך
Password status.
gcloud
כדי להציג את רשימת המשתמשים של המופע הזה, משתמשים בפקודה gcloud sql users list:
gcloud sql users list \ --instance=INSTANCE_NAME
הפקודה מחזירה את Name, Host ואת Type של כל משתמש.
בנוסף, עבור סוג האימות המובנה, מוחזרות ההגדרות והסטטוס של מדיניות הסיסמאות. לדוגמה:
NAME HOST TYPE PASSWORD_POLICY
user1 BUILT_IN {'allowedFailedAttempts': 2,
'enableFailedAttemptsCheck': True,
'passwordExpirationDuration': '7d',
'status': {
'locked': True,
'passwordExpirationTime': '2022-07-01T19:53:45.822742904Z'
}
}
REST v1
כדי להציג רשימה של המשתמשים שהוגדרו למופע, משתמשים בבקשת GET עם השיטה users:list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#usersList",
"items": [
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "sqlserver",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-1",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-2",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
...
},
{
...
}
]
}
אם הוגדרה מדיניות סיסמאות למשתמשים, הקטע items בתשובה כולל את הקטע passwordPolicy. בדוגמת הקוד הבאה מוצג הקטע passwordPolicy.
{
...
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : true,
"allowedFailedAttempts" : 8,
"passwordExpirationDuration" : "7d",
"enablePasswordVerification" : true
}
},
...
}
REST v1beta4
כדי להציג רשימה של המשתמשים שהוגדרו למופע, משתמשים בבקשת GET עם השיטה users:list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#usersList",
"items": [
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "sqlserver",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-1",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-2",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
...
},
{
...
}
]
}
אם הוגדרה מדיניות סיסמאות למשתמשים, הקטע items בתשובה כולל את הקטע passwordPolicy. בדוגמת הקוד הבאה מוצג הקטע passwordPolicy.
{
...
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : true,
"allowedFailedAttempts" : 8,
"passwordExpirationDuration" : "7d",
"enablePasswordVerification" : true
}
},
...
}
לקוח mysql
כדי להציג רשימה של משתמשי MySQL, בשורת הפקודה mysql משתמשים בהצהרת
SELECT הבאה:
SELECT user, host FROM mysql.user;
בדוגמה הבאה מוצג פלט של מכונה מדור שני שמוגדר בה רק חשבון המשתמש root:
+------+-----------+ | user | host | +------+-----------+ | root | % | +------+-----------+ 1 row in set (0.01 sec)
בדוגמה הזו מוצגים המשתמשים של מופע עם המשתמש root. המשתמש הזה יכול להתחבר מכל מארח (%). בשדה הסיסמה מוצג הגיבוב של הסיסמה.
הוספת תפקידים במסד נתונים למשתמש קיים
אחרי שיוצרים משתמש מובנה, אפשר להקצות לו תפקידים נוספים. התפקידים האלה מתווספים לתפקידים הקיימים של המשתמשים, ולא מחליפים את קבוצת התפקידים הקיימת שהוקצתה לחשבון המשתמש.
כדי להקצות תפקיד למשתמש ב-Cloud SQL ל-MySQL, התפקיד צריך כבר להתקיים. כדי להקצות תפקיד בהתאמה אישית, קודם צריך ליצור את התפקיד במסד הנתונים של MySQL.במאמר שימוש בתפקידים מוסבר איך ליצור תפקיד ב-MySQL.
אי אפשר להקצות תפקידים לאף אחד ממשתמשי המערכת של MySQL במופע.
אתם יכולים להקצות את תפקיד המערכת cloudsqlsuperuser למשתמשי MySQL קיימים במופע.
gcloud
כדי להקצות תפקידים למשתמש, משתמשים בפקודה
gcloud sql users assign-roles.
gcloud sql users assign-roles USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME \ --type=BUILT-IN \ --database-roles=ROLE_1, ROLE_2, ..., ROLE_N
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - INSTANCE_NAME: השם של המכונה.
- ROLE_1, ROLE_2, ..., ROLE_N: התפקיד או התפקידים במסד הנתונים שיוקצו למשתמש.
REST v1
כדי לעדכן משתמש, משתמשים בבקשת PUT עם השיטה users:update.
כשמקצים תפקידים במסד נתונים, אי אפשר לעדכן פרמטרים של מדיניות סיסמאות באותה בקשת API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USER_ID: מזהה המשתמש
- ROLE_1, ROLE_2 ..., ROLE_N: התפקיד או התפקידים במסד הנתונים שרוצים להקצות למשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"type": "BUILT-IN",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "UPDATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
כדי לעדכן משתמש, משתמשים בבקשת PUT עם השיטה users:update.
כשמקצים תפקידים במסד נתונים, אי אפשר לעדכן פרמטרים של מדיניות סיסמאות באותה בקשת API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USER_ID: מזהה המשתמש
- ROLE_1, ROLE_2, ..., ROLE_N: התפקיד או התפקידים במסד הנתונים שרוצים להקצות למשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"type": "BUILT-IN",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "UPDATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
החלפת תפקידי מסד נתונים של משתמש קיים
אם רוצים להחליף או להסיר תפקידים במסד הנתונים מהמשתמש, צריך לבטל את כל התפקידים הקיימים שלו ולציין תפקידים חדשים במסד הנתונים, אם יש כאלה.
כברירת מחדל, כשיוצרים משתמש מובנה ב-MySQL, המשתמש מקבל את התפקיד cloudsqlsuperuser באופן אוטומטי. אם לא רוצים שהמשתמש ימשיך לקבל את התפקיד cloudsqlsuperuser, צריך לבטל את התפקידים הקיימים של המשתמש.
gcloud
כדי להחליף את תפקידי מסד הנתונים של משתמש, מבטלים את התפקידים הקיימים של המשתמש ומקצים תפקידים חדשים. כדי להחליף את התפקידים במסד הנתונים של משתמש, משתמשים בפקודה
gcloud sql users assign-roles הבאה.
gcloud sql users assign-roles USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME \ --database-roles=ROLE_1,ROLE_2 \ --revoke-existing-roles
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - INSTANCE_NAME: השם של המכונה.
- ROLE_1, ROLE_2: תפקיד או תפקידים חדשים במסד הנתונים שיוקצו למשתמש.
אפשר גם לבטל את התפקידים הקיימים של משתמש ולהקצות לו אפס תפקידים. לדוגמה:
gcloud sql users assign-roles USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME \ --database-roles= \ --revoke-existing-roles
REST v1
כדי לעדכן משתמש, משתמשים בבקשת PUT עם השיטה users:update.
כשמחליפים את תפקידי מסד הנתונים של משתמש, אי אפשר לעדכן פרמטרים של מדיניות הסיסמאות באותה בקשת API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USER_ID: מזהה המשתמש
- ROLE_1, ROLE_2 ..., ROLE_N: התפקיד או התפקידים החדשים במסד הנתונים שרוצים להקצות למשתמש. אפשר גם לציין רשימה ריקה.
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"type": "BUILT-IN",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
],
"revokeExistingRoles": true
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "UPDATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
כדי לעדכן משתמש, משתמשים בבקשת PUT עם השיטה users:update.
כשמחליפים את תפקידי מסד הנתונים של משתמש, אי אפשר לעדכן פרמטרים של מדיניות הסיסמאות באותה בקשת API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USER_ID: מזהה המשתמש
- ROLE_1, ROLE_2, ..., ROLE_N: התפקיד או התפקידים החדשים במסד הנתונים שיוקצו למשתמש. אפשר גם לציין רשימה ריקה.
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users
תוכן בקשת JSON:
{
"name": "USER_ID",
"type": "BUILT-IN",
"databaseRoles": [
"ROLE_1",
"ROLE_2"
],
"revokeExistingRoles": true
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2025-10-20T22:44:16.656Z",
"startTime": "2025-10-20T22:44:16.686Z",
"endTime": "2025-10-20T22:44:20.437Z",
"operationType": "UPDATE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
שינוי סיסמה של משתמש
אפשר לשנות את הסיסמאות של המשתמשים באחת מהדרכים הבאות.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- לוחצים על סמל האפשרויות הנוספות
ליד המשתמש שרוצים לעדכן.
- בוחרים באפשרות שינוי הסיסמה.
- מציינים סיסמה חדשה.
בנוסף, אם רוצים להמשיך להשתמש בסיסמה הקודמת, מסמנים את תיבת הסימון שמירת הסיסמה הנוכחית.
- לוחצים על OK.
gcloud
משתמשים בפקודה
gcloud sql users set-password כדי לשנות סיסמה.
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - INSTANCE_NAME: השם של המכונה.
- PASSWORD: סיסמה. הסיסמה צריכה לעמוד בדרישות של מדיניות הסיסמאות, אם היא מוגדרת.
אופציונלי, ב-MySQL מגרסה 8.0 ואילך, אפשר להמשיך לאפשר למשתמש להשתמש בסיסמה הישנה יותר באמצעות האפשרות --retain-password. כדי לבטל את הסיסמה הישנה, משתמשים באפשרות --discard-dual-password.
gcloud sql users set-password USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME \ --password=PASSWORD
REST v1
כדי לשנות סיסמה של משתמש, משתמשים בבקשת PUT עם השיטה users:update.
הבקשה הבאה מעדכנת את הסיסמה של חשבון המשתמש
user_name'@'%. אם למשתמש יש מארח אחר, צריך לשנות את הקריאה עם המארח הנכון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
- user-id: מזהה המשתמש
- password: הסיסמה החדשה של המשתמש
- dual-password: אחד מהערכים הבאים של enum:
-
DUAL_PASSWORD: המשתמש יכול להמשיך להשתמש בסיסמה הישנה. -
NO_DUAL_PASSWORD: המשתמש לא יכול להשתמש בסיסמה הישנה. NO_MODIFY_DUAL_PASSWORD: הסטטוס של הסיסמה הכפולה לא משתנה.
-
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
תוכן בקשת JSON:
{
"name": "user-id",
"password": "password",
"retainedPassword" : "dual-password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
כדי לשנות סיסמה של משתמש, משתמשים בבקשת PUT עם השיטה users:update.
הבקשה הבאה מעדכנת את הסיסמה של חשבון המשתמש
user_name'@'%. אם למשתמש יש מארח אחר, צריך לשנות את הקריאה עם המארח הנכון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה הרצוי
- user-id: מזהה המשתמש
- password: הסיסמה החדשה של המשתמש
- dual-password: אחד מהערכים הבאים של enum:
-
DUAL_PASSWORD: המשתמש יכול להמשיך להשתמש בסיסמה הישנה. -
NO_DUAL_PASSWORD: המשתמש לא יכול להשתמש בסיסמה הישנה. NO_MODIFY_DUAL_PASSWORD: הסטטוס של הסיסמה הכפולה לא משתנה.
-
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
תוכן בקשת JSON:
{
"name": "user-id",
"password": "password",
"retainedPassword" : "dual-password"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
לקוח mysql
- כדי לשנות את הסיסמה, בהנחיה
mysql, משתמשים בהצהרה הבאה SET PASSWORD:SET PASSWORD FOR USER_NAME = PASSWORD('auth_string');
- מבצעים Flush לטבלה
mysql.userכדי לוודא שהשינוי יישמר:FLUSH TABLES mysql.user;
אם משתמש ננעל בגלל הגדרות מדיניות הסיסמאות, צריך לשנות את הסיסמה כדי לבטל את הנעילה. מוודאים שהסיסמאות, כשהן משתנות, עומדות במדיניות הסיסמאות.
הסרה של מדיניות סיסמאות למשתמשים
אפשר להסיר מדיניות סיסמאות ממשתמש שהוגדר לו סוג אימות מובנה.
gcloud
כדי להסיר את מדיניות הסיסמאות של המשתמש, משתמשים בפקודה
gcloud sql users set-password-policy ובפרמטר --clear-password-policy.
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש
- INSTANCE_NAME: השם של המכונה
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%)
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
REST v1
כדי להסיר מדיניות סיסמאות של משתמש, משתמשים בבקשת PUT עם השיטה users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {}
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
כדי להסיר מדיניות סיסמאות של משתמש, משתמשים בבקשת PUT עם השיטה users:update.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- USER_ID: מזהה המשתמש
- PASSWORD: הסיסמה של המשתמש
ה-method של ה-HTTP וכתובת ה-URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
תוכן בקשת JSON:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {}
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
הסרת משתמש
משתמש ברירת המחדל יכול להסיר משתמשים.
לפני שמסירים משתמש, צריך להסיר את כל האובייקטים שבבעלותו או להקצות מחדש את הבעלות עליהם, ולבטל את כל ההרשאות שהתפקיד קיבל על אובייקטים אחרים.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות משתמשים.
- לוחצים על סמל האפשרויות הנוספות
ליד המשתמש שרוצים להסיר. - לוחצים על הסרה ואז שוב על הסרה.
gcloud
כדי להסיר משתמש, משתמשים בפקודה
gcloud sql users delete.
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: שם המשתמש.
- HOST: שם המארח של המשתמש ככתובת IP ספציפית, כטווח כתובות או כמארח כלשהו (
%). - INSTANCE_NAME: השם של המכונה.
gcloud sql users delete USER_NAME \ --host=HOST \ --instance=INSTANCE_NAME
REST v1
בדוגמה הבאה נעשה שימוש בשיטה users:delete כדי למחוק את חשבון המשתמש שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USERNAME: כתובת האימייל של המשתמש או של חשבון השירות
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "DELETE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
בדוגמה הבאה נעשה שימוש בשיטה users:delete כדי למחוק את חשבון המשתמש שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה הרצוי
- USERNAME: כתובת האימייל של המשתמש או של חשבון השירות
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "DELETE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
לקוח mysql
- כדי למחוק משתמש, משתמשים בהצהרה הבאה
DROP USER בהנחיה
mysql:DROP USER 'USER_NAME'@'HOST_NAME';
- מרוקנים את הטבלה
mysql.userכדי לוודא שהשינוי יישמר:FLUSH TABLES mysql.user;
עדכון מאפייני משתמש
כדי לעדכן מאפייני משתמש כמו מארח או הרשאות, צריך להשתמש בmysql
לקוח. מידע נוסף זמין במאמר בנושא ניהול חשבונות משתמשים ב-MySQL במסמכי התיעוד של MySQL.