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
L'esempio seguente è un oggetto GDCHRestrictedServices
nell'API Organization Policy per limitare l'utilizzo del servizio 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"