基于Bucket Policy实现跨账号使用OSS素材

阿里云OSS中的资源默认设置为私有。如果您希望合作伙伴能够在剪辑中使用您的OSS资源,可以通过Bucket Policy授予其访问Bucket的权限。

背景信息

公司A希望其合作公司B能够使用自己存储在OSS中的文件作为剪辑素材,但又不希望通过将Bucket设置为公共读取或直接拷贝文件给公司B来实现这一目标,此时,A公司可以通过Bucket Policy授予合作伙伴访问Bucket的权限。这样,公司B即可在Timeline中引用这些素材。

添加Bucket Policy以授权访问

智能媒体服务IMS通过扮演系统角色AliyunICEDefaultRole来访问客户的OSS文件。A公司授予B公司Bucket权限,使得B公司的AliyunICEDefaultRole扮演者可以访问A公司的Bucket。具体步骤如下:

  1. 获取B公司账号的阿里云UID。

    B公司登录自己的阿里云账号,在控制台页面单击右上角头像,在弹出框中可查看并记录下阿里云UID。

    image

  1. A公司账号授予B公司账号的AliyunICEDefaultRole扮演者访问授权资源的权限。

    1. 登录OSS管理控制台

    2. Bucket 列表中单击目标Bucket名称。

    3. 在左侧导航栏,选择权限控制 > Bucket 授权策略

    4. Bucket 授权策略页面的按图形策略添加页签,单击新增授权

    5. 新增授权面板,填写授权策略。其中,授权用户选择其他账号,并按照以下要求进行填写(请务必将其中的阿里云UID替换为第一步获取的真实UID):

      arn:sts::公司B的阿里云UID:assumed-role/AliyunICEDefaultRole/*
    6. 其他参数配置方式,请参见通过Bucket Policy授权用户访问指定资源

    7. 单击确定

      操作示例:

      image

进阶配置

  • 多账号授权:上述授权用户可以填写多个,以授权多个阿里云账号访问当前bucket下的素材,用于剪辑媒资。

  • 操作权限:当授权操作为“只读”时,B账号仅能将当前bucket下的素材作为输入资源;而在授权操作为“读/写”时,B账号则可以将剪辑的输出成片写入当前bucket下。