Я написал функцию ниже:
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 и т. Д. c.
Эти политики для ключей по умолчанию не позволяют учетной записи root делать kms:ListResourceTags
, и Я не могу изменить их, чтобы изменить это. Есть ли для меня простой способ отфильтровать, когда я строю список, чтобы я мог игнорировать любые AWS ключи KMS по умолчанию?