簡體   English   中英

列出所有密鑰時忽略 AWS 托管/默認 KMS 密鑰?

[英]Ignoring AWS Managed/Default KMS Keys When Listing All Keys?

我寫了下面的函數:

    private List<KeyListEntry> getKeyListEntries(AWSKMS kms)
{
    ListKeysRequest listKeysRequest = new ListKeysRequest();
    List<KeyListEntry> kmsKeys = new ArrayList<>();
    boolean moreKeys = false;

    do
    {
        ListKeysResult listKeysResult = kms.listKeys(listKeysRequest);
        kmsKeys.addAll(listKeysResult.getKeys());
        moreKeys = listKeysResult.getNextMarker() != null && !listKeysResult.getNextMarker().equals("");
        listKeysRequest.setMarker(listKeysResult.getNextMarker());
    } while (moreKeys);

    return kmsKeys;
}

它會在我的帳戶中構建所有 KMS 密鑰的列表。 'moreKeys' 標志用於處理響應的分頁。 在這個列表的其他地方,我打電話給:

kms.listResourceTags

所以我可以確定每個單獨鍵上的標簽並相應地執行操作。 我的問題是,我通常會在某個時候點擊 ACM 等的默認主密鑰。

默認密鑰的這些策略不允許 root 帳戶執行kms:ListResourceTags ,我無法修改它們來更改它。 我在構建列表時是否有一種簡單的方法可以過濾掉,這樣我就可以忽略任何 AWS 默認 KMS 密鑰?

這最終成為亞馬遜的錯誤! 我提出了一個案例,ACM 團隊在默認密鑰上修復了該策略。

暫無
暫無

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

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