日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用OOS審批授權RAM用戶(子賬號)RAM權限

當通過RAM控制臺或OpenAPI為RAM用戶授權時,權限是即時生效的,這樣對于頻繁授權或者高權限授予場景來講,可能會帶來一定的安全挑戰。為了應對這些挑戰,建議采取額外的安全措施來確保系統的整體安全性。就此,本文引入一種高效的授權審批保障機制,即系統運維管理(OOS)的審批授權存在的權限和審批授權未存在的權限。通過參考這兩個模板可創建適用于您的模板,這樣貴司的普通用戶通過創建執行來申請權限,接著權限管理員用戶會收到審批通知,管理員審批通過后,創建執行的普通用戶即可獲得授權。

準備工作

  • 管理員的RAM用戶(子賬號)。該賬號需具備RAM授權的權限策略,該用戶名稱供設置approvers默認參數時使用,如不具備,可參考刪除RAM用戶進行創建并通過為RAM用戶授權來授予其AliyunRAMFullAccess權限策略。

  • 權限申請者的RAM用戶(子賬號)。如還沒有,可參考創建RAM用戶進行創建,且該賬號需具備OOS執行權限,如不具備,可參考賬戶訪問控制設置。

  • RAM權限策略。對于系統/自定義類型的權限策略均可通過策略管理查詢到,如果想授予的是自定義類型權限策略,且其不存在,可參考本文的操作步驟-創建自定義權限策略并授權來完成授權。

  • 一個釘釘群,該群內有具備管理員權限的員工(此權限指員工的阿里云賬號權限),由于審批通知要發送到釘釘群中,所以需要從審批管理員所在的某個釘釘群獲取WebHookUrl,這樣當有人申請權限時,OOS就會調用WebHookUrl來通知管理員進行審批授權。 獲取WebHook請參考,OOS任務通過釘釘審批使用。獲取到WebHookUrl后請保存好,待后續步驟使用,WebHookUrl形如https://oapi.dingtalk.com/robot/send?access_token=1234zxcvbnm67890。

操作步驟

在本文提供兩個參考模板引導。一類是面向已存在權限策略的場景,即系統權限策略和已創建對自定義權限策略的授權。另一類是面向尚不存在權限策略的場景,即自定義策略的創建和授權。

已存在權限策略的授權

如下操作提示中包括三階段,兩類身份,分別對應著權限管理員配置審批授權模板,申請權限的員工申請權限,權限管理員審批授權。

權限管理員

  1. 登錄OOS控制臺

  2. 單擊左上角,確認已切換到目標地域oos

  3. 便于權限申請者創建執行,防止審批信息被誤改。此時您需根據實際情況,修改公共模板,先將審批管理相關信息固定到模板中,并刪除其對應的模板參數定義,最后在我的模板中創建模板,下面將介紹如何固定審批信息。

  4. 選擇自動化任務>公共任務模板。image

  5. 然后輸入“ACS-RAM-ApproveAttachPolicyToUser”,單擊模板名,進入基本信息頁面。image

  6. 單擊YAMLimage

  7. 首先修改模板中的approveAttachPolicy任務,將下圖紅框的參數引用改為固定值。

  • 其中Approvers表示審批管理員的阿里云賬號名稱,其后面引用的 '{{approvers}}' 請修改成管理員賬號的名稱,如改成 ['zhangsan']

  • 其中MinRequiredApprovals表示最少需要幾個審批者同意后,方審批通過,其后面引用的 '{{minRequiredApprovals}}' 請修改為要求的最低審批通過人數,如改成1

  • 其中URI表示webHook的統一資源標識符,其后面引用的'{{webhookUrl}}'請修改為您在準備工作中獲取到的webHookUrl,如改成 'https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414'

  • 其中atMobiles表示在發送審批通知時,釘釘群內將被@的用戶,其后面引用的'{{atMobiles}}'請修改為審批管理員注冊釘釘賬號使用的手機號碼,如改成['1390000****']

  • 其中isAtAll表示當發送審批通知時,是否@釘釘群內所有用戶,其后面引用的'{{atAll}}'可根據實際需求修改為 false 或者 true ,如改成 false

image

8. 模板中的approveAttachPolicy任務參數固定后,任務腳本樣式如下。

Tasks:
  - Name: approveAttachPolicy
    Action: 'ACS::Approve'
    Description:
      en: Approve task add policy.
      zh-cn: 審批后授權。
    Properties:
      Approvers: ['zhangsan']
      MinRequiredApprovals: 1
      NotifyType: WebHook
      WebHook:
        URI: 'https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414'
        Headers:
          Content-Type: application/json
        Content:
          msgtype: text
          text:
            content: |
              Notice: Please approve the task execution to attach {{policyType}} policy {{policyName}}
              for target user {{ACS::ExecuteUser}}.
              sent by {{ACS::RegionId}} oos {{ACS::ExecutionId}}.
          at:
            atMobiles: ['1390000****']
            isAtAll: false # 請根據您實際情況進行更改
  1. 接下來,請移步到模板的參數部分,將如下截圖內選中的,且未被引用的參數定義內容刪除掉。

image

  1. 最終模板的YAML腳本樣式如下。

FormatVersion: OOS-2019-06-01
Description:
  en: Attach policy to user that template executed by after approving.
  zh-cn: 審批通過后授權給創建執行的子用戶。
  name-en: ACS-RAM-ApproveAttachPolicyToUser
  name-zh-cn: 審批通過后授權給創建執行的子用戶
  categories:
    - security
Parameters:
  policyType:
    Description:
      en: 'The policy type to add,the optioanl is Custom or System.'
      zh-cn: 將授予的權限策略類型,可選類型為系統權限或自定義權限。
    Type: String
    AllowedValues:
      - Custom
      - System
  policyName:
    Description:
      en: The policy to add.
      zh-cn: 將授予的權限策略名稱。
    Type: String
  OOSAssumeRole:
    Description:
      en: The RAM role to be assumed by OOS.
      zh-cn: OOS扮演的RAM角色。
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: approveAttachPolicy
    Action: 'ACS::Approve'
    Description:
      en: Approve task add policy.
      zh-cn: 審批后授權。
    Properties:
      Approvers: ['zhangsan']
      MinRequiredApprovals: 1
      NotifyType: WebHook
      WebHook:
        URI: 'https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414'
        Headers:
          Content-Type: application/json
        Content:
          msgtype: text
          text:
            content: |
              Notice: Please approve the task execution to attach {{policyType}} policy {{policyName}}
              for target user {{ACS::ExecuteUser}}.
              sent by {{ACS::RegionId}} oos {{ACS::ExecutionId}}.
          at:
            atMobiles: ['1390000****']
            isAtAll: false # 請根據您實際情況進行更改
  - Name: checkPolicyExist
    Action: 'ACS::CheckFor'
    Description:
      en: Check for the existence of policy.
      zh-cn: 確認權限策略已存在。
    Properties:
      Service: RAM
      API: GetPolicy
      Parameters:
        PolicyType: '{{ policyType }}'
        PolicyName: '{{ policyName }}'
      DesiredValues:
        - 'true'
      PropertySelector: .DefaultPolicyVersion != null|tostring
    Outputs:
      policyDocumentToAttach:
        Type: Json
        ValueSelector: .DefaultPolicyVersion.PolicyDocument
  - Name: createStack
    Action: 'ACS::Template'
    Description:
      en: Attach policy by Ros resource stack.
      zh-cn: 通過Ros資源棧為角色授權。
    Properties:
      TemplateName: 'ACS::ROS::CreateStack'
      Parameters:
        stackName: 'OOS-{{ACS::ExecutionId}}'
        disableRollback: true
        parameters:
          - ParameterKey: PolicyType
            ParameterValue: '{{ policyType }}'
          - ParameterKey: UserName
            ParameterValue: '{{ACS::ExecuteUser}}'
          - ParameterKey: PolicyName
            ParameterValue: '{{ policyName }}'
        templateBody: |
          {
            "Parameters": {
              "PolicyType": {
                "Type": "String",
                "Description": "Authorization policy type. Value: \"System\" or \"Custom\"."
              },
              "UserName": {
                "Type": "String",
                "Description": "User name."
              },
              "PolicyName": {
                "Type": "String",
                "Description": "Authorization policy name."
              }
            },
            "ROSTemplateFormatVersion": "2015-09-01",
            "Outputs": {},
            "Resources": {
              "AttachPolicyToUser": {
                "Type": "ALIYUN::RAM::AttachPolicyToUser",
                "Properties": {
                  "PolicyType": {
                    "Ref": "PolicyType"
                  },
                  "UserName": {
                    "Ref": "UserName"
                  },
                  "PolicyName": {
                    "Ref": "PolicyName"
                  }
                }
              }
            }
          }
    Outputs:
      stackId:
        Type: String
        ValueSelector: stackId
Outputs:
  statement:
    Type: Json
    Value: '{{ checkPolicyExist.policyDocumentToAttach }}'
  stackId:
    Type: String
    Value: '{{createStack.stackId}}'
  1. 完成模板修改,輸入模板名稱。

本示例命名為copy-ACS-RAM-ApproveAttachPolicyToUser。

  1. 單擊創建模板

權限申請者

  1. 登錄OOS控制臺

  2. 單擊左上角,確認已切換到目標地域

  3. 單擊公共任務模板,找到已創建的模板copy-ACS-RAM-ApproveAttachPolicyToUser,單擊創建執行

  4. 單擊下一步:設置參數。根據實際情況,填寫將申請的權限類型policyType和要申請的權限名稱policyName

此部分以系統權限AliyunECSReadOnlyAccess為例。

image

  1. 單擊下一步:確定。

  2. 單擊創建執行。創建執行后,您獲取WebHook路徑的釘釘群中會有審批通知,權限管理員用戶可通過該通知審批您的授權申請,若申請通過,您會立即被授權。

權限管理員

  1. 權限申請者創建執行后,您可在其獲取WebHook路徑釘釘群中查看到審批通知。

    image

  2. 如果您允許授權,則請訪問審批通知的鏈接,并單擊審批步驟>同意步驟執行>確定

    image

  3. 您可通過執行詳情,查看授權任務執行情況,若成功,則創建執行的RAM用戶已被授予相應權限。oos

創建自定義權限策略并授權

如下操作提示中包括三階段,兩類身份,分別對應著權限管理員配置審批授權模板,申請權限的員工申請權限,權限管理員審批授權。

權限管理員

  1. 登錄OOS控制臺

  2. 單擊左上角,確認已切換到目標地域

  3. 便于權限申請者創建執行,防止審批信息被誤改。可參考上文將ACS-RAM-ApproveAttachCustomPolicyToUser審批信息固定。

  4. 根據ACS-RAM-ApproveAttachCustomPolicyToUser創建的新模板,本示例命名為copy-ACS-RAM-ApproveAttachCustomPolicyToUser。

權限申請者

  1. 登錄OOS控制臺

  2. 單擊左上角,確認已切換到目標地域

  3. 單擊我的模板,找到已創建的模板copy-ACS-RAM-ApproveAttachCustomPolicyToUser,單擊創建執行。

  4. 單擊下一步:設置參數。根據實際情況,填寫將申請的權限JSON腳本policyDocument和權限名稱policyName

此部分使用的policyDocument示例腳本如下,其代表ECS的只讀權限,關于如何編寫權限腳本可參考權限策略語法和結構

{
    "Version": "1",
    "Statement": [
        {
            "Action": "ecs:Describe*",
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "ecs:List*",
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

image

  1. 單擊下一步:確定。

  2. 單擊創建執行。創建執行后,您獲取WebHook路徑的釘釘群中會有審批通知,權限管理員用戶可通過該通知審批您的授權申請,若申請通過,您會立即被授權。

權限管理員

  1. 權限申請者創建執行后,您可在其獲取WebHook路徑釘釘群中查看到審批通知。

    image

  2. 如果您允許授權,則請訪問審批通知的link,并單擊審批步驟>同意步驟執行>確定

    image

  3. 您可通過執行詳情,查看授權任務執行情況,若成功,則創建執行的RAM用戶已被授予相應權限。

oos

總結

本文提到的兩個可參考的模板,可保證授權的可靠性。另外如果您將授予的權限是未創建的,參考審批通過后授予自定義權限給創建執行的RAM用戶(子賬號)模板,可免去授予不存在的自定義權限策略的繁瑣操作,您僅需一步創建執行,即可完成授權的所有操作,無需再對控制臺中權限策略、用戶等點來點去。