יצירת אשכול

בוחרים גרסה של מאמר העזרה:

כדי להתחיל להשתמש ב-AlloyDB Omni, צריך ליצור אשכול מסדי נתונים.

מגבלות

ההגבלות הבאות חלות:

  • ‫AlloyDB Omni פועל ביציאה 5432. אין תמיכה בהגדרת יציאה בהתאמה אישית.

  • לפני שיוצרים את האשכול, חשוב לוודא שכל הגדרות הפרמטרים של מסד הנתונים נכונות. אחרי שיוצרים את האשכול, אי אפשר לשנות את הפרמטרים של מסד הנתונים.

לפני שמתחילים

לפני שיוצרים את האשכול, צריך לבצע את הפעולות הבאות:

  • התקנת כלי התזמור AlloyDB Omni

  • התקנת רכיבים של AlloyDB Omni

  • הגדרת אישורי TLS

  • טוענים נפח חיצוני (DataDisk) אל PG_DATA_DIR בכל צמתי מסד הנתונים שהוקצו בתוך הכלי לניהול תהליכים.

  • אם אתם מתכננים להשתמש ב-alloydbctl במקום ב-Ansible, אתם צריכים לוודא שחבילת policycoreutils-python-utils הנדרשת מותקנת בכל מכונות ה-VM. כדי להתקין את החבילה הזו, מריצים את הפקודה הבאה:

    sudo dnf install policycoreutils-python-utils
  • אם אתם משתמשים בסביבת Google Cloud , צריך להגדיר את ENVIRONMENT_TYPE ל-gcp. לאחר מכן צריך לאמת את החשבון שלכם ב-CLI של gcloud על ידי הרצת gcloud auth login בתור המשתמש root. בנוסף, לחשבון המאומת צריכות להיות ההרשאות הבאות:

    • compute.instances.get
    • compute.instances.list
    • compute.instances.updateNetworkInterface

הכנת מפרטים של אשכולות

כדי ליצור את האשכול, AlloyDB Omni צריך לדעת איך להגדיר אותו. כדי ליצור את המפרטים הנדרשים, יוצרים קובץ YAML בפורמט DBCluster:

Secret:
  metadata:
    name: db-pw-DBCLUSTER_NAME
  spec:
    type: Opaque
    data:
      DBCLUSTER_NAME: BASE64_PASSWORD
---
DBCluster:
  metadata:
    name: DBCLUSTER_NAME
  spec:
    databaseVersion: 18.3.0
    mode: ""
    availability:
      numberOfStandbys: NUM_STANDBY_NODES
      enableAutoFailover: true
      enableAutoHeal: true
      autoFailoverTriggerThreshold: AUTOFAILOVER_TRIGGER_THRESHOLD
      autoHealTriggerThreshold: AUTOHEAL_TRIGGER_THRESHOLD
      healthcheckPeriodSeconds: HEALTHCHECK_PERIOD
      replayReplicationSlotsOnStandbys: false
    primarySpec:
      adminUser:
        passwordRef:
          name: db-pw-DBCLUSTER_NAME
      resources:
        cpu: CPU_LIMIT
        memory: MEMORY_LIMIT
        disks:
        - name: DataDisk
          path: PG_DATA_DIR
      parameters:
        max_connections: "MAX_CONNECTIONS"
        max_wal_size: "MAX_WAL_SIZE"
      dbLoadBalancerOptions:
        DB_LOAD_BALANCER_TYPE:
          loadBalancerIP: "VIRTUAL_IP"
          loadBalancerType: "internal"
          loadBalancerInterface: "VIRTUAL_IP_INTERFACE"

מחליפים את המשתנים הבאים:

  • ‫DBCLUSTER_NAME: שם אשכול מסד הנתונים. לדוגמה, my-dbcluster.

  • ‫BASE64_PASSWORD: סיסמה בקידוד base64 שמשמשת את משתמש האדמין postgres.

  • ‫NUM_STANDBY_NODES: מספר הצמתים במצב המתנה באשכול. לדוגמה, 2.

  • (אופציונלי) AUTOFAILOVER_TRIGGER_THRESHOLD: מספר הפעמים שבהן בדיקת התקינות יכולה להיכשל לפני שמתבצעת העברה אוטומטית לשרת גיבוי. ערך ברירת המחדל הוא 3. הערך המינימלי הוא 0, אבל אם הערך מוגדר כ-0, ‏ AlloyDB Omni משתמש בערך ברירת המחדל.

    מעבר אוטומטי לגיבוי מתרחש אם בדיקת התקינות נכשלת AUTOFAILOVER_TRIGGER_THRESHOLD פעמים או אם משך הזמן המצטבר של בדיקת התקינות מגיע ל-HEALTHCHECK_PERIOD * AUTOFAILOVER_TRIGGER_THRESHOLD שניות.

  • (אופציונלי) AUTOHEAL_TRIGGER_THRESHOLD: מספר הפעמים שבהן בדיקת תקינות יכולה להיכשל לפני שהתיקון האוטומטי מתחיל. ערך ברירת המחדל הוא 3. הערך המינימלי הוא 0, אבל אם הערך מוגדר כ-0, ‏ AlloyDB Omni משתמש בערך ברירת המחדל.

    שחזור אוטומטי מתבצע אם בדיקת תקינות נכשלת AUTOHEAL_TRIGGER_THRESHOLD פעמים או אם משך הזמן המצטבר של בדיקת התקינות מגיע ל-HEALTHCHECK_PERIOD * AUTOHEAL_TRIGGER_THRESHOLD שניות.

  • (אופציונלי) HEALTHCHECK_PERIOD: מספר השניות להמתנה בין כל בדיקת תקינות. ערך ברירת המחדל הוא 30. הערך המינימלי הוא 1. הערך המקסימלי הוא 86400 (יום אחד).

  • ‫CPU_LIMIT: מספר המעבדים להקצאה לקונטיינר של מסד הנתונים. לדוגמה, 4.

  • ‫MEMORY_LIMIT: כמות הזיכרון להקצאה לקונטיינר של מסד הנתונים. לדוגמה, 32Gi, ‏ 500Mi.

  • ‫PG_DATA_DIR: נתיב המארח לספרייה שבה יישמרו נתוני מסד הנתונים.

  • (אופציונלי) MAX_CONNECTIONS: מספר החיבורים המקסימלי בו-זמנית למסד הנתונים של PostgreSQL. ערך ברירת המחדל הוא 50. הערך המינימלי הנתמך הוא גם 50. מידע נוסף זמין במאמר בנושא הפניה ל-PostgreSQL max_connections.

  • (אופציונלי) MAX_WAL_SIZE: הגודל המקסימלי שמאפשר ליומן הרישום המקדים (WAL) לגדול במהלך נקודות ביקורת אוטומטיות. ערך ברירת המחדל הוא 1GB. מידע נוסף זמין במאמר בנושא הפניה ל-PostgreSQL max_wal_size.

  • (אופציונלי) ENVIRONMENT_TYPE: קובע את הסביבה שבה מוגדר האשכול – onprem או gcp.

  • (אופציונלי) VIRTUAL_IP: כתובת IP וירטואלית שמשמשת את מאזן העומסים. אם מגדירים את dbLoadBalancerOptions, זהו שדה חובה. מידע נוסף מופיע במאמר בנושא ניהול זמינות גבוהה.

  • (אופציונלי) VIRTUAL_IP_INTERFACE: ממשק הרשת שבו VIRTUAL_IP מוגדר. ערך ברירת המחדל הוא eth0.

יצירת האשכול

כדי ליצור את האשכול, בוחרים את הכרטיסייה שמתאימה לסביבה שלכם ופועלים לפי ההוראות.

Ansible

כדי ליצור את האשכול, פועלים לפי ההוראות הבאות:

  1. יוצרים מדריך הפעלה למפרטים של אשכול מסדי הנתונים.

    - name: Create DBCluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.bootstrap
    
    

    מחליפים את המשתנים הבאים:

    • ‫ANSIBLE_USER: משתמש במערכת ההפעלה שמשמש את Ansible כדי להתחבר לצמתים של AlloyDB Omni.

    • ‫ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible לחיבור לצמתים של AlloyDB Omni באמצעות SSH.

  2. מפעילים את חוברת ההדרכה.

    ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPEC" \
          -e resource_spec="DBCLUSTER_SPECIFICATIONS"

    מחליפים את המשתנים הבאים:

    • ‫DBCLUSTER_PLAYBOOK: הנתיב ל-playbook שיצרתם לאשכול מסד הנתונים.

    • ‫DEPLOYMENT_SPEC: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.

    • ‫DBCLUSTER_SPECIFICATIONS: הנתיב למפרט האשכול.

alloydbctl

כדי ליצור את האשכול, מריצים את הפקודה הבאה:

alloydbctl apply -d "DEPLOYMENT_SPEC" -r "DBCLUSTER_SPECIFICATIONS"

מחליפים את המשתנים הבאים:

  • ‫DEPLOYMENT_SPEC: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.

  • ‫DBCLUSTER_SPECIFICATIONS: הנתיב למפרט האשכול.

מחיקת האשכול

כדי למחוק את האשכול, בוחרים את הכרטיסייה שמתאימה לסביבה שלכם ופועלים לפי ההוראות.

Ansible

כדי למחוק את האשכול באמצעות Ansible, מבצעים את הפעולות הבאות:

  1. יוצרים playbook בשם teardown.yaml:

    - name: Tear down AlloyDB Omni cluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.delete
    
  2. מריצים את הפלייבוק באמצעות ansible-playbook. צריך לציין את DBCluster בתור resource_type ואת שם האשכול שרוצים למחוק בתור resource_name.

    ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
      -e `resource_type`=`DBCluster` -e `resource_name`="DBCLUSTER_NAME"

אם תהליך ההסרה נכשל בגלל חוסר עקביות במצב האשכול (לדוגמה, אם לא ניתן להגיע לצומת), אפשר לנסות למחוק את האשכול בכוח על ידי הוספת -e force=true לפקודה. ההוראה הזו גורמת לכלי האורקסטרציה להתעלם משגיאות במהלך תהליך ההסרה ולנסות להסיר כמה שיותר משאבים.

  ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
    -e resource_type=DBCluster -e resource_name="DBCLUSTER_NAME" -e force=true

alloydbctl

כדי למחוק את האשכול באמצעות alloydbctl, מריצים את הפקודה הבאה:

alloydbctl delete -d "DEPLOYMENT_SPEC" \
      --resource_type DBCluster --resource_name "DBCLUSTER_NAME"

מחליפים את המשתנים הבאים:

  • ‫DEPLOYMENT_SPEC: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.

  • ‫DBCLUSTER_NAME: שם אשכול מסד הנתונים. לדוגמה, my-dbcluster.

נספח: מפרטים של מדיניות SELinux

בטבלאות הבאות מפורטים כללי המדיניות של SELinux והרשאות הגישה שמוגדרים לכל רכיב שפועל בצמתים המתאימים. מדיניות זו מגדירה את הגבולות המחייבים של טכנולוגיות לבידוד תהליכים, של שיוך שקעי רשת ושל גישה לאחסון שנדרשים כשמריצים מארחים במצב אכיפה של SELinux.

AlloyDB Omni

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
‫init_t (systemd) postgresql_exec_t file getattr,‏ open,‏ read,‏ execute מאפשר למנהל השירותים של systemd להריץ את הקובץ הבינארי של PostgreSQL.
init_t postgresql_t process transition אוכפת מעבר חובה של הדומיין מ-systemd לדומיין המוגבל postgresql_t.
postgresql_t postgresql_exec_t file entrypoint,‏ execute,‏ read,‏ map הגבלת הזנת הדומיין אך ורק לקובץ ההפעלה הרשמי של PostgreSQL.
postgresql_t lib_t file / dir read,‏ open,‏ getattr,‏ map ההרשאה הזו מאשרת ל-dynamic linker לגשת לספריות של מסדי נתונים משותפים.
postgresql_t postgresql_db_t dir ‫open, read, write, create, rmdir, search, getattr, setattr, add_name, remove_name ניהול מחזור החיים המלא של ספריית האחסון עבור ספריית הנתונים ומרחבי הטבלאות.
postgresql_t postgresql_db_t file ‫open, read, write, create, unlink, lock, append, getattr, setattr, map נותן הרשאה לפעולות קריאה/כתיבה בטבלאות heap, בפלחים של WAL, בקטלוגים ובאינדקסים.
postgresql_t postgresql_var_run_t dir / sock_file ‫open, read, write, create, unlink, search, getattr מנהלת את קובץ ה-PID של זמן הריצה ואת שקע הדומיין של מערכת Unix ב-/var/run/postgresql.
postgresql_t postgresql_port_t tcp_socket name_bind הגבלת קשירת רשת TCP ליציאות PostgreSQL שהוקצו (ברירת מחדל TCP 5432).
alloydbomni_nm_t postgresql_exec_t file execute, execute_no_trans, getattr, open, read, map ההרשאה מאפשרת ל-Node Manager להריץ בדיקות תקינות ולשלוט בכלים, למשל pg_isready או pg_ctl.
alloydbomni_nm_t postgresql_db_t dir / file ‫open, read, write, create, unlink, relabelto, relabelfrom מעניקה ל-Node Manager את הסמכות לאתחל ספריות ולהחיל תוויות SELinux.

AlloyDB Omni monitor

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
postgresql_t unreserved_port_t tcp_socket name_bind נותן הרשאה לביצוע binding ליציאה גבוהה לא שמורה כדי לייצא מדדים של Prometheus ומצב תקינות.
postgresql_t net_conf_t file open, read, getattr הרשאת קריאה בלבד ל-/etc/resolv.conf ל-DNS ולתרגום שם המארח.
postgresql_t sysfs_t file / dir open,‏ read,‏ getattr,‏ search בדיקת מדדים של המארח בלי להעניק הרשאות root או הרשאות אדמין.

Keepalived

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
keepalived_t keepalived_script_exec_t file execute, execute_no_trans, getattr, open, read, map, setattr, ioctl מגביל את ההרצה של סקריפטים למעקב אחר VIP להקשר סקריפט ייעודי ומוגבל.
keepalived_t hostname_exec_t file execute, execute_no_trans, getattr, open, read, map מפעיל את hostname המערכת הרגיל כדי לאמת את זהות הצומת במהלך מעבר לגיבוי בעת כשל.
keepalived_t ifconfig_exec_t file execute, execute_no_trans, getattr, open, read, map הקצאה ושחרור של כתובת IP וירטואלית בממשק הרשת הפיזי.
keepalived_t systemd_systemctl_exec_t file execute, execute_no_trans, getattr, open, read, map השאילתות שולפות את מצבי התלות של השירות באמצעות systemctl בלי לשנות את הגדרות השירות.
keepalived_t system_dbusd_t unix_stream_socket connectto מתחבר לדמון של DBus במערכת כדי לקבל התראות בין תהליכים.
keepalived_t system_dbusd_t / init_t dbus send_msg משדר אירועים של מעבר בין מצבים של DBus לדומיין init_t systemd.
keepalived_t haproxy_unit_file_t / systemd_unit_file_t service status בודק את מצב הפעולה של HAProxy ושירותים קשורים.
keepalived_t haproxy_var_lib_t dir / file / sock_file open, read, write, search, getattr בודק את שקע הנתונים הסטטיסטיים של HAProxy שמוצב באותו מיקום ב-/var/lib/haproxy בזמן הפריסה.
keepalived_t keepalived_var_run_t dir / file ‫open, read, write, create, unlink, search, getattr שומר את מצב זמן הריצה ואת קבצי המעקב של מזהי התהליך ב-/var/run/keepalived.
alloydbomni_nm_t keepalived_t process signal, signull מאפשר ל-Node Manager לנהל את מחזור החיים של דמון באמצעות אותות POSIX.

HAProxy

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
haproxy_t postgresql_port_t tcp_socket name_bind, name_connect הוא מאזין ביציאה 5432 ומעביר חיבורים למסד נתונים לצמתים של מסד נתונים בעורף.
haproxy_t unreserved_port_t tcp_socket name_bind, name_connect הוא מאזין ליציאות של מאזן עומסים בהתאמה אישית ומתחבר לנקודות קצה לקריאה/כתיבה במעלה הזרם.
haproxy_t haproxy_conf_t file / dir open,‏ read,‏ search,‏ getattr הרשאת קריאה בלבד להגדרות של /etc/haproxy/haproxy.cfg.
haproxy_t haproxy_var_lib_t dir / file / sock_file ‫open, read, write, create, unlink, search, getattr מנהל את שקעי זמן הריצה ואת טבלאות הנתונים הסטטיסטיים ב-/var/lib/haproxy.
haproxy_t haproxy_var_run_t dir / file ‫open, read, write, create, unlink, search, getattr מנהל את ה-PID ואת שקעי הבקרה ב-/var/run/haproxy.
alloydbomni_nm_t haproxy_unit_file_t service start, stop, status, reload, enable, disable נותן ל-Node Manager הרשאה לשלוט במחזור החיים של שירות HAProxy systemd.
alloydbomni_nm_t haproxy_t process signal, signull נותן ל-Node Manager הרשאה לשלוח אותות טעינה מחדש כשמתבצעים שינויים בהגדרות.

PgBouncer

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
init_t pgbouncer_exec_t file getattr,‏ open,‏ read,‏ execute מאפשר ל-systemd להפעיל את קובץ ההפעלה של PgBouncer ‏ (/usr/bin/pgbouncer).
init_t pgbouncer_t process transition אוטומציה של מעבר דומיין מ-systemd ל-pgbouncer_t מבודד.
pgbouncer_t pgbouncer_exec_t file entrypoint,‏ execute,‏ read,‏ map מגביל את נקודת הכניסה לקובץ ההפעלה ל-/usr/bin/pgbouncer.
pgbouncer_t unreserved_port_t tcp_socket name_bind הקשבה לחיבורים נכנסים של מסד נתונים של לקוח, למשל, יציאת TCP‏ 6432.
pgbouncer_t node_t tcp_socket node_bind קשירת שקע רשת לממשקי רשת של צומת.
pgbouncer_t postgresql_port_t / unreserved_port_t tcp_socket name_connect מתחיל חיבורי TCP למופעי מסד נתונים של AlloyDB Omni בשרת העורפי.
pgbouncer_t self unix_stream_socket ‫create, bind, listen, accept, read, write, connectto מספק קישוריות מקומית של לקוחות דרך שקעי דומיין של Unix.
pgbouncer_t pgbouncer_conf_t file / dir open,‏ read,‏ getattr,‏ search גישת קריאה בלבד לקובצי ההגדרות של /etc/pgbouncer/pgbouncer.ini ולקובצי אימות המשתמשים.
pgbouncer_t pgbouncer_var_run_t / tmp_t dir / sock_file ‫open, read, write, create, unlink, search, getattr יוצר ומנהל קבצי socket של זמן ריצה ב-/var/run/pgbouncer וב-/tmp.
pgbouncer_t self netlink_route_socket create, bind, read, write, nlmsg_read, getattr מגלה את נתיב הרשת לפתרון של מסד נתונים ונקודות קצה של לקוחות.
pgbouncer_t self udp_socket ‫create, connect, read, write, getattr, setopt, getopt מבצע פענוח של שמות DNS.
pgbouncer_t init_t / kernel_t unix_dgram_socket sendto שולח אותות דופק ומוכנות של sd_notify ל-systemd.
pgbouncer_t sysfs_t file / dir open,‏ read,‏ getattr,‏ search קריאת טופולוגיית המעבד לצורך אופטימיזציה של Thread עובד.

pgBackRest

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
postgresql_t / alloydbomni_nm_t pgbackrest_exec_t file execute, getattr, open, read, map מאפשר ל-Postgres ול-Node Manager להפעיל את /usr/bin/pgbackrest לגיבוי ולארכיון של WAL, בהתאמה.
postgresql_t / alloydbomni_nm_t pgbackrest_t process transition,‏ signal,‏ sigkill,‏ signull תהליך מבוקר של מעבר לדומיין מוגבל pgbackrest_t.
pgbackrest_t pgbackrest_exec_t file ‫entrypoint, execute, execute_no_trans, read, map, getattr, open מגביל את נקודת הכניסה הבינארית של pgBackRest.
pgbackrest_t postgresql_db_t dir / file / lnk_file ‫open, read, write, create, unlink, lock, append, search, getattr, setattr, map קריאה/כתיבה של קבצים של מסד נתונים במהלך גיבוי פיזי ושחזור לנקודת זמן מסוימת (PITR).
pgbackrest_t postgresql_t unix_stream_socket connectto מתחבר למנוע PostgreSQL שפועל באמצעות שקע מקומי כדי להפעיל נקודות ביקורת של גיבוי.
pgbackrest_t postgresql_var_run_t dir / sock_file / file open, read, write, search, getattr ניגש לשקע החיבור של PostgreSQL ב-/var/run/postgresql.
pgbackrest_t http_port_t tcp_socket name_connect תעבורת נתונים יוצאת מחמירה: חיבורי TCP יוצאים מוגבלים באופן מחמיר ל-HTTPS ‏ (443) לאחסון אובייקטים בענן (GCS/S3). אסור להשתמש במאזינים לשיחות נכנסות.
pgbackrest_t cert_t dir / file / lnk_file open, read, search, getattr, map קורא אישורים ממאגר האישורים של המערכת (/etc/pki/tls) כדי לאמת חיבורי TLS לאחסון אובייקטים.
pgbackrest_t pgbackrest_conf_t file / dir open, read, getattr, search, map הרשאת קריאה בלבד להגדרות של /etc/pgbackrest/pgbackrest.conf.
pgbackrest_t pgbackrest_log_t file / dir ‫open, read, write, create, unlink, append, lock, getattr, setattr ניהול יומני ביקורת ב-/var/log/pgbackrest.
pgbackrest_t pgbackrest_tmp_t dir / file / sock_file ‫open, read, write, create, unlink, append, lock, getattr, setattr, relabelto, relabelfrom אחסון זמני ייעודי ומבודד ושקעי תקשורת בין-שרשוריים ב-/tmp/pgbackrest.
pgbackrest_t shadow_t / sysfs_t / sssd_var_lib_t file / dir dontaudit (מבוטל) הכלי משמיט ומתעלם בשקט מבדיקות לא רלוונטיות של פרטי כניסה למארח, וכך מונע זיהום של יומן הביקורת.

Node Manager

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
init_t alloydbomni_nm_exec_t file getattr,‏ open,‏ read,‏ execute מאפשר ל-systemd להפעיל את דמון Node Manager.
alloydbomni_nm_t self capability ‫audit_write, chown, dac_override, dac_read_search, fowner, fsetid, setgid, setuid, net_admin יכולות Linux מוגבלות שנדרשות לניהול מחזור החיים של המארח ולהקצאת נפח אחסון.
alloydbomni_nm_t unreserved_port_t tcp_socket name_bind, name_connect משרת ממשקי API של gRPC / HTTP ל-Cluster Manager ומשרת בדיקות תקינות ל-HAProxy.
alloydbomni_nm_t http_port_t tcp_socket name_connect תקשורת יוצאת עם ממשקי API בענן או עם נקודות קצה של ניטור.
alloydbomni_nm_t semanage_exec_t,‏ setfiles_exec_t,‏ setsebool_exec_t,‏ load_policy_exec_t file execute, execute_no_trans, getattr, open, read, map מבצעת קובצי הפעלה של ניהול SELinux כדי לקמפל ולאכוף מדיניות CIL.
alloydbomni_nm_t security_t security load_policy טוען מודולים של מדיניות SELinux שעברו קומפילציה ישירות לליבת Linux.
alloydbomni_nm_t semanage_store_t, selinux_config_t dir / file ‫open, read, write, create, unlink, lock, getattr שומר את הגדרות המדיניות הקבועות של SELinux.
alloydbomni_nm_t unlabeled_t (דיסקים/נקודות הרכבה) filesystem / dir / file ‫getattr, open, read, write, create, unlink, setattr, relabelto, relabelfrom הוספת תוויות דינמית לדיסקים: המערכת מזהה דיסקים חדשים שצורפו, למשל /data1 או /obs, ומוסיפה להם תוויות כמו postgresql_db_t.
alloydbomni_nm_t rpm_exec_t file ‫execute, execute_no_trans, getattr, open, read, ioctl, map מבצע פקודות של מנהל חבילות RPM/DNF להתקנה ולעדכונים אוטומטיים של תוכנה.
alloydbomni_nm_t rpm_var_cache_t, rpm_var_lib_t, rpm_log_t dir / file ‫open, read, write, create, unlink, lock, getattr מנהל את מסד הנתונים של RPM ואת קובצי המטמון במהלך התקנת החבילות.
alloydbomni_nm_t systemd_unit_file_t,‏ syslogd_unit_file_t,‏ haproxy_unit_file_t,‏ keepalived_unit_file_t service start, stop, status, reload, enable, disable מבצע תזמור של מחזורי החיים של שירותי systemd בכל מסדי הנתונים המנוהלים ורכיבי העזר.
alloydbomni_nm_t system_dbusd_t, systemd_logind_t, systemd_hostnamed_t dbus / unix_stream_socket send_msg, connectto מתאם בין מצב המארח, הזמן ורישום המערכת ביומן באמצעות DBus של המערכת.

Cluster Manager

דומיין המקור משאב יעד / סוג דרגות אבטחה הרשאות שניתנו הסבר והגבלות בנושא אבטחה
init_t alloydbcontrol_exec_t file getattr,‏ open,‏ read,‏ execute מאפשר ל-systemd להפעיל את קובץ ההפעלה של Cluster Manager.
alloydbcontrol_t alloydbcontrol_exec_t file entrypoint, execute, read, map, getattr, open הגבלת ההרצה של מישור הבקרה לקובץ הבינארי המורשה.
alloydbcontrol_t unreserved_port_t tcp_socket name_bind, name_connect קושר את נקודות הקצה של ה-API ומתחבר ל-Distributed Consensus Store ‏ (DCS / etcd) ול-Node Managers.
alloydbcontrol_t node_t tcp_socket node_bind קשירת מאזיני רשת לממשקי רשת.
alloydbcontrol_t alloydbcontrol_conf_t file / dir open,‏ read,‏ search,‏ getattr הרשאת קריאה בלבד להגדרות של /etc/alloydbomni/cluster_manager.
alloydbcontrol_t net_conf_t,‏ passwd_file_t,‏ sssd_public_t,‏ sssd_var_lib_t file / dir open,‏ read,‏ search,‏ getattr פתרון בעיות שקשורות למארח ולאימות משתמשים בממשקי ניהול.
alloydbcontrol_t cgroup_t, sysctl_net_t, sysfs_t file / dir open,‏ read,‏ search,‏ getattr אופטימיזציה של ביצועים וטלמטריה של זמן הריצה של Go לקריאה בלבד.
alloydbcontrol_t init_t unix_stream_socket dontaudit (ioctl) ההגדרה הזו מבטלת את האזהרות הלא קריטיות של ioctl של מתאר קובץ systemd.