# @aws-lambda-powertools/data-masking 中文文档

规范地址：https://npmcn.com/package/%40aws-lambda-powertools/data-masking/

版本：2\.36\.0
npm 元数据更新时间：2026-10-06T14:29:48.407Z
中文译文更新时间：2026-11-07T15:16:10.934Z
软件包许可：MIT-0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aws-lambda-powertools/data-masking
原文对照：https://npmcn.com/package/%40aws-lambda-powertools/data-masking/?lang=original
项目主页：https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/data-masking#readme
源码仓库：https://github.com/aws-powertools/powertools-lambda-typescript

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：83.9 kB，52 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@aws-crypto/client-node \>=4\.x
- 首次发布：2026-07-08T14:08:20.704Z
- 最新版本发布：2026-10-06T14:29:48.050Z
- 近 30 天下载量：10516（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

AWS Lambda 函数中用于掩盖和加密敏感数据的工具

## 安装

```sh
npm install @aws-lambda-powertools/data-masking
```

也可以使用：`pnpm add @aws-lambda-powertools/data-masking`、`yarn add @aws-lambda-powertools/data-masking`、`bun add @aws-lambda-powertools/data-masking`

## README

# AWS Lambda (TypeScript) - 数据遮掩工具

数据遮蔽工具可以加密,解密,或者不可逆转地去除敏感信息以保护数据保密性.

用于 AWS Lambda (TypeScript) 的 Powertools 是用于执行无服务器的开发者工具包 [最佳做法和增加开发者的速度](https://docs.aws.amazon.com/powertools/typescript/latest/#features)。您可以在 TypeScript 和 JavaScript 代码库中使用库.

要启动, 请通过运行安装软件包 :

```sh
npm i @aws-lambda-powertools/data-masking
```

## 主要特点

-   简单加密、解密或不可逆转地去除数据
-   在嵌入数据中的一个或多个字段中擦去敏感信息
-   与 [AWS 加密 SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html) 工业安全最佳做法

## 使用量

### 删除数据

删除将删除原始数据并替换为 `*****`。这意味着无法回收已删除的数据,数据类型将更改为 `string` 对于所有被去除的值.

实地路径支持符号和 `.*`编号 :`[*]` 通配符可以到达巢数据.

```typescript
import { DataMasking } from '@aws-lambda-powertools/data-masking';

const masker = new DataMasking();

const data = {
  name: 'Jane Doe',
  customer: { ssn: '123-45-6789', city: 'Anytown' },
  orders: [{ id: 1, card: '4111-1111-1111-1111' }],
};

const masked = masker.erase(data, {
  fields: ['customer.ssn', 'orders[*].card'],
});
// {
//   name: 'Jane Doe',
//   customer: { ssn: '*****', city: 'Anytown' },
//   orders: [{ id: 1, card: '*****' }],
// }
```

您也可以使用自定义遮盖规则来部分遮盖数据,同时保留其部分结构,例如保存电子邮件地址的域名或值的长度:

```typescript
import { DataMasking } from '@aws-lambda-powertools/data-masking';

const masker = new DataMasking();

const masked = masker.erase(
  { email: 'jane@example.com', ssn: '123-45-6789' },
  {
    maskingRules: {
      email: { regexPattern: /^(.)([^@]*)(@.*)$/, maskFormat: '$1****$3' },
      ssn: { dynamicMask: true },
    },
  }
);
// { email: 'j****@example.com', ssn: '***********' }
```

### 加密和解密数据

要加密和解密数据,需要加密提供者. 默认情况下,我们通过AWS加密SDK供应商使用Amazon密钥管理服务(KMS),作为自己的子路径导出 `@aws-crypto/client-node` 仅当您使用时需要对等依赖 :

```sh
npm i @aws-crypto/client-node
```

```typescript
import { DataMasking } from '@aws-lambda-powertools/data-masking';
import { AWSEncryptionSDKProvider } from '@aws-lambda-powertools/data-masking/providers/kms';

const masker = new DataMasking({
  provider: new AWSEncryptionSDKProvider({
    keys: ['arn:aws:kms:us-east-1:123456789012:key/my-key'],
  }),
});

const encrypted = await masker.encrypt(data, {
  fields: ['customer.ssn'],
});

const decrypted = await masker.decrypt(encrypted, {
  fields: ['customer.ssn'],
});
```

关于如何使用这一工具的更多信息,请参见: [文档](https://docs.aws.amazon.com/powertools/typescript/latest/features/data-masking)。 。 。 .

## 贡献

如果你有兴趣为这个项目捐款,请参见我们 [贡献准则](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md)。 。 。 .

## 路线图

AWS Lambda(英语:TypeScript)的"Powertools"行进图受顾客需求所驱动.  
帮助我们确定未来功能或公用事业的优先次序 [更新现有 RFC 和功能请求](https://github.com/aws-powertools/powertools-lambda-typescript/issues),或 [创建新的](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose),在此 GitHub 仓库中.

## 连接

-   **关于 GitHub 讨论的 AWS Lambda 工具**数字 : [加入对话](https://github.com/aws-powertools/powertools-lambda-typescript/discussions)
-   **电子邮件**数字 : [aws-lambda-powertools- feedback@amazon.com 互联网档案馆的存檔,存档日期2014-12-21](mailto:aws-lambda-powertools-feedback@amazon.com)

## 如何支持 AWS Lambda (TypeScript) 的 Powertools ?

### 成为参考客户

了解哪些公司正在使用这个图书馆对于帮助在内部确定项目的优先次序很重要。 如果您的公司正在使用 Powertools 为 AWS Lambda (TypeScript) , 您可以要求您在 README 文件中添加您的姓名和标志 [AWS Lambda( TypeScript) 的辅助电源工具(成为参考)](https://s12d.com/become-reference-pt-ts) 问题.

除其他外,下列公司使用Powertools:

-   [Alma 媒体](https://www.almamedia.fi/)
-   [应用自己](https://appyourself.net/)
-   [贝利·纳尔逊](https://www.baileynelson.com.au/)
-   [Banx 软件](https://www.banxware.com/)
-   [凯伦特](https://caylent.com/)
-   [可认证](https://www.certible.com/)
-   [代码](https://www.codeac.io/)
-   [EF 教育第一](https://www.ef.com/)
-   [埃尔瓦](https://elva-group.com/)
-   [飞行重量](https://flyweight.io/)
-   [欺诈](https://fraudfalcon.app/)
-   [全球数据网](https://globaldatanet.com/)
-   [关节](https://guild.com/)
-   [半径](https://hashnode.com/)
-   [内向](https://instil.co/)
-   [本地软件包](https://localstack.cloud/)
-   [我们的隐私](https://oursprivacy.com/)
-   [完美邮递](https://www.perfectpost.fr/)
-   [传感器](https://sennder.com/)
-   [铁丝网股份有限公司](https://www.tecracer.com/)
-   [绊脚石10](https://www.trek10.com/)
-   [学校](https://www.weschool.com/)

### 分享你的工作

分享您为 AWS Lambda (TypeScript) 所做的 Powertools 。 看看社区有什么 [已经共享](https://docs.aws.amazon.com/powertools/typescript/latest/we_made_this) 关于AWS Lambda的Powertools (TypeScript).

### 使用 Lambda 层

这帮助我们了解谁用Powertools为AWS Lambda(英语:TypeScript (TypeScript))以非侵入性的方式使用Powertools,并帮助我们获得未来对其他AWS Lambda语言的Powertool的投资. 何时 [使用图层](https://docs.aws.amazon.com/powertools/typescript/latest/getting-started/lambda-layers/),您可以添加Powertools作为dev的依赖性,以不影响开发过程.

## 许可证

这个图书馆根据MIT-0许可证获得许可. 见LICENSE文件.

## 常见问题

### @aws-lambda-powertools/data-masking 是什么？

AWS Lambda 函数中用于掩盖和加密敏感数据的工具

### 如何安装 @aws-lambda-powertools/data-masking？

在项目目录运行 npm install @aws-lambda-powertools/data-masking，或使用 pnpm add / yarn add / bun add。

### @aws-lambda-powertools/data-masking 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aws-lambda-powertools/data-masking 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @aws-lambda-powertools/data-masking 可以商用吗？

@aws-lambda-powertools/data-masking 使用 MIT-0 许可。声明的许可为 MIT-0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @aws-lambda-powertools/data-masking 的下载量有多少？

根据 npm 官方下载统计，@aws-lambda-powertools/data-masking 在 2026/10/08 – 2026/11/06 这 30 天内被下载 10,516 次，日均约 351 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws-lambda-powertools/data-masking 还在维护吗？

最新版本 2\.36\.0 发布于 2026/10/06（1 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2026/07/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

