No project description provided
Project description
GCP Impersonation wrapper
The gcp-impersonation-wrapper is a small util used to impersonate service accounts using service account. We pass the main credentials, list service accounts we can impersonate and then actually impersonate like so:
#!/usr/bin/env python3
from src.service_account import ServiceAccount
if __name__ == "__main__":
# Insert credentials here
credentials = None
service_account = ServiceAccount(
project_id="your-project-id",
impersonator_credentials=credentials
)
# Can be used in a with statement
with service_account.impersonate(
service_account_email="your-service-account-email",
target_scopes=["https://www.googleapis.com/auth/cloud-platform"],
service="iam",
version="v1"
) as impersonated_service_account:
# do something with the impersonated service account
service_accounts_the_impersonated_sacc_can_see = impersonated_service_account.service.projects(
).serviceAccounts().list().execute()
print(service_accounts_the_impersonated_sacc_can_see)
# Or as a variable
impersonated_service_account = service_account.impersonate(
service_account_email="your-service-account-email",
target_scopes=["https://www.googleapis.com/auth/cloud-platform"],
service="iam",
version="v1"
)
service_accounts_the_impersonated_sacc_can_see = impersonated_service_account.service.projects(
).serviceAccounts().list().execute()
To list the impersonatable service accounts we do:
#!/usr/bin/env python3
from src.service_account import ServiceAccount
if __name__ == "__main__":
# Insert credentials here
credentials = None
service_account = ServiceAccount(
project_id="your-project-id",
impersonator_credentials=credentials
)
# This returns a list of email like ["john@doe.com", "jane@doe.com", ....]
service_account_emails_we_can_impersonate = service_account.list_all_impersonatable_service_account_emails()
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gcp-impersonation-wrapper-0.0.4.tar.gz.
File metadata
- Download URL: gcp-impersonation-wrapper-0.0.4.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cb9bd5b2a1268e7408f671629898827a99c4cdb0e8ad490b7b8aefba7349771
|
|
| MD5 |
d9b44badc971e0ceaab1b1bf24b8c33d
|
|
| BLAKE2b-256 |
acbab90bb6896a53f14050eed42b9f9d856f47ed5199b198a52406773d8a3d34
|
File details
Details for the file gcp_impersonation_wrapper-0.0.4-py3-none-any.whl.
File metadata
- Download URL: gcp_impersonation_wrapper-0.0.4-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
651d29fae7ae5b08e5cfb7a27df9f97b6a83a7d1f2a25039c191ab50641878d2
|
|
| MD5 |
df1544d4b375e9e0c8501098e106cfe9
|
|
| BLAKE2b-256 |
1d256bb1bbb75af72380df83fdd7fcdc32f78f18e60ca95b334534ce5dbd8294
|