Vista geral da API Organization Policy

A API Organization Policy usa recursos personalizados do Kubernetes e baseia-se no modelo de recursos do Kubernetes (KRM). É usado para gerir o ciclo de vida das políticas de organização, como a criação, a atualização e a eliminação.

Para usar a API Organization Policy, recomendamos que use a CLI do Kubernetes kubectl. Se a sua aplicação precisar de usar as suas próprias bibliotecas para chamar esta API, use o exemplo seguinte, a definição completa da API e a página de correspondência de políticas dedicada para criar os seus pedidos.

Ponto final do serviço e documento de descoberta

O ponto final da API Organization Policy é: https://MANAGEMENT_API_SERVER_ENDPOINT/apis/constraints.gatekeeper.sh/v1beta1 onde MANAGEMENT_API_SERVER_ENDPOINT é o ponto final do servidor da API Management.

Com o comando kubectl proxy, pode aceder a esse URL no seu navegador ou com uma ferramenta como curl para obter o documento de descoberta da API Organization Policy. O comando kubectl proxy abre um proxy para o servidor da API Kubernetes na sua máquina local. Depois de executar esse comando, pode aceder ao documento no seguinte URL: http://127.0.0.1:8001/apis/constraints.gatekeeper.sh/v1beta1.

Exemplo KRM

O exemplo seguinte é um objeto GDCHRestrictedServices na API Organization Policy para restringir a utilização do serviço de base de dados a projetos que tenham a etiqueta 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"