天天看點

在ROS控制台設定資源棧更新政策

預設情況下,有更新操作權限的賬号可以對資源棧的所有可更新資源進行更新。但是在更新資源棧時,我們會希望一些資源棧的資源在更新中不會被意外更新或者删除。

堆棧政策是一個JSON格式的文檔,該文檔定義可對指定資源執行的更新操作。堆棧政策僅僅在更新過程中起作用,每個資源棧隻能定義一個堆棧政策。

堆棧政策示例:

{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    },
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyEcsInstance"
    }
  ]
}           

部分文法解釋:

Effect:(必選)

支援Allow和Deny,Deny覆寫Allow。如果配置了堆棧政策,所有資源所有操作預設Deny。

Action:(Action或NotAction必選一)

可選值如下:

  • Update:Modify 指定在對資源應用更改期間不會中斷或有某些中斷的更新操作。所有資源都保持其實體 ID。
  • Update:Delete 指定删除資源的更新操作。從堆棧模闆中完全删除資源的更新都需要此操作。
  • Update:* 指定所有更新操作。星号是通配符,代表所有更新操作。

Principal:(必選)

隻能取值*

Resource:(Resource或NotResource必選一)

  • *
  • LogicalResourceId/

    <pattern>

取值可以是字元串,也可以是字元串清單

在控制台設定堆棧政策

一、建立資源棧時設定:
  1. 打開資源編排(ROS)控制台 https://ros.console.aliyun.com
  2. 選擇建立資源棧
  3. 在第二步啟動棧,在進階配置頁籤中勾選使用堆棧政策,并輸入JSON格式的堆棧政策文本
在ROS控制台設定資源棧更新政策
二、更新資源棧時可以設定臨時堆棧更新政策:
  1. 選擇已建立的資源棧,右側操作中選擇更新堆棧。
  2. 在第二步啟動棧,在進階配置頁籤中選擇使用臨時堆棧政策,并輸入JSON格式的堆棧政策文本
在ROS控制台設定資源棧更新政策
三、修改堆棧政策
  1. 選擇已建立的資源棧,點選名稱進入資源棧詳情
  2. 選擇政策選項,點選修改更新政策
  3. 輸入新的堆棧更新政策
在ROS控制台設定資源棧更新政策

堆棧政策相關API

  • CreateStack 設定堆棧政策
    • StackPolicy
  • UpdateStack 設定堆棧政策,設定臨時堆棧政策
    • StackPolicyDuringUpdate
  • GetStackPolicy 擷取堆棧政策
  • SetStackPolicy 設定堆棧政策