IBM Cloud Secrets Manager Management Node SDK
与IBM Cloud®Secrets Manager实例管理api交互的Node.js客户端库。
重要: 该SDK用于IBM Cloud Secrets Manager的实例 仅限Vault企业计划。它与其他秘密管理器计划不兼容。
概述
IBM Cloud Secrets Manager Management Node.js SDK允许开发人员以编程方式与以下IBM Cloud进行交互 服务:
| 服务名称 | 导入路径 |
|---|---|
| 秘密管理器管理 | @ibm-cloud / secrets-manager-instance-management / secrets-manager-instance-management / v2 |
先决条件
-
一个 IBM云账户.
-
一、 秘密管理器服务实例 与 Vault企业计划.
-
一个 IBM云API密钥 允许SDK访问您的帐户。
-
Node.js版本16或以上。
此SDK在Node版本14及更高版本上进行了测试。SDK可以在以前的版本上工作,但不支持这个 正式。
安装
npm install @ibm-cloud/secrets-manager-instance-management
身份验证
秘密管理器使用基于令牌的身份和访问管理(IAM)身份验证。
通过IAM身份验证,您可以提供用于生成访问令牌的API密钥。则访问令牌为 包含在对秘密管理器的每个API请求中。访问令牌在有限的时间内有效,并且必须有效 再生。
此SDK的身份验证是通过使用 我的身份验证器。进口
身份验证器从 @ibm-cloud/secrets-manager-instance-management/auth.
示例
程序化的凭证
import { IamAuthenticator } from '@ibm-cloud/secrets-manager-instance-management/auth';
const authenticator = new IamAuthenticator({
apikey: '{apikey}',
});
外部配置
import { getAuthenticatorFromEnvironment } from '@ibm-cloud/secrets-manager-instance-management/auth';
// env vars
// SECRETS_MANAGER_INSTANCE_MANAGEMENT_API_APIKEY=<apikey>
const iamAuthenticator = getAuthenticatorFromEnvironment('SECRETS_MANAGER_INSTANCE_MANAGEMENT_API');
要了解更多关于IAM身份验证器以及如何在Node.js应用程序中使用它们的信息,请参见 这个 IBM Node.js SDK核心文档.
使用SDK
基本用法
- 所有方法都返回一个Promise,该Promise要么使用服务的响应进行解析,要么使用错误进行拒绝。这个 响应包含正文、报头、状态码和状态文本。如果使用async/await,则使用try/catch for 处理错误。
- 使用
serviceUrl参数来设置特定于Secrets Manager服务实例的端点URL。要查找端点URL,可以将其从 端点 的部分 概述 页面中的秘密管理器UI。
示例
构造一个服务客户机并使用它来生成一个管理令牌并获取实例详细信息。
const SecretsManagerInstanceManagement = require('@ibm-cloud/secrets-manager-instance-management/secrets-manager-instance-management/v2');
const { IamAuthenticator } = require('@ibm-cloud/secrets-manager-instance-management/auth');
async function secretsManagerInstanceManagementExample() {
// Authenticate with IAM using your IBM Cloud API key
const authenticator = new IamAuthenticator({
apikey: process.env.SECRETS_MANAGER_INSTANCE_MANAGEMENT_API_APIKEY,
});
// Create an instance of the SDK by providing an authentication mechanism and the service endpoint URL
const secretsManagerInstanceManagement = new SecretsManagerInstanceManagement({
authenticator,
serviceUrl: '<SERVICE_URL>',
});
// Generate admin token
let res = await secretsManagerInstanceManagement.adminTokenGenerate({
instanceCrn: '<INSTANCE_CRN>',
});
console.log('Admin token generated!');
// Get instance details
res = await secretsManagerInstanceManagement.instanceDetails({
instanceCrn: '<INSTANCE_CRN>',
});
console.log('Instance details:\n' + JSON.stringify(res.result, null, 2));
}
secretsManagerInstanceManagementExample();
取代 apikey, SERVICE_URL, INSTANCE_CRN 值。然后运行应用程序。
有关Node.js的更多信息和IBM Cloud SDK使用示例,请参见 这个 IBM Cloud SDK通用文档
问题
如果您在项目中遇到问题,欢迎您提交 一个 错误报告 帮助我们进步。
贡献
有关一般贡献指南,请参阅 贡献.
许可证
该SDK项目在Apache 2.0许可下发布。许可证的全文可以在 许可证.