Skip to main content

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:

diagram of Provider framework

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.

Release files for commonfate-provider 0.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for commonfate-provider 0.9.2
File Size Uploaded
commonfate_provider-0.9.2.tar.gz 19.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for commonfate-provider 0.9.2
File Interpreter ABI Platform
commonfate_provider-0.9.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.9 kB

Release files / commonfate_provider-0.9.2.tar.gz

Download URL commonfate_provider-0.9.2.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9b18d56b2d33616b896fbfd1eae6a45d40eedbf0cd4de7ae4e4f29f55997ce26
BLAKE2b-256 checksum
How to use checksums
5d28593fa8dc9d508715ffefed955dae244db6c6d20d3b061af6a10d52ee03e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.9.16 Linux/5.15.0-1034-azure

Release files / commonfate_provider-0.9.2-py3-none-any.whl

Download URL commonfate_provider-0.9.2-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82969d0824242601664b9134d788a1ed24104a0cbdccbda2d9dc178ea4a9e3e8
BLAKE2b-256 checksum
How to use checksums
cc723828c205f83d332452896a896873e3e7ec4b1e12e4c080d45ccbf2d58baa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.9.16 Linux/5.15.0-1034-azure

Release history Release notifications | RSS feed

This release

0.9.2 This release

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.0

2 release 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