當操作密碼、密鑰等敏感類的數據時,使用存儲倉庫中的加密參數功能后,此類數據便不會以明文形式顯示了,而且保存的數據還可以直接調用。如使用系統運維管理 OOS(CloudOps Orchestration Service)的模板功能便可以直接在模板中使用加密參數。
操作步驟
選擇參數倉庫,創建加密參數,具體步驟請參考創建加密參數中的創建加密參數一節。本示例中提供的是一個名稱為InstancePassword的加密參數。如下所示:
在創建好加密參數后,創建系統運維管理 OOS(CloudOps Orchestration Service)的自定義模板或選擇已經創建好的自定義模板或公共模板。本示例為一個修改實例密碼的模板,具體模板如下:
FormatVersion: OOS-2019-06-01 Description: Bulky modify the password of an ECS instance. Parameters: regionId: Type: String Description: The id of region. AssociationProperty: RegionId Default: '{{ ACS::RegionId }}' targets: Type: Json AssociationProperty: Targets AssociationPropertyMetadata: ResourceType: 'ALIYUN::ECS::Instance' RegionId: regionId instancePassword: Description: The password of the ECS instance. Type: String rateControl: Description: Concurrency ratio of task execution. Type: Json AssociationProperty: RateControl Default: Mode: Concurrency MaxErrors: 0 Concurrency: 10 OOSAssumeRole: Description: The RAM role to be assumed by OOS. Type: String Default: OOSServiceRole RamRole: '{{ OOSAssumeRole }}' Tasks: - Name: getInstance Description: Views the ECS instances. Action: 'ACS::SelectTargets' Properties: ResourceType: 'ALIYUN::ECS::Instance' RegionId: '{{ regionId }}' Filters: - '{{ targets }}' Outputs: instanceIds: Type: List ValueSelector: 'Instances.Instance[].InstanceId' - Name: resetPassword Action: 'ACS::ECS::ResetPassword' Description: Modify the password of an ECS instance. Properties: regionId: '{{ regionId }}' instanceId: '{{ ACS::TaskLoopItem }}' password: '{{ instancePassword }}' Loop: RateControl: '{{ rateControl }}' Items: '{{ getInstance.instanceIds }}' Outputs: instanceId: Type: String ValueSelector: instanceId
模板創建完成后,選中模板,單擊創建執行。并單擊下一步:設置參數。
在頁面中顯示的為需要輸入加密參數的instancePassword字段,由于在步驟2中已經創建出一個加密參數,此時可以直接點擊參數框后面的選擇參數功能。如下所示:
單擊選擇參數按鈕后。在彈出的頁面中單擊加密參數選項,搜索到已經創建好的加密參數,并單擊確定。
在設置完參數后,此時就可以單擊頁面下方的下一步:確定按鈕了,繼續執行模板。
在執行模板前的參數詳情頁面確定參數無誤后,單擊創建。
找到在上一步已經創建的執行,進入執行詳情頁面,查看當前模板的執行。在基本詳情頁面發現使用加密參數部分的參數:InstancePassword,并未在當前展示頁面顯示明文密碼。
在執行頁面中,單擊日志選項。找到調用加密參數部分的日志,查看發送的原始請求,在日志中可以看到調用的加密參數也處于加密狀態,此時不難發現類似于密碼等有安全要求的數據使用加密參數便達到了加密的效果。
等待模板執行成功后,找到修改密碼的實例,使用加密參數中預設置的密碼來登錄實例,驗證可以登錄成功。