設置阿里雲視頻點播RAM權限

分兩個部分:
RAM子帳號權限
1.建立子帳號,生成AccessKeyID和AccessKeySecret
2.建立一個受權策略,能夠上傳和讀取視頻OSS的bucket
3.將管理視頻點播的權限(AliyunVODFullAccess)、管理視頻直播(Live)的權限(AliyunLiveFullAccess)、管理短視頻生產平臺(SVGP)的權限(AliyunSVGPFullAccess)、調用STS服務AssumeRole接口的權限(AliyunSTSAssumeRoleAccess)以及上面新建的受權策略受權給這個子帳號php

臨時用戶權限
1.建立角色
2.將視頻點播服務播放權限(AliyunVODPlayAuth)、只讀訪問視頻直播的權限(AliyunLiveReadOnlyAccess)以及子帳號創建的受權策略一塊兒給這個角色編程

 

示例:ide

1.阿里雲https://ram.console.aliyun.com/,建立用戶video-manager,描述名稱就是視頻管理,訪問方式選擇「編程訪問」阿里雲

2.建立帳號成功,保存下子帳號的key和密鑰3d

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

3.進入視頻點播控制檯(https://vod.console.aliyun.com/),查看視頻點播的OSS-bucket,而且記錄下來,這裏是baae800163e1a3b4a.oss-cn-shanghai.aliyuncs.com,可是咱們只要baae800163e1a3b4a和cn-shanghaicode

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

4.回到RAM權限控制檯,選擇「權限管理」---「權限策略管理」--「新增」,到了」新建自定義權限策略(https://ram.console.aliyun.com/policies/new)"視頻

策略名稱:video-upload-playblog

備註:視頻點播,OSS臨時用戶權限接口

配置模式:選擇「腳本配置」ci

策略內容以下:(注意baae800163e1a3b4a是OSS bucket的名稱,按照你本身實際的狀況來寫,Action:我這裏是所有權限)

{
    "Statement": [
        {
            "Action": "oss:*",
            "Effect": "Allow",
            "Resource": "acs:oss:*:*:baae800163e1a3b4a/*"
        }
    ],
    "Version": "1"
}

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

5.給video-manager授予權限(https://ram.console.aliyun.com/users/video-manager),可直接「用戶管理」--「用戶」,點擊「video-manager」,增長

AliyunSTSAssumeRoleAccess
AliyunLiveFullAccess
AliyunVODFullAccess
AliyunSVGPFullAccess
video-upload-play    自定義的受權策略

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

子帳號的權限已經弄好了

 

臨時用戶權限:

1.建立角色: 選擇"阿里雲帳號"

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

2.輸入角色名稱video-upload-play,備註爲「視頻上傳播放角色」,選擇雲帳號「當前雲帳號」

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

3.爲角色受權

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

4.爲角色受權,爲角色增長之前權限

AliyunLiveReadOnlyAccess
AliyunVODPlayAuth
video-upload-play

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

5.獲取ARN

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

 

<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

//構建一個阿里雲客戶端,用於發起請求。
//構建阿里雲客戶端時須要設置AccessKey ID和AccessKey Secret。
AlibabaCloud::accessKeyClient('<accessKeyId>', '<accessSecret>')
                        ->regionId('cn-hangzhou')
                        ->asDefaultClient();
//設置參數,發起請求。
try {
    $result = AlibabaCloud::rpc()
                          ->product('Sts')
                          // ->scheme('https') // https | http
                          ->version('2015-04-01')
                          ->action('AssumeRole')
                          ->method('POST')
                          ->host('sts.aliyuncs.com')
                          ->options([
                                        'query' => [
                                          'RegionId' => "cn-hangzhou",
                                          'RoleArn' => "<RoleArn>",       //這裏填寫上面獲取到的Arn便可
                                          'RoleSessionName' => "<RoleSessionName>",     //這裏隨便填寫,好比xxxxx
                                        ],
                                    ])
                          ->request();
    print_r($result->toArray());
} catch (ClientException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
}

 

至此結束

相關文章
相關標籤/搜索