AWS KMS Расшифровка ошибок Credstash
Мой аккаунт aws находится в регионе us-west-2. и ключ KMS, созданный в этой учетной записи, имеет ARN arn:aws:kms:us-east-1::key/. В моем модуле узла я использую Credstash для расшифровки ключа, который зашифрован с помощью ключа KMS.
var credstash = new Credstash({ 'table': 'tablename', 'awsOpts': { 'region':'region' } });
let secret = credstash.getSecret({name: 'keyname'}).then(result =>{
console.log(result);
});;
Я получаю ниже исключения.
"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"
Ниже приведена политика IAM в файле sls.
Effect: "Allow"
Action: ["kms:Decrypt"]
Resource: [
Fn::Join: ["", [ "arn:aws:kms:us-east-1:accountid:key/",{"Fn::Sub": "kmskey"}]]
]
Любые указатели, чтобы исправить эту проблему, будут очень полезны
1 ответ
Решение
Пожалуйста, используйте ниже
new Credstash({ 'table': <table-name>, 'awsOpts' : { 'region': 'us-west-2' }, 'kmsOpts': { 'region' : 'us-east-1'}} )