AdSense

網頁

2022/2/24

AWS KMS 建立Customer managed key

在AWS console的KMS建立一個customer managed key。


AWS KMS(Key Management Service)即加密金鑰管理服務,用來管理用於加密secret(密碼、token等)的key。

KMS通常用於加解密Secrets Manager管理的secret。


建立key

登入AWS console,選擇服務區域(region)。

在上方搜尋欄搜尋"Key Management Service",點選[Key Management Service]。



在KMS服務左側選單點選[Customer managed keys]。



然後在右側頁面點選右上方的[Create key]。



[Key type]選擇[Symmetric]對稱式金鑰,即加解密使用同一把金鑰



[Advanced options]維持預設,即[Key material origin]為[KMS],[Regionality]為[Single-Region key]。



設定key的alias名稱及描述,這邊名稱為DemoKey,描述為[Demo Key]。



[Tags]跳過不設定,按[Next]到下一步。



[Key administrators]為設定key的管理者,這邊選擇自訂的管理使用者,同此AWS使用者。



[Key deletion]勾選[Allow key administrators to delete this key.],按[Next]。



[Define key usage permissions]定義key的可使用者,一樣選擇自訂的管理使用者。



[Other AWS accounts]不用設,按[Next]。



Review剛剛的設定,沒問題按[Finish]完成建立。





返回[Customer managed keys]頁面即可看到新建立的key。



AWS CLI 2輸入aws kms list-aliases --query 'Aliases[?contains(AliasName,`<alias>`) == `true`]'查詢,<alias>為key的別名,即DemoKey

$ aws kms list-aliases --query 'Aliases[?contains(AliasName,`DemoKey`) == `true`]'
[
    {
        "AliasName": "alias/DemoKey",
        "AliasArn": "arn:aws:kms:ap-northeast-1:400361196721:alias/DemoKey",
        "TargetKeyId": "5fec3dcc-c7c8-457b-8875-9bbd07aabec2",
        "CreationDate": "2022-02-24T23:58:10.809000+08:00",
        "LastUpdatedDate": "2022-02-24T23:58:10.809000+08:00"
    }
]


刪除key

若要刪除則點選進入key的頁面,在右上方[Key actions]下拉選單選擇[Schedule key deletion]。



在[Schedule key deletion]頁面的[Waiting period]選擇幾天過後才會被刪除。等待刪除的key將無法被使用。勾選[Confirm that you want to schedule these keys for deletion after a 7 day waiting period]然後點選[Schedule deletion]確認安排刪除。




回到[Customer managed keys]頁面即可看到安排刪除的key的狀態為[Pending deletion]




或是用AWS CLI命令aws kms schedule-key-deletion --key-id <key_id> --pending-window-in-days <pending_days>刪除。<key_id>為要刪除的KMS key ID;pending_days為7-30間的天數。

$ aws kms schedule-key-deletion --key-id 5fec3dcc-c7c8-457b-8875-9bbd07aabec2 --pending-window-in-days 7
{
    "KeyId": "arn:aws:kms:ap-northeast-1:400361196721:key/5fec3dcc-c7c8-457b-8875-9bbd07aabec2",
    "DeletionDate": "2022-02-25T15:53:56.809000+08:00",
    "KeyState": "PendingDeletion",
    "PendingWindowInDays": 7
}


AWS KMS與GCP Cloud KMS是類似的服務。


沒有留言:

AdSense