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:
- Data Rules: For managing access to specific GeoServer resources (layers, services, etc.).
- Workspace Admin Rules: For managing administrative privileges on a per-workspace basis.
- 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
- AccessInfo
- AccessRequest
- AccessSummary
- AccessSummaryRequest
- AddressRangeFilter
- AdminAccessInfo
- AdminAccessRequest
- AdminGrantType
- AdminRule
- AdminRuleFilter
- CatalogMode
- Geom
- GrantType
- InsertPosition
- LayerAttribute
- LayerDetails
- Rule
- RuleFilter
- RuleLimits
- SetFilter
- SpatialFilterType
- TextFilter
- Wkb
- Wkt
- WorkspaceAccessSummary
Documentation For Authorization
Authentication schemes defined for the API:
basicAuth
- Type: HTTP basic authentication
Author
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7cc8571be99a92caf639c12d55eb42fa5cc06aaa03da65c5bf9b7e2306bccf9
|
|
| MD5 |
8f9b4ccbb44461b504f0e123dd5ca1d3
|
|
| BLAKE2b-256 |
2c58366632b68f03db594f5df28dcb84ca0d3c54a06dc7c55d4a0f51060f686b
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoserver_acl_client-3.0.2.tar.gz -
Subject digest:
e7cc8571be99a92caf639c12d55eb42fa5cc06aaa03da65c5bf9b7e2306bccf9 - Sigstore transparency entry: 2681157778
- Sigstore integration time:
-
Permalink:
geoserver/geoserver-acl@7d86384f778297c701718f4ea5fa93314093d833 -
Branch / Tag:
refs/tags/3.0.2 - Owner: https://github.com/geoserver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-client.yaml@7d86384f778297c701718f4ea5fa93314093d833 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoserver_acl_client-3.0.2-py3-none-any.whl.
File metadata
- Download URL: geoserver_acl_client-3.0.2-py3-none-any.whl
- Upload date:
- Size: 92.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e65702136c5fc0648dc0dade3d2d9d2b28f218978b9adec6fd31a1446975eb6
|
|
| MD5 |
45fbf1b1ee2d64b2d134f02d1ee10233
|
|
| BLAKE2b-256 |
3c36c36c07203d78cad0373ee11ce924e1bb5761898f5aa9f91ea3d9d14c082a
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoserver_acl_client-3.0.2-py3-none-any.whl -
Subject digest:
7e65702136c5fc0648dc0dade3d2d9d2b28f218978b9adec6fd31a1446975eb6 - Sigstore transparency entry: 2681157854
- Sigstore integration time:
-
Permalink:
geoserver/geoserver-acl@7d86384f778297c701718f4ea5fa93314093d833 -
Branch / Tag:
refs/tags/3.0.2 - Owner: https://github.com/geoserver
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-client.yaml@7d86384f778297c701718f4ea5fa93314093d833 -
Trigger Event:
push
-
Statement type: