簡體   English   中英

向Amazon KMS發送加密請求時訪問被拒絕

[英]AccessDenied when sending Encrypt request to Amazon KMS

我想使用Amazon KMS服務加密字符串。 我的憑據有效,我可以使用客戶端來獲取密鑰列表,但是當我嘗試加密字符串時卻得到了400。 這是我的代碼(我敢打賭我缺少一些簡單的東西):

public static string Encrypt(string str, string awsRegion, string theKey)
{
     var keyId = "arn:aws:kms:" + awsRegion + ":0987654321:key/" + thekey;

     using (var client = new AmazonKeyManagementServiceClient(AWSId, AWSSK, RegionEndpoint.USEast1))            
     {
          var req = new EncryptRequest
          {
               KeyId = keyId,
               Plaintext = new MemoryStream(Encoding.UTF8.GetBytes(str))
          };

          var blob = client.Encrypt(req).CiphertextBlob;
          return new StreamReader(blob).ReadToEnd();
     }
}

這可能是什么原因?

我還在Visual Studio中設置了我的個人資料。

編輯1:錯誤消息是:

使用錯誤代碼AccessDeniedException和Http狀態代碼BadRequest發出請求時出錯。 該服務未返回其他錯誤信息。

事實證明,在region和keyId字符串中的key之間的整數不是任意的。

通過獲取可供使用的鍵列表,找到相應的鍵並將該整數復制到我的098Id54321的keyId字符串中,使它起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM