设置阿里云视频点播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;
}

 

至此结束

相关文章
相关标签/搜索