제한사항
다음과 같은 제한사항이 적용됩니다.
AlloyDB Omni는 포트
5432에서 실행됩니다. 맞춤 포트 구성은 지원되지 않습니다.클러스터를 만들기 전에 모든 데이터베이스 매개변수 구성이 올바른지 확인합니다. 클러스터가 생성되면 데이터베이스 매개변수를 수정할 수 없습니다.
시작하기 전에
클러스터를 만들기 전에 다음을 완료하세요.
오케스트레이터 내에서 프로비저닝된 모든 데이터베이스 노드에서
DataDisk를 PG_DATA_DIR에 마운트합니다.Ansible 대신
alloydbctl를 사용하려는 경우 필요한policycoreutils-python-utils패키지가 모든 VM에 설치되어 있는지 확인하세요. 이 패키지를 설치하려면 다음 명령어를 실행합니다.sudo dnf install policycoreutils-python-utilsGoogle Cloud 환경을 사용하는 경우
ENVIRONMENT_TYPE을gcp로 설정합니다. 그런 다음root사용자로gcloud auth login을 실행하여 gcloud CLI 계정을 인증해야 합니다. 또한 인증된 계정에는 다음 권한이 있어야 합니다.compute.instances.getcompute.instances.listcompute.instances.updateNetworkInterface
클러스터 사양 준비
클러스터를 만들려면 AlloyDB Omni가 클러스터를 구성하는 방법을 알아야 합니다. 필요한 사양을 만들려면 DBCluster 형식을 사용하여 YAML 파일을 만드세요.
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:postgres관리자 사용자에 사용되는 base64로 인코딩된 비밀번호입니다.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(1일)입니다.CPU_LIMIT: 데이터베이스 컨테이너에 할당할 CPU 수입니다. 예를 들면4입니다.MEMORY_LIMIT: 데이터베이스 컨테이너에 할당할 메모리 양입니다. 예를 들면32Gi,500Mi입니다.PG_DATA_DIR: 데이터베이스 데이터가 저장될 디렉터리의 호스트 경로입니다.(선택사항)
MAX_CONNECTIONS: PostgreSQL 데이터베이스에 대한 동시 연결의 최대 수입니다. 기본값은50입니다. 지원 값의 최솟값도50입니다. 자세한 내용은 PostgreSQLmax_connections참조를 참고하세요.(선택사항)
MAX_WAL_SIZE: 자동 체크포인트 중 미리 쓰기 로그 (WAL)가 증가할 수 있는 최대 크기입니다. 기본값은1GB입니다. 자세한 내용은 PostgreSQLmax_wal_size참조를 참고하세요.(선택사항)
ENVIRONMENT_TYPE: 클러스터가 설정된 환경(onprem또는gcp)을 결정합니다.(선택사항)
VIRTUAL_IP: 부하 분산기에서 사용하는 가상 IP 주소입니다.dbLoadBalancerOptions를 정의하는 경우 필수입니다. 자세한 내용은 고가용성 관리를 참고하세요.(선택사항)
VIRTUAL_IP_INTERFACE:VIRTUAL_IP이 구성된 네트워크 인터페이스입니다. 기본값은eth0입니다.
클러스터 만들기
클러스터를 만들려면 환경에 맞는 탭을 선택하고 안내를 따르세요.
Ansible
클러스터를 만들려면 다음 안내를 따르세요.
데이터베이스 클러스터 사양의 플레이북을 만듭니다.
- 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 노드에 로그인하는 데 사용하는 OS 사용자입니다.ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible이 SSH를 사용하여 AlloyDB Omni 노드에 연결하는 데 사용하는 비공개 키입니다.
플레이북을 실행합니다.
ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPEC" \ -e resource_spec="DBCLUSTER_SPECIFICATIONS"다음 변수를 바꿉니다.
DBCLUSTER_PLAYBOOK: 데이터베이스 클러스터에 대해 만든 플레이북의 경로입니다.DEPLOYMENT_SPEC: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.DBCLUSTER_SPECIFICATIONS: 클러스터 사양의 경로입니다.
alloydbctl
클러스터를 만들려면 다음 명령어를 실행합니다.
alloydbctl apply -d "DEPLOYMENT_SPEC" -r "DBCLUSTER_SPECIFICATIONS"다음 변수를 바꿉니다.
DEPLOYMENT_SPEC: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.DBCLUSTER_SPECIFICATIONS: 클러스터 사양의 경로입니다.
클러스터 삭제
클러스터를 삭제하려면 환경에 맞는 탭을 선택하고 안내를 따르세요.
Ansible
Ansible을 사용하여 클러스터를 삭제하려면 다음 단계를 완료하세요.
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.deleteansible-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 |
공유 데이터베이스 라이브러리에 대한 동적 링커 액세스를 승인합니다. |
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 |
힙 테이블, WAL 세그먼트, 카탈로그, 색인의 읽기/쓰기 작업을 승인합니다. |
postgresql_t |
postgresql_var_run_t |
dir/sock_file |
open, read, write, create, unlink, search, getattr |
/var/run/postgresql에서 런타임 PID 파일과 Unix 도메인 소켓을 관리합니다. |
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 |
노드 관리자가 상태 프로브를 실행하고 pg_isready 또는 pg_ctl과 같은 도구를 제어하도록 승인합니다. |
alloydbomni_nm_t |
postgresql_db_t |
dir/file |
open, read, write, create, unlink, relabelto, relabelfrom |
디렉터리를 초기화하고 SELinux 라벨을 적용할 권한을 노드 관리자에게 부여합니다. |
AlloyDB Omni 모니터
| 소스 도메인 | 대상 리소스 / 유형 | 보안 클래스 | 부여된 권한 | 보안 근거 및 제약 조건 |
|---|---|---|---|---|
postgresql_t |
unreserved_port_t |
tcp_socket |
name_bind |
Prometheus 측정항목 및 상태를 내보내기 위해 예약되지 않은 높은 포트에 바인딩하는 것을 승인합니다. |
postgresql_t |
net_conf_t |
file |
open, read, getattr |
DNS 및 호스트 이름 확인을 위한 /etc/resolv.conf에 대한 읽기 전용 액세스 권한 |
postgresql_t |
sysfs_t |
file/dir |
open, read, getattr, search |
루트 또는 관리 권한을 부여하지 않고 호스트 측정항목을 검사합니다. |
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 |
장애 조치 중에 노드 ID를 확인하기 위해 표준 시스템 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 |
배포 시 /var/lib/haproxy에서 동일한 위치에 있는 HAProxy 통계 소켓을 검사합니다. |
keepalived_t |
keepalived_var_run_t |
dir/file |
open, read, write, create, unlink, search, getattr |
/var/run/keepalived에서 런타임 상태 및 PID 추적 파일을 유지합니다. |
alloydbomni_nm_t |
keepalived_t |
process |
signal, signull |
노드 관리자가 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 |
/var/run/haproxy에서 PID 및 제어 소켓을 관리합니다. |
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 |
구성 변경 시 노드 관리자가 새로고침 신호를 전송하도록 승인합니다. |
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 |
백엔드 AlloyDB Omni 데이터베이스 인스턴스에 대한 TCP 연결을 시작합니다. |
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 |
/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 |
작업자 스레드 최적화를 위해 CPU 토폴로지를 읽습니다. |
pgBackRest
| 소스 도메인 | 대상 리소스 / 유형 | 보안 클래스 | 부여된 권한 | 보안 근거 및 제약 조건 |
|---|---|---|---|---|
postgresql_t/alloydbomni_nm_t |
pgbackrest_exec_t |
file |
execute, getattr, open, read, map |
Postgres와 노드 관리자가 각각 WAL 보관 및 백업을 위해 /usr/bin/pgbackrest를 실행할 수 있도록 허용 |
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 (point-in-time recovery) 중에 데이터베이스 파일을 읽거나 씁니다. |
pgbackrest_t |
postgresql_t |
unix_stream_socket |
connectto |
로컬 소켓을 사용하여 실행 중인 PostgreSQL 엔진에 연결하여 백업 체크포인트를 트리거합니다. |
pgbackrest_t |
postgresql_var_run_t |
dir / sock_file / file |
open, read, write, search, getattr |
/var/run/postgresql에서 PostgreSQL 연결 소켓에 액세스합니다. |
pgbackrest_t |
http_port_t |
tcp_socket |
name_connect |
엄격한 이그레스: 아웃바운드 TCP 연결이 클라우드 객체 스토리지 (GCS/S3)의 HTTPS (443)로 엄격하게 제한됩니다. 인바운드 리스너는 금지됩니다. |
pgbackrest_t |
cert_t |
dir / file / lnk_file |
open, read, search, getattr, map |
객체 스토리지에 대한 TLS 연결을 검증하기 위해 시스템 트러스트 저장소 인증서 (/etc/pki/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 (숨김) |
관련 없는 호스트 사용자 인증 정보 프로브를 자동으로 삭제하고 무시하여 감사 로그가 오염되지 않도록 합니다. |
노드 관리자
| 소스 도메인 | 대상 리소스 / 유형 | 보안 클래스 | 부여된 권한 | 보안 근거 및 제약 조건 |
|---|---|---|---|---|
init_t |
alloydbomni_nm_exec_t |
file |
getattr, open, read, execute |
systemd가 노드 관리자 데몬을 실행하도록 허용합니다. |
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 |
클러스터 관리자에게 gRPC / HTTP API를 제공하고 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를 통해 호스트 상태, 시간, 시스템 로깅을 조정합니다. |
클러스터 관리자
| 소스 도메인 | 대상 리소스 / 유형 | 보안 클래스 | 부여된 권한 | 보안 근거 및 제약 조건 |
|---|---|---|---|---|
init_t |
alloydbcontrol_exec_t |
file |
getattr, open, read, execute |
systemd가 클러스터 관리자 실행 파일을 실행하도록 허용합니다. |
alloydbcontrol_t |
alloydbcontrol_exec_t |
file |
entrypoint, execute, read, map, getattr, open |
컨트롤 플레인 실행을 승인된 바이너리로 제한합니다. |
alloydbcontrol_t |
unreserved_port_t |
tcp_socket |
name_bind, name_connect |
API 엔드포인트를 바인딩하고 분산 합의 스토어 (DCS / etcd) 및 노드 관리자에 연결합니다. |
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) |
중요하지 않은 systemd 파일 설명자 ioctl 경고를 억제합니다. |