Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 9779273

Browse files
authored
Merge pull request #72 from rebuy-de/skip-managed
skip managed KMS keys
2 parents 8e6b8a3 + 1a68d5e commit 9779273

File tree

1 file changed

+9
-22
lines changed

1 file changed

+9
-22
lines changed

resources/kms-keys.go

+9-22
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,17 @@ package resources
22

33
import (
44
"fmt"
5-
"strings"
65

76
"github.com/aws/aws-sdk-go/aws"
87
"github.com/aws/aws-sdk-go/aws/session"
98
"github.com/aws/aws-sdk-go/service/kms"
109
)
1110

1211
type KMSKey struct {
13-
svc *kms.KMS
14-
id string
15-
state string
16-
alias string
12+
svc *kms.KMS
13+
id string
14+
state string
15+
manager *string
1716
}
1817

1918
func init() {
@@ -23,18 +22,6 @@ func init() {
2322
func ListKMSKeys(sess *session.Session) ([]Resource, error) {
2423
svc := kms.New(sess)
2524

26-
respAlias, err := svc.ListAliases(nil)
27-
if err != nil {
28-
return nil, err
29-
}
30-
31-
aliasMap := map[string]string{}
32-
for _, alias := range respAlias.Aliases {
33-
if alias.TargetKeyId != nil {
34-
aliasMap[*alias.TargetKeyId] = *alias.AliasName
35-
}
36-
}
37-
3825
resp, err := svc.ListKeys(nil)
3926
if err != nil {
4027
return nil, err
@@ -50,10 +37,10 @@ func ListKMSKeys(sess *session.Session) ([]Resource, error) {
5037
}
5138

5239
resources = append(resources, &KMSKey{
53-
svc: svc,
54-
id: *resp.KeyMetadata.KeyId,
55-
state: *resp.KeyMetadata.KeyState,
56-
alias: aliasMap[*resp.KeyMetadata.KeyId],
40+
svc: svc,
41+
id: *resp.KeyMetadata.KeyId,
42+
state: *resp.KeyMetadata.KeyState,
43+
manager: resp.KeyMetadata.KeyManager,
5744
})
5845
}
5946

@@ -65,7 +52,7 @@ func (e *KMSKey) Filter() error {
6552
return fmt.Errorf("is already in PendingDeletion state")
6653
}
6754

68-
if strings.HasPrefix(e.alias, "alias/aws/") {
55+
if e.manager != nil && *e.manager == kms.KeyManagerTypeAws {
6956
return fmt.Errorf("cannot delete AWS managed key")
7057
}
7158

0 commit comments

Comments
 (0)