全部產品
Search
文件中心

CloudOps Orchestration Service:執行模板中使用加密參數

更新時間:Jun 30, 2024

當操作密碼、密鑰等敏感類的資料時,使用儲存倉庫中的加密參數功能後,此類資料便不會以明文形式顯示了,而且儲存的資料還可以直接調用。如使用CloudOps Orchestration Service (OOS)的模板功能便可以直接在模板中使用加密參數。

操作步驟

  1. 登入CloudOps Orchestration Service (OOS)控制台。

  2. 選擇參數倉庫,建立加密參數,具體步驟請參考建立加密參數中的建立加密參數一節。本樣本中提供的是一個名稱為InstancePassword的加密參數。如下所示:image

  3. 在建立好加密參數後,建立CloudOps Orchestration Service (OOS)的自訂模板或選擇已經建立好的自訂模板或公用模板。本樣本為一個修改執行個體密碼的模板,具體模板如下:

    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
  4. 模板建立完成後,選中模板,單擊建立執行。並單擊下一步:設定參數

  5. 在頁面中顯示的為需要輸入加密參數的instancePassword欄位,由於在步驟2中已經建立出一個加密參數,此時可以直接點擊參數框後面的選擇參數功能。如下所示:

    instance-secret-password-02

  6. 單擊選擇參數按鈕後。在彈出的頁面中單擊加密參數選項,搜尋到已經建立好的加密參數,並單擊確定

    instance-secret-password-03

  7. 在設定完參數後,此時就可以單擊頁面下方的下一步:確定按鈕了,繼續執行模板。

    instance-secret-password-04

  8. 在執行模板前的參數詳情頁面確定參數無誤後,單擊建立

    instance-secret-password-05

  9. 找到在上一步已經建立的執行,進入執行詳情頁面,查看當前模板的執行。在基本詳情頁面發現使用加密參數部分的參數:InstancePassword,並未在當前展示頁面顯示純文字密碼。secret-instance-password-09

  10. 在執行頁面中,單擊日誌選項。找到調用加密參數部分的日誌,查看發送的原始請求,在日誌中可以看到調用的加密參數也處於加密狀態,此時不難發現類似於密碼等有安全要求的資料使用加密參數便達到了加密的效果。instance-secret-password-08

  11. 等待模板執行成功後,找到修改密碼的執行個體,使用加密參數中預設定的密碼來登入執行個體,驗證可以登入成功。

    instance-secret-password-07