Encryption 如何使用encrypt stage并为加密提供KMS密钥?

Encryption 如何使用encrypt stage并为加密提供KMS密钥?,encryption,streamsets,Encryption,Streamsets,我想加密dob字段。所以我尝试在流集中使用加密阶段。 我传递密钥id、密钥和KMS ARN。 当我尝试验证管道时,出现以下错误: 2019-05-14 16:52:36,492 xxxx_pipeline_5b58f6b1-d8d8-4349-b963-a513b9f3bf64 WARN Stage 'EncryptandDecryptFields_01' initialization error: com.amazonaws.encryptionsdk.exception.AwsCry

我想加密dob字段。所以我尝试在流集中使用加密阶段。 我传递密钥id、密钥和KMS ARN。 当我尝试验证管道时,出现以下错误:

2019-05-14 16:52:36,492 xxxx_pipeline_5b58f6b1-d8d8-4349-b963-a513b9f3bf64  WARN    Stage 'EncryptandDecryptFields_01' initialization error: com.amazonaws.encryptionsdk.exception.AwsCryptoException: Can't use non-ARN key identifiers or aliases when no default region is set   Pipeline    *admin  0   preview-pool-1-thread-3
com.amazonaws.encryptionsdk.exception.AwsCryptoException: Can't use non-ARN key identifiers or aliases when no default region is set
    at com.amazonaws.encryptionsdk.kms.KmsMasterKeyProvider$Builder.build(KmsMasterKeyProvider.java:250)
    at com.streamsets.pipeline.stage.processor.crypto.FieldEncryptProcessor.createCryptoMaterialsManager(FieldEncryptProcessor.java:142)
    at com.streamsets.pipeline.stage.processor.crypto.FieldEncryptProcessor.createProvider(FieldEncryptProcessor.java:112)
    at com.streamsets.pipeline.stage.processor.crypto.FieldEncryptProcessor.init(FieldEncryptProcessor.java:90)
    at com.streamsets.pipeline.api.base.BaseStage.init(BaseStage.java:48)
    at com.streamsets.pipeline.api.base.configurablestage.DStage.init(DStage.java:36)
    at com.streamsets.datacollector.runner.StageRuntime.lambda$init$0(StageRuntime.java:211)
    at com.streamsets.datacollector.util.LambdaUtil.withClassLoaderInternal(LambdaUtil.java:148)
    at com.streamsets.datacollector.util.LambdaUtil.withClassLoader(LambdaUtil.java:44)
    at com.streamsets.datacollector.runner.StageRuntime.init(StageRuntime.java:209)
    at com.streamsets.datacollector.runner.StagePipe.init(StagePipe.java:123)
    at com.streamsets.datacollector.runner.StagePipe.init(StagePipe.java:47)
    at com.streamsets.datacollector.runner.Pipeline.initPipe(Pipeline.java:403)
    at com.streamsets.datacollector.runner.Pipeline.lambda$init$0(Pipeline.java:393)
    at com.streamsets.datacollector.runner.PipeRunner.forEach(PipeRunner.java:166)
    at com.streamsets.datacollector.runner.Pipeline.init(Pipeline.java:391)
    at com.streamsets.datacollector.runner.Pipeline.validateConfigs(Pipeline.java:219)
    at com.streamsets.datacollector.runner.preview.PreviewPipeline.validateConfigs(PreviewPipeline.java:60)
    at com.streamsets.datacollector.execution.preview.sync.SyncPreviewer.validateConfigs(SyncPreviewer.java:142)
    at com.streamsets.datacollector.execution.preview.async.AsyncPreviewer$1.call(AsyncPreviewer.java:70)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226)
    at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226)
    at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33)
    at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at com.streamsets.datacollector.metrics.MetricSafeScheduledExecutorService$MetricsTask.run(MetricSafeScheduledExecutorService.java:100)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
在“键提供”选项卡中

我传递密钥id、密钥和KMS ARN

不适用


此阶段应编译无误

非常感谢您的帮助。感谢您提供完整的stacktrace(可能有点多,但还可以)。然而,您的问题中似乎没有源代码或配置信息,那么我们如何回答呢?如果这是问题所在,至少显示ARN,对吗?似乎您没有提供完整的ARN。你的KMS是什么?爸爸,马丁,谢谢你的回复。这是KMS ARN-ARN:aws:es:us-east-1:51068094440:domain/axtxnarchsinglefindes用于密码-ALG_AES_256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_p384。非常感谢您提供完整的堆栈跟踪(可能有点多,但没问题)。然而,您的问题中似乎没有源代码或配置信息,那么我们如何回答呢?如果这是问题所在,至少显示ARN,对吗?似乎您没有提供完整的ARN。你的KMS是什么?爸爸,马丁,谢谢你的回复。这是KMS ARN-ARN:aws:es:us-east-1:51068094440:domain/axtxnarchsinglefindes用于密码-ALG_AES_256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_P384