Organization Policy API menggunakan resource kustom Kubernetes dan mengandalkan Model Resource Kubernetes (KRM). API ini digunakan untuk mengelola siklus proses kebijakan organisasi seperti membuat, memperbarui, menghapus.
Untuk menggunakan Organization Policy API, sebaiknya gunakan Kubernetes CLI
kubectl
. Jika aplikasi Anda perlu menggunakan librarynya sendiri untuk memanggil API ini, gunakan contoh berikut, definisi API lengkap, dan halaman kecocokan kebijakan khusus untuk membuat permintaan Anda.
Endpoint layanan dan dokumen penemuan
Endpoint API untuk Organization Policy API adalah:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/constraints.gatekeeper.sh/v1beta1
dengan MANAGEMENT_API_SERVER_ENDPOINT
adalah endpoint server Management API.
Dengan menggunakan perintah kubectl proxy
, Anda dapat mengakses URL tersebut di browser atau
dengan alat seperti curl
untuk mendapatkan dokumen penemuan Organization
Policy API. Perintah kubectl proxy
membuka proxy ke server Kubernetes API di mesin lokal Anda. Setelah perintah tersebut berjalan, Anda dapat mengakses
dokumen di URL berikut:
http://127.0.0.1:8001/apis/constraints.gatekeeper.sh/v1beta1
.
Contoh KRM
Berikut adalah contoh objek GDCHRestrictedServices
di Organization Policy API untuk membatasi penggunaan Layanan Database ke project yang memiliki label owner: dba-team
.
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
name: db-restricted-to-dbas
spec:
match:
scope: Namespaced
namespaceSelector:
matchExpressions:
# We are restricting the use of the service in namespaces that
# DON'T have the owner: dba-team label
- key: owner
operator: NotIn
values:
- dba-team
kinds:
- apiGroups:
- "postgresql.ods.anthosapis.com"
kinds:
- Dbclusters
- Backupplans
- Imports
- Restores
- apiGroups:
- "oracle.ods.anthosapis.com"
kinds:
- Dbclusters
- Backupplans
- Imports
parameters:
disabledOperations:
- "UPDATE"
- "CREATE"