Ringkasan Organization Policy API

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

Contoh berikut adalah 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"