Batasan
Batasan berikut berlaku:
AlloyDB Omni berjalan di port
5432. Mengonfigurasi port kustom tidak didukung.Pastikan semua konfigurasi parameter database sudah benar sebelum membuat cluster. Setelah cluster dibuat, Anda tidak dapat mengubah parameter database apa pun.
Sebelum memulai
Sebelum membuat cluster, selesaikan langkah-langkah berikut:
Memasang volume eksternal (
DataDisk) ke PG_DATA_DIR di semua node database yang disediakan dalam orchestrator.Jika Anda berencana menggunakan
alloydbctl, bukan Ansible, pastikan paketpolicycoreutils-python-utilsyang diperlukan telah diinstal di semua VM Anda. Untuk menginstal paket ini, jalankan perintah berikut:sudo dnf install policycoreutils-python-utilsJika Anda menggunakan lingkungan Google Cloud , tetapkan
ENVIRONMENT_TYPEkegcp. Kemudian, Anda harus mengautentikasi akun gcloud CLI dengan menjalankangcloud auth loginsebagai penggunaroot. Selain itu, akun yang diautentikasi harus memiliki izin berikut:compute.instances.getcompute.instances.listcompute.instances.updateNetworkInterface
Menyiapkan spesifikasi cluster
Untuk membuat cluster, AlloyDB Omni harus mengetahui cara mengonfigurasinya. Untuk membuat spesifikasi yang diperlukan, buat file YAML menggunakan format
DBCluster:
Secret:
metadata:
name: db-pw-DBCLUSTER_NAME
spec:
type: Opaque
data:
DBCLUSTER_NAME: BASE64_PASSWORD
---
DBCluster:
metadata:
name: DBCLUSTER_NAME
spec:
databaseVersion: 18.4.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"
Ganti variabel berikut:
DBCLUSTER_NAME: nama cluster database Anda. Contoh,my-dbcluster.BASE64_PASSWORD: sandi berenkode base64 yang digunakan untuk pengguna administratorpostgres.NUM_STANDBY_NODES: jumlah node standby di cluster Anda. Contoh,2.(Opsional)
AUTOFAILOVER_TRIGGER_THRESHOLD: jumlah kegagalan health check sebelum failover terjadi. Nilai defaultnya adalah3. Nilai minimum adalah0, tetapi jika nilai ditetapkan ke0, AlloyDB Omni akan menggunakan nilai default.Failover otomatis terjadi jika health check gagal
AUTOFAILOVER_TRIGGER_THRESHOLDkali atau jika durasi kumulatif health check mencapaiHEALTHCHECK_PERIOD * AUTOFAILOVER_TRIGGER_THRESHOLDdetik.(Opsional)
AUTOHEAL_TRIGGER_THRESHOLD: berapa kali health check dapat gagal sebelum auto-heal dimulai. Nilai defaultnya adalah3. Nilai minimum adalah0, tetapi jika nilai ditetapkan ke0, AlloyDB Omni akan menggunakan nilai default.Pemulihan otomatis terjadi jika health check gagal
AUTOHEAL_TRIGGER_THRESHOLDkali atau jika durasi kumulatif health check mencapaiHEALTHCHECK_PERIOD * AUTOHEAL_TRIGGER_THRESHOLDdetik.(Opsional)
HEALTHCHECK_PERIOD: jumlah detik untuk menunggu di antara setiap health check. Nilai defaultnya adalah30. Nilai minimum adalah1. Nilai maksimumnya adalah86400(satu hari).CPU_LIMIT: jumlah CPU yang akan dialokasikan ke container database. Contoh,4.MEMORY_LIMIT: jumlah memori yang akan dialokasikan ke container database. Misalnya,32Gi,500Mi.PG_DATA_DIR: jalur host ke direktori tempat data database akan disimpan.(Opsional)
MAX_CONNECTIONS: jumlah maksimum koneksi serentak ke database PostgreSQL. Nilai defaultnya adalah50. Nilai minimum yang didukung juga50. Untuk informasi selengkapnya, lihat Referensimax_connectionsPostgreSQL.(Opsional)
MAX_WAL_SIZE: ukuran maksimum untuk memungkinkan Write-Ahead-Log (WAL) bertambah selama checkpoint otomatis. Nilai defaultnya adalah1GB. Untuk mengetahui informasi selengkapnya, lihat referensimax_wal_sizePostgreSQL.(Opsional)
ENVIRONMENT_TYPE: menentukan lingkungan tempat cluster disiapkan—onpremataugcp.(Opsional)
VIRTUAL_IP: alamat IP virtual yang digunakan oleh load balancer. Jika Anda menentukandbLoadBalancerOptions, kolom ini wajib diisi. Untuk mengetahui informasi selengkapnya, lihat Mengelola ketersediaan tinggi.(Opsional)
VIRTUAL_IP_INTERFACE: antarmuka jaringan tempatVIRTUAL_IPdikonfigurasi. Nilai defaultnya adalaheth0.
Membuat cluster Anda
Untuk membuat cluster, pilih tab yang sesuai dengan lingkungan Anda dan ikuti petunjuknya.
Ansible
Untuk membuat cluster, selesaikan petunjuk berikut:
Buat playbook untuk spesifikasi cluster database Anda.
- 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.bootstrapGanti variabel berikut:
ANSIBLE_USER: Pengguna OS yang digunakan Ansible untuk login ke node AlloyDB Omni Anda.ANSIBLE_SSH_PRIVATE_KEY_FILE: kunci pribadi yang digunakan Ansible untuk terhubung ke node AlloyDB Omni Anda menggunakan SSH.
Jalankan playbook Anda.
ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPEC" \ -e resource_spec="DBCLUSTER_SPECIFICATIONS"Ganti variabel berikut:
DBCLUSTER_PLAYBOOK: jalur ke playbook yang Anda buat untuk cluster database.DEPLOYMENT_SPEC: jalur ke spesifikasi deployment yang Anda buat di Menginstal komponen AlloyDB Omni.DBCLUSTER_SPECIFICATIONS: jalur ke spesifikasi cluster Anda.
alloydbctl
Untuk membuat cluster, jalankan perintah berikut:
alloydbctl apply -d "DEPLOYMENT_SPEC" -r "DBCLUSTER_SPECIFICATIONS"Ganti variabel berikut:
DEPLOYMENT_SPEC: jalur ke spesifikasi deployment yang Anda buat di Menginstal komponen AlloyDB Omni.DBCLUSTER_SPECIFICATIONS: jalur ke spesifikasi cluster Anda.
Hapus cluster Anda
Untuk menghapus cluster, pilih tab yang sesuai dengan lingkungan Anda dan ikuti petunjuknya.
Ansible
Untuk menghapus cluster menggunakan Ansible, selesaikan langkah-langkah berikut:
Buat playbook bernama
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.deleteJalankan playbook menggunakan
ansible-playbook. Anda harus menentukanDBClustersebagairesource_typedan nama cluster yang akan dihapus sebagairesource_name.ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \ -e `resource_type`=`DBCluster` -e `resource_name`="DBCLUSTER_NAME"
Jika proses penghapusan gagal karena inkonsistensi dalam status cluster (misalnya, jika node tidak dapat dijangkau), Anda dapat mencoba menghapus paksa cluster dengan menambahkan -e force=true ke perintah. Hal ini menginstruksikan orchestrator untuk mengabaikan error selama proses penghapusan dan mencoba menghapus resource sebanyak mungkin.
ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
-e resource_type=DBCluster -e resource_name="DBCLUSTER_NAME" -e force=true alloydbctl
Untuk menghapus cluster menggunakan alloydbctl, jalankan perintah berikut:
alloydbctl delete -d "DEPLOYMENT_SPEC" \
--resource_type DBCluster --resource_name "DBCLUSTER_NAME"Ganti variabel berikut:
DEPLOYMENT_SPEC: jalur ke spesifikasi deployment yang Anda buat di Menginstal komponen AlloyDB Omni.DBCLUSTER_NAME: nama cluster database Anda. Contoh,my-dbcluster.
Lampiran: Spesifikasi kebijakan SELinux
Tabel berikut mencantumkan aturan kebijakan SELinux dan izin akses yang dikonfigurasi untuk setiap komponen yang berjalan di node masing-masing. Kebijakan ini menentukan batas wajib untuk isolasi proses, binding soket jaringan, dan akses penyimpanan yang diperlukan saat menjalankan host dalam mode SELinux Enforcing.
AlloyDB Omni
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
init_t (systemd) |
postgresql_exec_t |
file |
getattr, open, read, execute |
Mengizinkan pengelola layanan systemd untuk mengeksekusi biner PostgreSQL. |
init_t |
postgresql_t |
process |
transition |
Menerapkan transisi domain wajib dari systemd ke domain postgresql_t yang dibatasi. |
postgresql_t |
postgresql_exec_t |
file |
entrypoint, execute, read, map |
Membatasi entri domain secara ketat ke executable PostgreSQL resmi. |
postgresql_t |
lib_t |
file/dir |
read, open, getattr, map |
Mengizinkan akses linker dinamis ke library database bersama. |
postgresql_t |
postgresql_db_t |
dir |
open, read, write, create, rmdir, search, getattr, setattr, add_name, remove_name |
Mengelola siklus proses direktori penyimpanan lengkap untuk direktori data dan tablespace. |
postgresql_t |
postgresql_db_t |
file |
open, read, write, create, unlink, lock, append, getattr, setattr, map |
Mengizinkan operasi baca/tulis untuk tabel heap, segmen WAL, katalog, dan indeks. |
postgresql_t |
postgresql_var_run_t |
dir/sock_file |
open, read, write, create, unlink, search, getattr |
Mengelola file PID runtime dan soket domain Unix di /var/run/postgresql. |
postgresql_t |
postgresql_port_t |
tcp_socket |
name_bind |
Membatasi binding jaringan TCP secara ketat ke port PostgreSQL yang ditetapkan (TCP 5432 default). |
alloydbomni_nm_t |
postgresql_exec_t |
file |
execute, execute_no_trans, getattr, open, read, map |
Memberi otorisasi Node Manager untuk menjalankan pemeriksaan kondisi dan alat kontrol, misalnya pg_isready atau pg_ctl. |
alloydbomni_nm_t |
postgresql_db_t |
dir/file |
open, read, write, create, unlink, relabelto, relabelfrom |
Memberi Node Manager otoritas untuk melakukan inisialisasi direktori dan menerapkan label SELinux. |
Monitor AlloyDB Omni
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
postgresql_t |
unreserved_port_t |
tcp_socket |
name_bind |
Mengizinkan binding ke port tinggi yang tidak dicadangkan untuk mengekspor metrik Prometheus dan status respons. |
postgresql_t |
net_conf_t |
file |
open, read, getattr |
Akses hanya baca ke /etc/resolv.conf untuk resolusi DNS dan nama host. |
postgresql_t |
sysfs_t |
file/dir |
open, read, getattr, search |
Pemeriksaan metrik host tanpa memberikan hak istimewa root atau administratif. |
Keepalived
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
keepalived_t |
keepalived_script_exec_t |
file |
execute, execute_no_trans, getattr, open, read, map, setattr, ioctl |
Membatasi eksekusi skrip pelacakan VIP ke konteks skrip khusus yang dibatasi. |
keepalived_t |
hostname_exec_t |
file |
execute, execute_no_trans, getattr, open, read, map |
Memanggil hostname sistem standar untuk memverifikasi identitas node selama failover. |
keepalived_t |
ifconfig_exec_t |
file |
execute, execute_no_trans, getattr, open, read, map |
Menetapkan dan merilis IP Virtual pada antarmuka jaringan fisik. |
keepalived_t |
systemd_systemctl_exec_t |
file |
execute, execute_no_trans, getattr, open, read, map |
Mengueri status dependensi layanan menggunakan systemctl tanpa mengubah konfigurasi layanan. |
keepalived_t |
system_dbusd_t |
unix_stream_socket |
connectto |
Menghubungkan ke daemon DBus sistem untuk notifikasi antar-proses. |
keepalived_t |
system_dbusd_t/init_t |
dbus |
send_msg |
Menyiarkan peristiwa transisi status DBus ke domain systemd init_t. |
keepalived_t |
haproxy_unit_file_t/systemd_unit_file_t |
service |
status |
Memeriksa status operasional HAProxy dan layanan terkait. |
keepalived_t |
haproxy_var_lib_t |
dir / file / sock_file |
open, read, write, search, getattr |
Memeriksa soket statistik HAProxy yang ditempatkan bersama di /var/lib/haproxy saat di-deploy. |
keepalived_t |
keepalived_var_run_t |
dir/file |
open, read, write, create, unlink, search, getattr |
Mempertahankan status runtime dan file pelacakan PID di /var/run/keepalived. |
alloydbomni_nm_t |
keepalived_t |
process |
signal, signull |
Memungkinkan Node Manager mengelola siklus proses daemon menggunakan sinyal POSIX. |
HAProxy
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
haproxy_t |
postgresql_port_t |
tcp_socket |
name_bind, name_connect |
Memproses di port 5432 dan meneruskan koneksi database ke node database backend. |
haproxy_t |
unreserved_port_t |
tcp_socket |
name_bind, name_connect |
Memproses port load balancer kustom dan terhubung ke endpoint baca/tulis upstream. |
haproxy_t |
haproxy_conf_t |
file/dir |
open, read, search, getattr |
Akses konfigurasi hanya baca untuk /etc/haproxy/haproxy.cfg. |
haproxy_t |
haproxy_var_lib_t |
dir / file / sock_file |
open, read, write, create, unlink, search, getattr |
Mengelola soket runtime dan tabel statistik di /var/lib/haproxy. |
haproxy_t |
haproxy_var_run_t |
dir/file |
open, read, write, create, unlink, search, getattr |
Mengelola PID dan soket kontrol di /var/run/haproxy. |
alloydbomni_nm_t |
haproxy_unit_file_t |
service |
start, stop, status, reload, enable, disable |
Memberi otorisasi kepada Node Manager untuk mengontrol siklus proses layanan systemd HAProxy. |
alloydbomni_nm_t |
haproxy_t |
process |
signal, signull |
Memberi otorisasi Node Manager untuk mengirim sinyal muat ulang saat terjadi perubahan konfigurasi. |
PgBouncer
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
init_t |
pgbouncer_exec_t |
file |
getattr, open, read, execute |
Mengizinkan systemd untuk memanggil PgBouncer yang dapat dieksekusi (/usr/bin/pgbouncer). |
init_t |
pgbouncer_t |
process |
transition |
Mengotomatiskan transisi domain dari systemd ke pgbouncer_t yang terisolasi. |
pgbouncer_t |
pgbouncer_exec_t |
file |
entrypoint, execute, read, map |
Membatasi titik entri yang dapat dieksekusi ke /usr/bin/pgbouncer. |
pgbouncer_t |
unreserved_port_t |
tcp_socket |
name_bind |
Memproses koneksi database klien yang masuk, misalnya, port TCP 6432. |
pgbouncer_t |
node_t |
tcp_socket |
node_bind |
Mengikat soket jaringan ke antarmuka jaringan node. |
pgbouncer_t |
postgresql_port_t/unreserved_port_t |
tcp_socket |
name_connect |
Memulai koneksi TCP ke instance database AlloyDB Omni backend. |
pgbouncer_t |
self |
unix_stream_socket |
create, bind, listen, accept, read, write, connectto |
Menyediakan konektivitas klien lokal melalui soket domain Unix. |
pgbouncer_t |
pgbouncer_conf_t |
file/dir |
open, read, getattr, search |
Akses konfigurasi hanya baca untuk /etc/pgbouncer/pgbouncer.ini dan file autentikasi pengguna. |
pgbouncer_t |
pgbouncer_var_run_t/tmp_t |
dir/sock_file |
open, read, write, create, unlink, search, getattr |
Membuat dan mengelola file soket runtime di /var/run/pgbouncer dan /tmp. |
pgbouncer_t |
self |
netlink_route_socket |
create, bind, read, write, nlmsg_read, getattr |
Menemukan rute jaringan untuk menyelesaikan database dan endpoint klien. |
pgbouncer_t |
self |
udp_socket |
create, connect, read, write, getattr, setopt, getopt |
Melakukan resolusi nama DNS. |
pgbouncer_t |
init_t/kernel_t |
unix_dgram_socket |
sendto |
Mengirim sinyal heartbeat dan kesiapan sd_notify ke systemd. |
pgbouncer_t |
sysfs_t |
file/dir |
open, read, getattr, search |
Membaca topologi CPU untuk pengoptimalan thread pekerja. |
pgBackRest
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
postgresql_t/alloydbomni_nm_t |
pgbackrest_exec_t |
file |
execute, getattr, open, read, map |
Memungkinkan Postgres dan Node Manager menjalankan /usr/bin/pgbackrest untuk pengarsipan dan pencadangan WAL. |
postgresql_t/alloydbomni_nm_t |
pgbackrest_t |
process |
transition, signal, sigkill, signull |
Transisi proses yang terkontrol ke domain pgbackrest_t yang terbatas. |
pgbackrest_t |
pgbackrest_exec_t |
file |
entrypoint, execute, execute_no_trans, read, map, getattr, open |
Membatasi titik entri biner pgBackRest. |
pgbackrest_t |
postgresql_db_t |
dir / file / lnk_file |
open, read, write, create, unlink, lock, append, search, getattr, setattr, map |
Membaca/menulis file database selama pencadangan fisik dan Pemulihan Point-in-Time (PITR). |
pgbackrest_t |
postgresql_t |
unix_stream_socket |
connectto |
Terhubung ke mesin PostgreSQL yang sedang berjalan menggunakan soket lokal untuk memicu titik pemeriksaan pencadangan. |
pgbackrest_t |
postgresql_var_run_t |
dir / sock_file / file |
open, read, write, search, getattr |
Mengakses soket koneksi PostgreSQL di /var/run/postgresql. |
pgbackrest_t |
http_port_t |
tcp_socket |
name_connect |
Egress Ketat: Koneksi TCP keluar dibatasi secara ketat ke HTTPS (443) untuk penyimpanan objek cloud (GCS/S3). Pemroses masuk dilarang. |
pgbackrest_t |
cert_t |
dir / file / lnk_file |
open, read, search, getattr, map |
Membaca sertifikat trust store sistem (/etc/pki/tls) untuk memvalidasi koneksi TLS ke penyimpanan objek. |
pgbackrest_t |
pgbackrest_conf_t |
file/dir |
open, read, getattr, search, map |
Akses konfigurasi hanya baca untuk /etc/pgbackrest/pgbackrest.conf. |
pgbackrest_t |
pgbackrest_log_t |
file/dir |
open, read, write, create, unlink, append, lock, getattr, setattr |
Mengelola log audit di /var/log/pgbackrest. |
pgbackrest_t |
pgbackrest_tmp_t |
dir / file / sock_file |
open, read, write, create, unlink, append, lock, getattr, setattr, relabelto, relabelfrom |
Penyimpanan sementara terisolasi khusus dan soket komunikasi antar-thread di /tmp/pgbackrest. |
pgbackrest_t |
shadow_t / sysfs_t / sssd_var_lib_t |
file/dir |
dontaudit (dihentikan) |
Menghapus dan mengabaikan probe kredensial host yang tidak relevan secara diam-diam, sehingga mencegah polusi log audit. |
Node Manager
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
init_t |
alloydbomni_nm_exec_t |
file |
getattr, open, read, execute |
Memungkinkan systemd meluncurkan daemon Node Manager. |
alloydbomni_nm_t |
self |
capability |
audit_write, chown, dac_override, dac_read_search, fowner, fsetid, setgid, setuid, net_admin |
Kemampuan Linux yang dibatasi secara ketat diperlukan untuk pengelolaan siklus proses host dan penyediaan volume. |
alloydbomni_nm_t |
unreserved_port_t |
tcp_socket |
name_bind, name_connect |
Menyajikan API gRPC / HTTP ke pengelola cluster dan menyajikan pemeriksaan health check ke HAProxy. |
alloydbomni_nm_t |
http_port_t |
tcp_socket |
name_connect |
Komunikasi keluar ke Cloud API atau endpoint pemantauan. |
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 |
Menjalankan biner pengelolaan SELinux inti untuk mengompilasi dan menerapkan kebijakan CIL. |
alloydbomni_nm_t |
security_t |
security |
load_policy |
Memuat modul kebijakan SELinux yang telah dikompilasi langsung ke kernel Linux. |
alloydbomni_nm_t |
semanage_store_t, selinux_config_t |
dir/file |
open, read, write, create, unlink, lock, getattr |
Mempertahankan penyimpanan konfigurasi kebijakan persisten SELinux. |
alloydbomni_nm_t |
unlabeled_t (disk/pemasangan) |
filesystem / dir / file |
getattr, open, read, write, create, unlink, setattr, relabelto, relabelfrom |
Pelabelan Ulang Disk Dinamis: Menemukan disk mentah yang baru terpasang, misalnya /data1 atau /obs, dan melabeli ulang disk tersebut menjadi postgresql_db_t. |
alloydbomni_nm_t |
rpm_exec_t |
file |
execute, execute_no_trans, getattr, open, read, ioctl, map |
Mengeksekusi perintah pengelola paket RPM/DNF untuk penginstalan dan update software otomatis. |
alloydbomni_nm_t |
rpm_var_cache_t, rpm_var_lib_t, rpm_log_t |
dir/file |
open, read, write, create, unlink, lock, getattr |
Mengelola file cache dan database RPM selama penginstalan paket. |
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 |
Mengorkestrasi siklus proses layanan systemd di semua database terkelola dan komponen tambahan. |
alloydbomni_nm_t |
system_dbusd_t, systemd_logind_t, systemd_hostnamed_t |
dbus/unix_stream_socket |
send_msg, connectto |
Mengoordinasikan status host, waktu, dan logging sistem melalui DBus sistem. |
Pengelola Cluster
| Domain sumber | Resource / jenis target | Kelas keamanan | Izin yang diberikan | Alasan & batasan keamanan |
|---|---|---|---|---|
init_t |
alloydbcontrol_exec_t |
file |
getattr, open, read, execute |
Memungkinkan systemd meluncurkan pengelola cluster yang dapat dieksekusi. |
alloydbcontrol_t |
alloydbcontrol_exec_t |
file |
entrypoint, execute, read, map, getattr, open |
Membatasi eksekusi bidang kontrol ke program biner yang diizinkan. |
alloydbcontrol_t |
unreserved_port_t |
tcp_socket |
name_bind, name_connect |
Mengikat endpoint API dan terhubung ke Distributed Consensus Store (DCS / etcd) dan Node Manager. |
alloydbcontrol_t |
node_t |
tcp_socket |
node_bind |
Mengikat pemroses jaringan ke antarmuka jaringan. |
alloydbcontrol_t |
alloydbcontrol_conf_t |
file/dir |
open, read, search, getattr |
Akses konfigurasi hanya baca untuk /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 |
Resolusi host dan autentikasi pengguna untuk antarmuka pengelolaan. |
alloydbcontrol_t |
cgroup_t, sysctl_net_t, sysfs_t |
file/dir |
open, read, search, getattr |
Pengoptimalan performa dan telemetri runtime Go hanya baca. |
alloydbcontrol_t |
init_t |
unix_stream_socket |
dontaudit (ioctl) |
Menyembunyikan peringatan ioctl deskriptor file systemd yang tidak kritis. |