Implements means of authorization delegation on cloud-based resource providers.
Project description
CloudAuthz
Installation
Install the latest release from PyPi:
pip install cloudauthz
Example
CloudAuthz can authorize access to Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). An example for each provider is given in the following.
-
Amazon Web Services
from cloudauthz import * cloudauthz = CloudAuthz() config = { "id_token": " ... ", "role_arn": " ... " } credentials = cloudauthz.authorize("aws", config)
The
credentials
object is a dictionary as the following:{ "SecretAccessKey": " ... ", "SessionToken": " ... ", "Expiration": "2019-05-28T02:12:45Z", "AccessKeyId": " ... " }
-
Microsoft Azure
from cloudauthz import * cloudauthz = CloudAuthz() config = { "tenant_id": " ... ", "client_id": " ... ", "client_secret": " ... " } credentials = cloudauthz.authorize("azure", config)
The
credentials
object is a dictionary as the following:{ "expiresIn": 3599, "_authority": "https://login.microsoftonline.com/TENANT_ID", "resource": "https://storage.azure.com/", "tokenType": "Bearer", "expiresOn": "2018-06-28 12:30:24.895661", "isMRRT": true, "_clientId": " ... ", "accessToken": " ... ", }
-
Google Cloud Platform
from cloudauthz import * cloudauthz = CloudAuthz() config = { "project_id": "...", "private_key_id": "...", "private_key": "...", "client_email": "...", "client_id": "..." } credentials = cloudauthz.authorize("gcp", config)
The
credentials
object is a dictionary containing the following keys:{ "type": "service_account", "project_id": "...", "private_key_id": "...", "private_key": "...", "client_email": "...", "client_id": "...", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "..." }
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
cloudauthz-0.6.0.tar.gz
(6.2 kB
view details)
Built Distribution
File details
Details for the file cloudauthz-0.6.0.tar.gz
.
File metadata
- Download URL: cloudauthz-0.6.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e62f3ae04b1842540ca484717d40bd9ec17c6764dd842c1f73f6290b9b54ac1 |
|
MD5 | 5d271d6ddc90d6be7526305bd19ebb6f |
|
BLAKE2b-256 | 6546639ff537ab106ae3fd16a60b949d983acf78d8e065cb3454df340b4e1724 |
File details
Details for the file cloudauthz-0.6.0-py2.py3-none-any.whl
.
File metadata
- Download URL: cloudauthz-0.6.0-py2.py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e76e65c9fa3f3e1c63d44bd4488e0d75c0ede919870e0e9f08eae21f1316193b |
|
MD5 | f1674e9e22829b15988b19157d4b9c02 |
|
BLAKE2b-256 | 614f390c7c2d1b2777e8a4a70c295e911778b41a14f5936dec70ed5646d0c767 |