簡體   English   中英

無法在 us-central1 中更新加密密鑰

[英]Can't update cryptokey in us-central1

出於某種原因,我似乎無法更新us-central1區域中的密鑰。 我的 IAM 具有更新和列表角色,我使用以下代碼:

import google.cloud.kms as kms

self.client = kms.KeyManagementServiceClient()
name = 'client-1'
key_path = self.client.crypto_key_path(config.PROJECT, config.KMS_LOCATION, config.KMS_RING, name)

update_mask = {'paths': ['rotation_period', 'next_rotation_time']}
self.client.update_crypto_key({
        'name': key_path,
        'rotation_period': {'seconds': 0},
        'next_rotation_time': {'seconds': 0}
    }, update_mask)

它給了我以下錯誤:

google.api_core.exceptions.NotFound: 404 該請求涉及位置“us-central1”,但被發送到位置“global”。 Cloud KMS 在“us-central1”中不可用,或者請求被錯誤路由。

奇怪的是,列表和獲取工作正常。 我也看到了一個解決方案,他們改變了客戶端的傳輸參數,但我似乎找不到正確的地址。

提前致謝 !

這是一個錯誤,我們正在跟蹤https://github.com/googleapis/gapic-generator/issues/3066

同時,該錯誤的原因是當第一個參數是dict時 UpdateCryptoKey 無法正確計算區域。 如果它是一個resources_pb2.CryptoKey ,它工作正常。 舉個例子:

import google.cloud.kms as kms
from google.cloud.kms_v1.proto import resources_pb2

client = kms.KeyManagementServiceClient()

ck = resources_pb2.CryptoKey()
ck.name = 'projects/{proj}/locations/us-central1/keyRings/{kr}/cryptoKeys/{key}'
ck.next_rotation_time.GetCurrentTime()

update_mask = {'paths': ['next_rotation_time']}
client.update_crypto_key(ck, update_mask)

希望這可以讓您在我們解決此問題的同時解決此問題。 給您帶來的不便深表歉意,並感謝您的耐心等待!

暫無
暫無

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

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