Skip to main content

Common Fate Provider Development Kit

Project description

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.

Project details


Download files

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

Source Distribution

provider-0.10.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

provider-0.10.0-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file provider-0.10.0.tar.gz.

File metadata

  • Download URL: provider-0.10.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Darwin/21.6.0

File hashes

Hashes for provider-0.10.0.tar.gz
Algorithm Hash digest
SHA256 5b67088ffc6a3e36673592822cfb555476efb41b13c2b115f2583639c3811385
MD5 60537964b04e7882b5346eec35734d89
BLAKE2b-256 19b28f0da0ee25cf9c2a84285b0b62877524321a9c6cea4af939ed341048a660

See more details on using hashes here.

File details

Details for the file provider-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: provider-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Darwin/21.6.0

File hashes

Hashes for provider-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 050c865e178e5ec5c6a35dc51dfb345abe1be58cce2e853b1eccd288f872d7c5
MD5 0acc27a91967d4926abdaf9b241d8909
BLAKE2b-256 bc7e662f9468cf2af7625100f579cd7839f4eef4972bce8450f9ec744a102742

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page