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

文檔

授予函數(shù)計算訪問其他云服務(wù)的權(quán)限

在使用函數(shù)計算提供的日志、VPC、異步調(diào)用目標(biāo)服務(wù)等功能時,函數(shù)計算需要訪問其他的云服務(wù)。例如配置函數(shù)日志時,用戶需要授權(quán)函數(shù)計算對指定日志的Logstore的寫入權(quán)限,才能夠?qū)⒑瘮?shù)日志寫入Logstore。函數(shù)計算支持服務(wù)關(guān)聯(lián)角色,用戶授權(quán)后,創(chuàng)建的函數(shù)默認(rèn)將使用服務(wù)關(guān)聯(lián)角色,函數(shù)不需要配置角色即可使用日志、VPC、異步調(diào)用目標(biāo)服務(wù)等功能。而用戶代碼邏輯如果需要訪問其他云服務(wù),或需要更細(xì)粒度的授權(quán),可以選擇使用函數(shù)角色來授權(quán)。

功能原理

函數(shù)計算根據(jù)函數(shù)配置的角色,通過AssumeRole獲取一個臨時密鑰(STS Token)。然后通過上下文中的參數(shù)Credentialscredentials將臨時密鑰傳遞給您的函數(shù)。此臨時密鑰包含了您所配置的權(quán)限的所有資源,您可以在函數(shù)代碼中使用其訪問其他阿里云服務(wù)。

臨時密鑰的有效期為36小時,且不支持修改。函數(shù)的最大執(zhí)行時間為24小時,因此,執(zhí)行函數(shù)過程中,臨時密鑰不會過期。

不同的運行時,參數(shù)Credentialscredentials的位置不同,您可以點擊以下鏈接訪問對應(yīng)的文檔。需要強(qiáng)調(diào)的是,當(dāng)您使用Custom Runtime或Custom Container的時候,臨時密鑰會被注入HTTP請求的Header中。

示例:授予函數(shù)計算訪問OSS的權(quán)限

本文以授予函數(shù)計算訪問對象存儲OSS管理權(quán)限為例進(jìn)行介紹。如果需要指定函數(shù)具有管理對象存儲服務(wù)的權(quán)限,可以為該函數(shù)綁定一個角色,然后為此角色授予管理對象存儲的權(quán)限。

前提條件

創(chuàng)建函數(shù)

操作步驟

  1. 登錄函數(shù)計算控制臺,在左側(cè)導(dǎo)航欄,單擊函數(shù)

  2. 在頂部菜單欄,選擇地域,然后在函數(shù)頁面,單擊目標(biāo)函數(shù)操作列的配置

  3. 在函數(shù)詳情頁面,選擇配置頁簽,然后在左側(cè)導(dǎo)航欄選擇權(quán)限,單擊編輯,在編輯權(quán)限面板,單擊創(chuàng)建角色跳轉(zhuǎn)至RAM控制臺,根據(jù)界面提示創(chuàng)建角色并為角色授予所需權(quán)限。

    您也可以使用已有的角色,如果權(quán)限不足,單擊編輯策略根據(jù)需要添加權(quán)限策略。具體操作,請參見為RAM角色授權(quán)

    image

    1. RAM控制臺角色頁面,單擊創(chuàng)建角色

    2. 選擇類型頁簽,選擇可信實體類型為阿里云服務(wù),然后單擊下一步

      image.png

    3. 配置角色頁簽,選擇普通服務(wù)角色,設(shè)置角色名稱(本文示例為mytestrole),選擇受信服務(wù)函數(shù)計算,然后單擊完成

      image.png

    4. 創(chuàng)建完成頁簽,單擊為角色授權(quán),然后單擊目標(biāo)角色右側(cè)操作列的新增授權(quán)

    5. 在授權(quán)頁面,選擇授權(quán)范圍授權(quán)主體默認(rèn)為選擇的目標(biāo)角色,選擇所需系統(tǒng)策略或自定義策略,單擊添加到右側(cè)已選擇列表,然后單擊確定。更多信息,請參見權(quán)限策略及示例

      • 整個云賬號:權(quán)限在當(dāng)前阿里云賬號內(nèi)生效。

      • 指定資源組:權(quán)限在指定的資源組內(nèi)生效。指定資源組授權(quán)生效的前提是該云服務(wù)已支持資源組。更多信息,請參見支持資源組的云服務(wù)

      本文示例為管理對象存儲OSS,因此,您需要為新建角色增加系統(tǒng)策略AliyunOSSFullAccess

      image

  4. 為目標(biāo)函數(shù)綁定上一步創(chuàng)建的新角色mytestrole

    image

  5. 測試已綁定角色mytestrole的函數(shù)是否有管理OSS的權(quán)限。

    1. 在函數(shù)列表,單擊目標(biāo)函數(shù),然后選擇代碼頁簽,單擊測試函數(shù)右側(cè)的下拉列表,選擇配置測試參數(shù)配置,測試參數(shù)示例如下。

      {
         "endpoint": "http://oss-cn-hangzhou.aliyuncs.com",
         "bucket": "web****",
         "objectName": "myObj",
         "message": "your-message"
      }

      上述示例中,bucket需替換為與函數(shù)相同的地域下您已創(chuàng)建的bucket名稱。

    2. 代碼頁簽的代碼編輯器中,編寫代碼,然后單擊部署代碼

      以Python標(biāo)準(zhǔn)運行時為例,您可以使用函數(shù)計算為您提供的臨時密鑰訪問對象存儲OSS。

      import json
      import oss2
      
      def handler(event, context):
          evt = json.loads(event)
          creds = context.credentials
          # 輸入用戶臨時密鑰,包括臨時Token。
          # 阿里云賬號AccessKey擁有所有API的訪問權(quán)限,建議您使用RAM用戶進(jìn)行API訪問或日常運維。
          # 建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。
          # 本示例以從上下文中獲取AccessKey/AccessSecretKey為例。
          auth = oss2.StsAuth(creds.access_key_id, creds.access_key_secret, creds.security_token)
          bucket = oss2.Bucket(auth, evt['endpoint'], evt['bucket'])
          bucket.put_object(evt['objectName'], evt['message'])
          return 'success'
    3. 單擊測試函數(shù),執(zhí)行成功后,登錄對象存儲OSS控制臺,找到目標(biāo)Bucket,您可以看到目標(biāo)對象內(nèi)容已替換為測試參數(shù)中message的內(nèi)容。

    相關(guān)文檔

    • 函數(shù)計算3.0支持使用服務(wù)關(guān)聯(lián)角色最小化授權(quán),關(guān)于服務(wù)關(guān)聯(lián)角色的權(quán)限策略內(nèi)容,請參見AliyunServiceRoleForFC

    • 關(guān)于如何為目標(biāo)函數(shù)配置角色,請參見創(chuàng)建函數(shù)