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 = {
"client_service_account": " ... ",
"server_credentials": " ... "}
credentials = cloudauthz.authorize("gcp", config)
The credentials
object is an instance of oauth2client.client.AccessTokenCredentials
.
GCP clients can be constructed using this object; however, if an access token is required,
you may obtain one using the access_token
property of this instance:
credentials.access_token
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
Built Distribution
Hashes for cloudauthz-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aad1350683ddea1c4f6219cc6f7d6e55719f49701182361bfdac3a55af9ee25 |
|
MD5 | 39718a2bcde56703d744957adee6499f |
|
BLAKE2b-256 | 4ffd0885a06a7cce390d3288716d378f98e5195c7f9296010a83e77071ec17de |