菜单
开源 RSS

KMSClient

注意

在某些情况下,使用此库的操作可能会影响性能并扭曲您的测试结果。

为确保结果准确,请考虑在 setupteardown 生命周期函数中执行这些操作。这些函数在测试运行之前和之后执行,不会影响测试结果。

KMSClient 与 AWS Key Management Service (KMS) 交互。

使用它,用户可以列出调用者 AWS 账户和区域中的所有 Key Management Service 密钥。他们还可以生成对称数据密钥以便在 AWS Key Management Service 外部使用。

专门的 kms.js jslib bundle 和包含所有的 aws.js bundle 都包含 KMSClient

方法

函数描述
listKeys列出调用者 AWS 账户和区域中的所有 Key Management Service 密钥。
generateDataKey生成一个对称数据密钥以便在 AWS Key Management Service 外部使用。

抛出

KMSClient 方法在失败时会抛出错误。

Error条件
InvalidSignatureError使用无效凭证时
KMSServiceError当 AWS 对请求的操作返回错误时

示例

JavaScript
import { textSummary } from 'https://jslib.k6.io/k6-summary/0.0.2/index.js';

import {
  AWSConfig,
  KMSClient,
} from 'https://jslib.k6.io/aws/0.13.0/kms.js';

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const kms = new KMSClient(awsConfig);
const keyAlias = 'alias/k6-key';

export async function setup() {
  // Create a symmetric data key
  return {
    dataKey: await kms.generateDataKey(keyAlias, 32),
  };
}

export default async function (data) {
  // Use the data key to encrypt data
}

export function handleSummary(data) {
  return {
    'stdout': textSummary(data, { indent: ' ', enableColors: true }),
    './test-run.key': data.dataKey,
  };
}