alloydbomni.dbadmin.goog/v1) UserDefinedAuthentication. אתם יכולים להתאים אישית את התנהגות אימות הלקוח, למשל להגביל את רשתות המשנה של הלקוחות, לאכוף SSL/TLS, לציין שיטות אימות בהתאמה אישית או להגדיר מיפוי משתמשים, על ידי הגדרת רשומות pg_hba.conf ו-pg_ident.conf בהתאמה אישית, בלי קשר להגדרת Active Directory.
במאמר הזה אנחנו מניחים שאתם יודעים איך להחיל קובצי מניפסט של Kubernetes ואיך להשתמש בכלי שורת הפקודה kubectl. למידע נוסף, ראו כלי שורת הפקודה (kubectl).
לפני שמתחילים
כדי להגדיר אימות לקוח, צריך:
- אשכול AlloyDB Omni שנפרס בסביבת Kubernetes.
- משתמשים ותפקידים במסד הנתונים שהוגדרו באשכול.
- ה-CLI של
kubectlמותקן ומוגדר.
החלת המניפסט של המשאב בהתאמה אישית
מחילים את המניפסט הבא של משאב מותאם אישית לאימות שמוגדר על ידי המשתמש:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: UserDefinedAuthentication
metadata:
name: USER_DEFINED_AUTHENTICATION_NAME
namespace: DB_CLUSTER_NAMESPACE
spec:
dbclusterRef:
name: DB_CLUSTER_NAME
pgHbaEntries:
PG_HBA_ENTRIES
pgIdentEntries:
PG_IDENT_ENTRIES
מחליפים את מה שכתוב בשדות הבאים:
-
USER_DEFINED_AUTHENTICATION_NAME: השם של המשאב בהתאמה אישית שלUserDefinedAuthentication, לדוגמהDB_CLUSTER_NAME-client-auth. -
DB_CLUSTER_NAMESPACE: מרחב השמות של Kubernetes למשאב בהתאמה אישית. מרחב השמות חייב להיות זהה למרחב השמות של אשכול מסד הנתונים. -
DB_CLUSTER_NAME: השם של אשכול מסד הנתונים, שהוקצה לו כשיצרתם אותו. PG_HBA_ENTRIES: רשומותpg_hba.confכרשימת מחרוזות. הרשומות האלה מחליפות את רשומות ברירת המחדל ב-pg_hba.conf. לדוגמה, כדי להגביל את החיבורים לרשת משנה ספציפית, משתמשים ב-- "host all all 192.168.1.0/24 scram-sha-256". מידע נוסף זמין במאמר The pg_hba.conf File.PG_IDENT_ENTRIES: (אופציונלי) רשומות שלpg_ident.confכרשימת מחרוזות. כדי להטמיע מיפוי של שמות משתמשים, מציינים אתmap=בשדה האפשרויות בקובץpg_hba.conf. אם אתם לא צריכים מיפוי של שמות משתמשים, השמיטו את השדהpgIdentEntriesמהמניפסט. מידע נוסף זמין במאמר מיפוי שמות משתמשים.
אימות כללי האימות של הלקוח
כדי לבדוק את הסטטוס של המשאב UserDefinedAuthentication, מריצים את הפקודה הבאה:
kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE
מוודאים שבעמודה STATE מוצג הערך Ready.
כדי לראות את פרטי המשאב והתנאים, מריצים את הפקודה הבאה:
kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
עדכון כללי האימות של הלקוח
כדי לעדכן את כללי האימות של הלקוח או את מיפויי המשתמשים, מעדכנים את spec.pgHbaEntries או את spec.pgIdentEntries בקובץ המניפסט ומחילים אותו מחדש:
kubectl apply -f CLIENT_AUTH_MANIFEST.yaml
אופרטור AlloyDB Omni טוען מחדש באופן דינמי את ההגדרות האישיות של PostgreSQL (pg_ctl reload) בלי להפעיל מחדש את ה-Pod של מסד הנתונים או לגרום לזמן השבתה.
מחיקת כללי אימות לקוח
כדי למחוק את כללי האימות בהתאמה אישית ולחזור לכללי האימות שמוגדרים כברירת מחדל, מריצים את הפקודה הבאה:
kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
כשמוחקים את המשאב UserDefinedAuthentication, אופרטור AlloyDB Omni טוען מחדש באופן דינמי את pg_hba.conf (pg_ctl reload) כדי לשחזר את כללי ברירת המחדל של האימות, בלי שצריך להפעיל מחדש את pod מסד הנתונים.
המאמרים הבאים
- ניהול משתמשים ותפקידים
- ניהול כללי מדיניות בנושא סיסמאות
- חומר עזר בנושא CRD ב-
UserDefinedAuthentication