Skip to main content

IBM Cloud Secrets Manager Python SDK

A Python client library to interact with the IBM Cloud® Secrets Manager APIs.

Table of Contents

Overview

The IBM Cloud Secrets Manager Python SDK allows developers to programmatically interact with the following IBM Cloud services:

Service name Imported class name
Secrets Manager SecretsManagerV2

Prerequisites

Installation

To install, use pip or easy_install:

pip install --upgrade "ibm-secrets-manager-sdk"

or

easy_install --upgrade "ibm-secrets-manager-sdk"

Authentication

Secrets Manager uses token-based Identity and Access Management (IAM) authentication.

With IAM authentication, you supply an API key that is used to generate an access token. Then, the access token is included in each API request to Secrets Manager. Access tokens are valid for a limited amount of time and must be regenerated. Authentication for this SDK is accomplished by using IAM authenticators. Import authenticators from ibm_cloud_sdk_core.authenticators.

Examples

Programmatic credentials

from ibm_cloud_sdk_core.authenticators.iam_authenticator import IAMAuthenticator

secretsManager = SecretsManagerV2(
    authenticator=IAMAuthenticator(apikey='<IBM_CLOUD_API_KEY>')
)

To learn more about IAM authenticators and how to use them in your Python application, see the IBM Python SDK Core documentation.

Using the SDK

Basic usage

  • Use the set_service_url method to set the endpoint URL that is specific to your Secrets Manager service instance. To find your endpoint URL; you can copy it from the Endpoints page in the Secrets Manager UI.

Examples

Construct a service client and use it to create and retrieve a secret from your Secrets Manager instance.

Here's an example secrets_manager.py file:

from ibm_cloud_sdk_core.authenticators.iam_authenticator import IAMAuthenticator
from ibm_secrets_manager_sdk.secrets_manager_v2 import *

secretsManager = SecretsManagerV2(
    authenticator=IAMAuthenticator(apikey='<IBM_CLOUD_API_KEY>')
)

secretsManager.set_service_url('<SERVICE_URL>')

# create arbitrary secret
secret_prototype_model = {
    'custom_metadata': {'metadata_custom_key':'metadata_custom_value'},
    'description': 'Description of my arbitrary secret.',
    'expiration_date': '2030-10-05T11:49:42Z',
    'labels': ['dev', 'us-south'],
    'name': 'example-arbitrary-secret',
    'secret_group_id': 'default',
    'secret_type': 'arbitrary',
    'payload': 'secret-data',
    'version_custom_metadata': {'custom_version_key':'custom_version_value'},
}

response = secretsManager.create_secret(
  secret_prototype=secret_prototype_model,
)

secretId = response.result['id']

# get arbitrary secret
response = secretsManager.get_secret(
    id=secretId
)

secretPayload = response.result['payload']
print('The arbitrary secret payload is: ' + secretPayload)

Replace the apikey and set_service_url() values. Then use the python secrets_manager.py command to run your application. You should see the payload of the arbitrary secret that was created.

For more information and IBM Cloud SDK usage examples for Python, see the IBM Cloud SDK Common documentation.

Questions

If you're having difficulties using this SDK, you can ask questions about this project by using Stack Overflow. Be sure to include the ibm-cloud and ibm-secrets-manager tags.

You can also check out the Secrets Manager documentation and API reference for more information about the service.

Issues

If you encounter an issue with the project, you're welcome to submit a bug report to help us improve.

Contributing

For general contribution guidelines, see CONTRIBUTING.

License

This SDK project is released under the Apache 2.0 license. The license's full text can be found in LICENSE.

Release files for ibm-secrets-manager-sdk 2.1.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ibm-secrets-manager-sdk 2.1.19
File Size Uploaded
ibm_secrets_manager_sdk-2.1.19.tar.gz 251.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ibm-secrets-manager-sdk 2.1.19
File Interpreter ABI Platform
ibm_secrets_manager_sdk-2.1.19-py3-none-any.whl Python 3 none any Details

Total release size: 402.0 kB

Release files / ibm_secrets_manager_sdk-2.1.19.tar.gz

Download URL ibm_secrets_manager_sdk-2.1.19.tar.gz
Size 251.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8f945c3ec2245aced6956510c891355b6f28ef4f1c84c1aea2ec138d08b8694d
BLAKE2b-256 checksum
How to use checksums
21677427f602cf32fb5eeff72ab5d05b8805235ef16b0c49ea92e65c3470534a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ibm_secrets_manager_sdk-2.1.19-py3-none-any.whl

Download URL ibm_secrets_manager_sdk-2.1.19-py3-none-any.whl
Size 150.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82293fa1c7357b5fe203afc676db654a807696064c7ff5807f56044dd19f8e5a
BLAKE2b-256 checksum
How to use checksums
be732ba3e270f1d095b5dfba7d2e32b125e70f842a4438f5bacf04d2c8d04a60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.1.19 This release

2 release files

2.1.18

2 release files

2.1.17

2 release files

2.1.13

2 release files

2.1.12

2 release files

2.1.11

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page