Skip to main content

Alibaba Cloud Secrets Manager Client implementation for Python

Project description

The Aliyun Secrets Manager Client for Python enables Python developers to easily work with Aliyun KMS Secrets.

Read this in other languages: 简体中文 <https://github.com/aliyun/aliyun-secretsmanager-client-python/blob/master/README.zh-cn.rst>

License

Apache License 2.0

Features

  • Provide quick integration capability to gain secret information

  • Provide Alibaba secrets cache ( memory cache or encryption file cache )

  • Provide tolerated disaster by the secrets with the same secret name and secret data in different regions

  • Provide default backoff strategy and user-defined backoff strategy

Requirements

Python 2.7,3.5,3.6,3.7,3.8,3.9

Install

Install the official release version through PIP (taking Linux as an example):

$ pip install aliyun-secret-manager-client

You can also install the unzipped installer package directly:

$ sudo python setup.py install

Sample Code

Ordinary User Sample Code

from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder

if __name__ == '__main__':
    secret_cache_client = SecretManagerCacheClientBuilder.new_client()
    secret_info = secret_cache_client.get_secret_info("#secretName#")
    print(secret_info.__dict__)
  • Build Secrets Manager Client by the given parameters(accessKey, accessSecret, regionId, etc)

import os

from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder

if __name__ == '__main__':
    secret_cache_client = SecretManagerCacheClientBuilder.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard() \
        .with_access_key(os.getenv("#accessKeyId#"), os.getenv("#accessKeySecret#")) \
        .with_region("#regionId#").build()) \
    .build();
    secret_info = secret_cache_client.get_secret_info("#secretName#")
    print(secret_info.__dict__)

Particular User Sample Code

  • Use custom parameters or customized implementation

import os

from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
from alibaba_cloud_secretsmanager_client.cache.file_cache_secret_store_strategy import FileCacheSecretStoreStrategy
from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder
from alibaba_cloud_secretsmanager_client.service.default_refresh_secret_strategy import DefaultRefreshSecretStrategy
from alibaba_cloud_secretsmanager_client.service.full_jitter_back_off_strategy import FullJitterBackoffStrategy

if __name__ == '__main__':
    secret_cache_client = SecretManagerCacheClientBuilder \
    .new_cache_client_builder(DefaultSecretManagerClientBuilder.standard().with_access_key(os.getenv("#accessKeyId#"), os.getenv("#accessKeySecret#")) \
         .with_back_off_strategy(FullJitterBackoffStrategy(3, 2000, 10000)) \
         .with_region("#regionId#").build()) \
     .with_cache_secret_strategy(FileCacheSecretStoreStrategy("#cacheSecretPath#", True,"#salt#")) \
     .with_refresh_secret_strategy(DefaultRefreshSecretStrategy("#ttlName#")) \
     .with_cache_stage("#stage#") \
     .with_secret_ttl("#secretName#", 1 * 60 * 1000l) \
     .build()
    secret_info = secret_cache_client.get_secret_info("#secretName#")
    print(secret_info.__dict__)

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

aliyun_secret_manager_client-0.1.5.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aliyun_secret_manager_client-0.1.5-py3-none-any.whl (50.0 kB view details)

Uploaded Python 3

File details

Details for the file aliyun_secret_manager_client-0.1.5.tar.gz.

File metadata

File hashes

Hashes for aliyun_secret_manager_client-0.1.5.tar.gz
Algorithm Hash digest
SHA256 01194ce19f8ca10a0dc3477cff23fa739205e5929ba11dde31116d9f5c078449
MD5 2f1b24e8e5291b8e048e9f0b8bfcff7f
BLAKE2b-256 64383fecc50dbc894a3184fe2a305c68e8d0f07a8164b42d4907c16d298efd8c

See more details on using hashes here.

File details

Details for the file aliyun_secret_manager_client-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for aliyun_secret_manager_client-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d47f76276678d110068c628d86b3d33892618d82e38db7e61415bc763867e29e
MD5 6c90785a06bb7ff38f2aaccba9aa6784
BLAKE2b-256 87cb0a3a3ef4640b0ff73199bf0023bed9e049591c19c53f9d83ffd2b86662a4

See more details on using hashes here.

Supported by

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