欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue页面使用阿里oss上传功能的实例(二)

程序员文章站 2022-11-25 11:20:42
本文主要介绍oss管理控制台设置访问权限、角色等。分享给大家,具体如下: 进入控制台,鼠标移到右上角用户名处,点击“访问控制”,如下图: 如果没有此功能,则...

本文主要介绍oss管理控制台设置访问权限、角色等。分享给大家,具体如下:

进入控制台,鼠标移到右上角用户名处,点击“访问控制”,如下图:

vue页面使用阿里oss上传功能的实例(二)

如果没有此功能,则将鼠标移至 产品 -> 管理与控制,点击 访问控制进入访问控制产品页

vue页面使用阿里oss上传功能的实例(二)

1.创建子账号

点击左侧的 用户管理 -> 自定义授权策略 ->新建授权策略 , 如下图:

vue页面使用阿里oss上传功能的实例(二)

2.新建授权策略

点击左侧的 策略管理 -> 新建用户 , 如下图:

vue页面使用阿里oss上传功能的实例(二)

  • 在弹出对话框中:选择授权策略模板(使用空模板)
  • 编辑授权策略并提交:修改 授权策略名称(自定义名称),备注,策略内容,并提交。

示例:一个mns授权策略内容模版:

{
            "statement": [
               {
                "action": "mns:*",
                "effect": "allow",
                "resource": "acs:mns:*:*:*" 
              }
            ],
            "version": "1"
           }

授权策略是json格式的字符串,其中,action : 表示要授权的操作,mns 操作都以"mns:"开头,

例如: "mns:sendmessage" 表示 mns 服务的api:sendmessage/batchsenmessage

其他详见附录:mns api和授权操作映射表;

effect : 表示授权类型, 例如:allow, deny

resrouce : 表示要授权的阿里云资源名(arn),格式为:"acs:<云服务名>: <地域名>: <主账号uid>:<资源uri>"

例如:“acs:mns:cn-hangzhou:123456789:/queues/myqueue1/messages”

表示:授权资源是主账号uid为123456789在cn-hangzhou地域的myqueue1。
用""表示不指定具体的字段,例如:"acs:mns:::" 表示不指定地域名,主账号id和资源uri,子账号可以访问主账号的所有mns资源。

3.授权子账号访问mns

  • 返回 用户管理 ,找到第一步创建的子账号,点击右侧 授权
  • 在弹出的对话框中,选择授权策略名称,并添加到右侧已选授权策略列表,点击 确定 提交,如下图:

vue页面使用阿里oss上传功能的实例(二)

4.创建角色

点击左侧的 角色管理 -> 新建角色如下图:

vue页面使用阿里oss上传功能的实例(二)

vue页面使用阿里oss上传功能的实例(二)

4.授权策略访问角色

点击左侧的 角色管理 ,在右侧的角色列表中选择需要授权的角色,点击授权,如下图:

vue页面使用阿里oss上传功能的实例(二)

5.注意事项

1.server端的代码中

var sts = new sts({
  accesskeyid: '子账号 accesskeyid',
  accesskeysecret: '子账号 accesskeysecret',
});

accesskeyid 和 accesskeysecret 为第一步创建的子用户的 key

2.rolearn

var rolearn = '对应角色的arn值';

3.policy

var policy = {
  "version": "1",
  "statement": [
  {
    "effect": "allow",
    "action": [
    "oss:getobject",
    "oss:putobject"
    ],
    "resource": [
    "acs:oss:*:*:bucketname",
    "acs:oss:*:*:bucketname/*"
    ]
  }
  ]
};

这里的policy 必须和之前创建的策略一致。

源码地址:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。