@crvouga/嘲笑鸟-服务-锯-秘密
本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .
为官方的AWS SDK v3客户端开发的状态仿真器AWS保密管理器和SSM参数存储器. 它模拟了秘密版本和阶段,二进制值,定心旋转,SafeString元数据,参数版本,拒绝,解密失败,以及不与AWS联系而修改的控制.
安装
npm install -D @crvouga/mockingbird-service-aws-secrets
仅限无害环境管理。 节点22+或Bun 1.2+.
使用量
指着两个客户 endpoint 选项。 接受Fixture SigV4证书.
import { GetSecretValueCommand, SecretsManagerClient } from "@aws-sdk/client-secrets-manager"
import { GetParameterCommand, SSMClient } from "@aws-sdk/client-ssm"
import { createServer } from "@crvouga/mockingbird-service-aws-secrets/server"
// Test setup: seed the emulator and point the AWS SDK clients your application uses at it.
const emulator = await createServer({
secrets: [{ name: "database/password", value: "fixture-password" }],
parameters: [{ name: "/app/region", value: "us-east-1" }],
})
const config = {
endpoint: emulator.url,
region: "us-east-1",
credentials: { accessKeyId: "fixture", secretAccessKey: "fixture" },
}
const secrets = new SecretsManagerClient(config)
const ssm = new SSMClient(config)
// Application code: ordinary SDK calls.
const { SecretString } = await secrets.send(
new GetSecretValueCommand({ SecretId: "database/password" }),
) // "fixture-password"
const { Parameter } = await ssm.send(new GetParameterCommand({ Name: "/app/region" }))
// Parameter.Value === "us-east-1"
await emulator.close() // after the test
秘密管理器支持 CreateSecret, PutSecretValue, GetSecretValue, 并按名称或ARN描述Secret, 包括版本Id, 版本Stage, 机密String, 和机密Binary. SSM支持PutParemeter,GetParemeter,以及带有String,StringList,securityString,WithDecryption,版本,ARNs,和数据类型的GetParemeters.
管理和确定性控制
GET /__admin/secrets财务报告和审定财务报表/__admin/parameters显示每个数值的元数据.POST /__admin/secrets/:name/rotate解剖学将AWSCURENT转移到AWSPREVIUS.PUT /__admin/controls/:name配置拒绝、 stale- version 读取或解密失败 .- 错误预设为
throttled财务报告和审定财务报表unavailable。 。 。 .
值被编码为持久状态,因此时间和快照不包含平文本标记. 请求日记从不记录请求或响应机构. 共享运行时间还提供重置、时钟、时间表、度量、断层和命名空间隔离 x-mockingbird-namespace, (中文(简体) ), /__admin/ns/<name>,或SigV4存取键映射.
故意不模拟
KMS加密、自动旋转Lambdas、资源政策、复制、SSM分级和标签超出支持的读取、生产配额、AWS仪表板、计费和外出销售商的呼号没有模型化。 未解密而返回的SafeString密码文本是决定性的仿真器密码文本,而不是KMS输出.
API 密码
AwsSecretsAPI, (中文(简体) ),AwsSecretsAPIOptions, (中文(简体) ),SecretSeed, (中文(简体) ),ParameterSeed:处理器和固定装置.Secret, (中文(简体) ),SecretVersion, (中文(简体) ),SecretControl, (中文(简体) ),Parameter: 耐用状态类型.createRuntime, (中文(简体) ),AwsSecretsRuntime, (中文(简体) ),AwsSecretsRuntimeOptions:满口口鸟跑.AWS_SECRETS_NAMESPACE, (中文(简体) ),AWS_SECRETS_PRESETS, (中文(简体) ),accessKeyCredential:常数与控制.document, (中文(简体) ),operationIds, (中文(简体) ),supportedOperationIds: 生成了 OpenAPI 元数据.createServer, (中文(简体) ),AwsSecretsServerOptions, (中文(简体) ),DEFAULT_PORT, (中文(简体) ),serveTarget从./server:节点HTTP适配器和CLI集成.
官方预言: AWS 保密管理器 API 参考 财务报告和审定财务报表 AWS 系统管理器 API 参考。 。 。 .