Provider Development Kit
Common Fate Provider Development Kit for Python.
What is a provider?
A Provider is a Python service which provides a consistent API for managing fine-grain permissions.
Managing permissions in cloud providers, SaaS applications, and CI/CD platforms usually requires access to highly sensitive secrets, like administrative API tokens. The Provider framework allows for access to be granted and revoked to these platforms without requiring direct access to these tokens:
What does the Provider Development Kit do?
The Provider Development Kit (PDK) makes it easy to develop and deploy Providers.
class Provider(provider.Provider):
api_url = provider.String()
@access.target()
class Target:
...
@access.grant()
def grant(p: Provider, subject: str, target: Target):
# perform API calls here to grant access
...
@access.revoke()
def revoke(p: Provider, subject: str, target: Target):
# perform API calls here to revoke access
...
The PDK handles configuration and packaging into a cloud-native function which can be executed by an application.
Supported runtimes
Currently the supported runtimes for Providers are as follows:
- AWS Lambda
Provider Schemas
Each Provider has a strongly-typed schema. An example schema is shown below:
{
"audit": {
"resourceLoaders": {},
"resources": {}
},
"config": {},
"target": {
"MyTarget": {
"schema": {
"first": {
"description": "first var",
"id": "first",
"resourceName": null,
"title": "First",
"type": "string"
}
}
}
}
}
The schema is based on JSON Schema and allows applications using Providers to interpret the available resources and display the appropriate UI.
Metadata
Release files for provider 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| provider-0.11.0.tar.gz | 19.7 kB | Without provenance | Details for provider-0.11.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| provider-0.11.0-py3-none-any.whl | Python 3 | none | any | Details for provider-0.11.0-py3-none-any.whl |
Total release size: 52.7 kB
Release files / provider-0.11.0.tar.gz
| Download URL | provider-0.11.0.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
20dd93e7781220f0f3ff749988613f112ef6eaf09382d8468a2cc741f90a74a9
|
|
BLAKE2b-256 checksum How to use checksums |
925bf99c02bf91dcca41f704c72545dc44f5913bb178e1d2b88813c35a2abb9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.9.16 Linux/5.15.0-1035-azure
|
Release files / provider-0.11.0-py3-none-any.whl
| Download URL | provider-0.11.0-py3-none-any.whl |
|---|---|
| Size | 33.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
183c93918e643c4a1609c5106b53d15c9ef68a69934e98b6d663d22541d1e79d
|
|
BLAKE2b-256 checksum How to use checksums |
4a592f6d80da0d92497cb1c069635c3107785882d2d5a9b7f13a4641cd100a00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.9.16 Linux/5.15.0-1035-azure
|
Security for provider 0.11.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.