Panoramica dell'API Organization Policy

L'API Organization Policy utilizza risorse personalizzate Kubernetes e si basa sul modello di risorse Kubernetes (KRM). Viene utilizzato per gestire il ciclo di vita dei criteri dell'organizzazione, ad esempio la creazione, l'aggiornamento e l'eliminazione.

Per utilizzare l'API Organization Policy, ti consigliamo di utilizzare la CLI Kubernetes kubectl. Se la tua applicazione deve utilizzare le proprie librerie per chiamare questa API, utilizza l'esempio seguente, la definizione completa dell'API e la pagina dedicata alla corrispondenza con le norme per creare le richieste.

Endpoint di servizio e documento di rilevamento

L'endpoint API per l'API Organization Policy è: https://MANAGEMENT_API_SERVER_ENDPOINT/apis/constraints.gatekeeper.sh/v1beta1 dove MANAGEMENT_API_SERVER_ENDPOINT è l'endpoint del server API Management.

Utilizzando il comando kubectl proxy, puoi accedere a questo URL nel browser o con uno strumento come curl per ottenere il documento di rilevamento per l'API Organization Policy. Il comando kubectl proxy apre un proxy al server API Kubernetes sulla tua macchina locale. Una volta eseguito il comando, puoi accedere al documento al seguente URL: http://127.0.0.1:8001/apis/constraints.gatekeeper.sh/v1beta1.

Esempio di KRM

Di seguito è riportato un esempio di oggetto GDCHRestrictedServices nell'API Organization Policy per limitare l'utilizzo dei servizi di database ai progetti con l'etichetta 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"