Skip to main content

geoserver-acl-client

This API provides comprehensive control over the GeoServer Access Control List (ACL) system. It allows for the management of fine-grained access rules and provides endpoints to query authorization decisions.

The API is divided into three main areas:

  1. Data Rules: For managing access to specific GeoServer resources (layers, services, etc.).
  2. Workspace Admin Rules: For managing administrative privileges on a per-workspace basis.
  3. Authorization: For querying the ACL system to determine access rights for a given request.

Rules are evaluated in priority order (lower numbers = higher priority) to determine whether a request should be allowed, denied, or limited. The API also provides authorization endpoints that evaluate these rules for specific access requests.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 3.0.2
  • Generator version: 7.25.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://github.com/geoserver/geoserver-acl

Requirements.

Python 3.10+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/geoserver/geoserver-acl.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/geoserver/geoserver-acl.git)

Then import the package:

import geoserver_acl_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import geoserver_acl_client

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import geoserver_acl_client
from geoserver_acl_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to /api
# See configuration.py for a list of all supported configuration parameters.
configuration = geoserver_acl_client.Configuration(
    host = "/api"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: basicAuth
configuration = geoserver_acl_client.Configuration(
    username = os.environ["USERNAME"],
    password = os.environ["PASSWORD"]
)


# Enter a context with an instance of the API client
with geoserver_acl_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = geoserver_acl_client.AuthorizationApi(api_client)
    access_request = geoserver_acl_client.AccessRequest() # AccessRequest | 

    try:
        # Evaluate resource access permissions
        api_response = api_instance.get_access_info(access_request)
        print("The response of AuthorizationApi->get_access_info:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AuthorizationApi->get_access_info: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to /api

Class Method HTTP request Description
AuthorizationApi get_access_info POST /authorization/resources Evaluate resource access permissions
AuthorizationApi get_admin_authorization POST /authorization/admin Evaluate workspace administration access
AuthorizationApi get_matching_rules POST /authorization/resources/matchingrules Get rules that match an access request
AuthorizationApi get_user_access_summary POST /authorization/accesssummary Get user access summary across workspaces
DataRulesApi count_all_rules GET /rules/query/count Count all data rules
DataRulesApi count_rules POST /rules/query/count Count rules matching filter criteria
DataRulesApi create_rule POST /rules Create a new data rule
DataRulesApi delete_all_rules DELETE /rules Delete all data rules
DataRulesApi delete_rule_by_id DELETE /rules/id/{id} Delete a data rule
DataRulesApi find_one_rule_by_priority GET /rules/query/one/priority/{priority} Find rule by priority value
DataRulesApi get_layer_details_by_rule_id GET /rules/id/{id}/layer-details
DataRulesApi get_rule_by_id GET /rules/id/{id} Get rule by ID
DataRulesApi get_rules GET /rules List all data rules
DataRulesApi query_rules POST /rules/query Query data rules with filters
DataRulesApi rule_exists_by_id GET /rules/id/{id}/exists Check if rule exists
DataRulesApi set_rule_allowed_styles PUT /rules/id/{id}/styles
DataRulesApi set_rule_layer_details PUT /rules/id/{id}/layer-details
DataRulesApi set_rule_limits PUT /rules/id/{id}/limits
DataRulesApi shift_rules_by_priority POST /rules/shift
DataRulesApi swap_rules POST /rules/id/{id}/swapwith/{id2}
DataRulesApi update_rule_by_id PATCH /rules/id/{id} Update an existing data rule
WorkspaceAdminRulesApi admin_rule_exists_by_id GET /adminrules/id/{id}/exists
WorkspaceAdminRulesApi count_admin_rules POST /adminrules/query/count
WorkspaceAdminRulesApi count_all_admin_rules GET /adminrules/query/count
WorkspaceAdminRulesApi create_admin_rule POST /adminrules
WorkspaceAdminRulesApi delete_admin_rule_by_id DELETE /adminrules/id/{id}
WorkspaceAdminRulesApi delete_all_admin_rules DELETE /adminrules
WorkspaceAdminRulesApi find_admin_rules POST /adminrules/query
WorkspaceAdminRulesApi find_all_admin_rules GET /adminrules
WorkspaceAdminRulesApi find_first_admin_rule POST /adminrules/query/first
WorkspaceAdminRulesApi find_one_admin_rule_by_priority GET /adminrules/query/one/priority/{priority}
WorkspaceAdminRulesApi get_admin_rule_by_id GET /adminrules/id/{id}
WorkspaceAdminRulesApi shift_admin_rules_by_priority POST /adminrules/shift
WorkspaceAdminRulesApi swap_admin_rules POST /adminrules/id/{id}/swapwith/{id2}
WorkspaceAdminRulesApi update_admin_rule PATCH /adminrules/id/{id}

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

basicAuth

  • Type: HTTP basic authentication

Author

geoserver-user@discourse.osgeo.org

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geoserver_acl_client-3.0.2.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geoserver_acl_client-3.0.2-py3-none-any.whl (92.6 kB view details)

Uploaded Python 3

File details

Details for the file geoserver_acl_client-3.0.2.tar.gz.

File metadata

  • Download URL: geoserver_acl_client-3.0.2.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for geoserver_acl_client-3.0.2.tar.gz
Algorithm Hash digest
SHA256 e7cc8571be99a92caf639c12d55eb42fa5cc06aaa03da65c5bf9b7e2306bccf9
MD5 8f9b4ccbb44461b504f0e123dd5ca1d3
BLAKE2b-256 2c58366632b68f03db594f5df28dcb84ca0d3c54a06dc7c55d4a0f51060f686b

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoserver_acl_client-3.0.2.tar.gz:

Publisher: publish-python-client.yaml on geoserver/geoserver-acl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geoserver_acl_client-3.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for geoserver_acl_client-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7e65702136c5fc0648dc0dade3d2d9d2b28f218978b9adec6fd31a1446975eb6
MD5 45fbf1b1ee2d64b2d134f02d1ee10233
BLAKE2b-256 3c36c36c07203d78cad0373ee11ce924e1bb5761898f5aa9f91ea3d9d14c082a

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoserver_acl_client-3.0.2-py3-none-any.whl:

Publisher: publish-python-client.yaml on geoserver/geoserver-acl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.0.3

2 files

This release

3.0.2 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page