2017-09-28 4 views
2

Mon compte aws se trouve dans la région us-west-2. et la clé KMS créée dans ce compte a ARN arn: aws: kms: us-east-1 :: key /. Dans mon module de noeud, j'utilise Credstash pour déchiffrer la clé qui est chiffrée à l'aide de la clé KMS.AWS KMS Decrypt Error Credstash

var credstash = new Credstash({ 'table': 'tablename', 'awsOpts': { 'region':'region' } }); 
let secret = credstash.getSecret({name: 'keyname'}).then(result =>{ 
    console.log(result); 
});; 

Je reçois ci-dessous l'exception.

"The ciphertext refers to a customer master key that does not exist, 
does not exist in this region, or you are not allowed to access" 

Vous trouverez ci-dessous la règle IAM dans le fichier SLS.

Effect: "Allow" 
     Action: ["kms:Decrypt"] 
     Resource: [ 
     Fn::Join: ["", [ "arn:aws:kms:us-east-1:accountid:key/",{"Fn::Sub": "kmskey"}]] 
     ] 

Tous les pointeurs pour résoudre ce problème sera d'une grande aide

+0

Avez-vous donné accès à cet utilisateur pour crypter/décrypter en utilisant cette clé KMS? Cela devrait être dans la section clé de chiffrement sous iam. –

Répondre

0

S'il vous plaît utiliser le ci-dessous

new Credstash({ 'table': <table-name>, 'awsOpts' : { 'region': 'us-west-2' }, 'kmsOpts': { 'region' : 'us-east-1'}})