配置对象存储源站

更新时间:

当您在添加DNS记录或创建源地址池时,如果源站类型为阿里云OSS或兼容AWS S3鉴权算法的源站,您可以参考本文档配置对象存储源站。

使用须知

您可以配合使用阿里云ESA的WAF功能来配置Referer黑白名单、IP频次控制等功能,以此来更有效地保护您的资源不被盗刷,更多信息,请参见WAF配置说明

配置阿里云OSS源站

注意事项

  • 如果您选择的回源类型为私有访问-同账号私有访问-跨账号,并且授权成功,那么用户将可以通过ESA域名访问您的OSS私有Bucket内的所有资源。因此,开启该功能前,请根据您的实际业务情况谨慎决策。如果您授权的私有Bucket内容并不适合作为ESA加速的内容,请勿授权或开启此功能。

  • 如果您选择的回源类型为私有访问-跨账号,则需要您在申请RAM子账号的时候,限制该RAM子账号对OSS Bucket进行PUT等写入或删除操作的权限。配置RAM用户访问OSS的权限请参见降低因账号密码泄露带来的未授权访问风险

  • OSS源站设置为私有访问的情况下,与OSS的静态网站托管功能的默认首页配置存在冲突,两个功能需要同时使用的情况下,请参见说明文档

  • 选择使用OSS来作为ESA的源站将可以享受到OSS的回源流量计费优惠,详细情况参考OSS官网计费文档

操作步骤

  1. 在添加DNS记录或创建源地址池时,源站类型选择OSS,具体请参见添加解析记录创建源地址池

  2. 回源类型支持公共访问私有访问-同账号私有访问-跨账号三种方式。

    • 如果您选择公共访问,无需配置鉴权相关信息,OSS地址栏中输入OSS外网访问域名(Endpoint)。获取OSS外网访问域名(Endpoint)请参见访问域名

    • 如果您选择私有访问-同账号私有访问-跨账号,请按照以下方式添加鉴权相关信息。

      私有访问-同账号

      系统会自动配置STS安全令牌,配置更简单,但仅支持ESA域名回源到同一个阿里云账号下的OSS私有Bucket。

      首次使用该功能时,需要进行默认权限策略的一键开启操作,开启后将会授予ESA产品对您同账号下OSS产品的所有Bucket的只读访问权限(默认的访问权限使用STS临时令牌来访问OSS Bucket,不支持通过该功能对OSS Bucket进行PUT等写入或删除操作)。

      1. 您首次使用该功能时,需要执行授权操作。在授权区域,单击点击授权,继续单击同意授权

        image

        说明

        如果无法通过ESA控制台的授权按钮来一键开启授权,您还可以在RAM访问控制台授予ESA回源OSS私有Bucket权限,具体操作请参见通过RAM访问控制服务开启ESA回源OSS私有Bucket权限

      2. 授权成功后,在OSS地址下拉列表中选择对应的OSS源站。

        说明

        ESA回源OSS私有Bucket访问非加密文件时,完成以上配置即可正常访问文件。如果您在OSS上对文件进行了KMS加密,此时将无法直接访问,需要为AliyunESAAccessingPrivateOSSRole角色添加AliyunKMSCryptoUserAccess权限才能正常访问文件。

      3. (可选):为AliyunESAAccessingPrivateOSSRole角色添加AliyunKMSCryptoUserAccess权限。

        1. 登录RAM控制台

        2. 在左侧导航栏,选择身份管理 > 角色

        3. 角色名称列表下,找到AliyunESAAccessingPrivateOSSRole角色。

        4. 单击新增授权授权主体会自动填入。

        5. 权限策略下选择系统策略,搜索AliyunKMSCryptoUserAccess,并单击AliyunKMSCryptoUserAccess,会添加到已选择权限策略区域框中。

        6. 单击确认新增授权,显示已完成

        7. 单击关闭

          image

      私有访问-跨账号

      需要配置永久安全令牌,除了支持ESA域名回源到统一阿里云账号下的OSS私有Bucket,还支持ESA域名回源到另外一个阿里云账号下的OSS私有Bucket。

      image

      参数

      说明

      回源类型

      选择私有访问-跨账号

      OSS地址

      OSS地址栏中输入OSS外网访问域名(Endpoint)。获取OSS外网访问域名(Endpoint)请参见访问域名

      AccessKey ID

      回源目标OSS私有Bucket所属阿里云账号的AccessKey ID,具体请参见创建AccessKey

      AccessKey Secret

      回源目标OSS私有Bucket所属阿里云账号的AccessKey Secret。

通过RAM访问控制服务开启ESA回源OSS私有Bucket权限

如果无法通过ESA控制台的授权按钮来一键开启授权,您还可以通过RAM访问控制服务来开启ESA回源OSS私有Bucket权限。

  1. 登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

    1. 脚本编辑页签,输入以下策略内容。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oss:List*",
                      "oss:Get*"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    2. 单击继续编辑基本信息,输入以下信息之后单击确定

      名称AliyunESAAccessingPrivateOSSRolePolicy

      备注:用于ESA回源私有OSS Bucket角色的授权策略,包含OSS的只读权限

  4. 在左侧导航栏,选择身份管理 > 角色

    1. 角色页面,单击创建角色

    2. 创建角色页面,选择可信实体类型为阿里云账号,然后单击下一步

    3. 配置角色阶段,输入以下信息

      角色名称AliyunESAAccessingPrivateOSSRole

      备注ESA默认使用此角色来回源私有OSS Bucket

    4. 选择信任的云账号选项设置为当前云账号,单击完成

  5. 角色创建完成之后,在角色页面列表中单击AliyunESAAccessingPrivateOSSRole,进入角色编辑页面。

    1. 信任策略页签,单击编辑信任策略,输入以下信息之后单击保存信任策略

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "dcdnservices.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
    2. 切换到权限管理页签,单击新增授权

      资源范围:账号级别

      权限策略:选择定义策略,选择之前创建的AliyunESAAccessingPrivateOSSRolePolicy,单击确认新增授权

  6. 确认新增授权之后,回到ESA控制台的源站配置页面,可以看到私有访问-同账号已经完成授权。

关闭ESA回源OSS私有Bucket的权限

  1. 登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 角色

  3. 角色名称列表下,单击AliyunESAAccessingPrivateOSSRole角色。

    image

  4. 移除角色AliyunESAAccessingPrivateOSSRole中的所有权限。

    1. 单击权限对应的解除授权

    2. 在移除权限的确认对话框中,单击解除授权

  5. 返回身份管理 > 角色页面,删除AliyunESAAccessingPrivateOSSRole角色。

    1. 单击AliyunESAAccessingPrivateOSSRole角色对应的删除

    2. 删除角色的确认对话框中,单击删除角色

配置S3兼容源站

操作步骤

  1. 在添加DNS记录或创建源地址池时,源站类型选择S3 兼容,具体请参见添加解析记录创建源地址池

  2. 回源类型支持公共访问私有访问两种方式。

    image

  • 如果您选择公共访问,无需配置鉴权相关信息,在源站地址栏中输入AWS S3 Bucket的外网访问地址。具体请参见Website endpoints

  • 如果您选择私有访问,请参考下表添加鉴权相关信息。

    参数

    说明

    源站地址

    AWS S3 Bucket的公网访问地址,例如your-bucket-name.s3.us-west-1.amazonaws.com。具体请参见Website endpoints

    鉴权算法

    AWS S3 Bucket鉴权功能配置的鉴权算法,目前仅支持AWS Signature v4算法。具体请参见Signature v4

    区域

    AWS S3 Bucket所在的数据中心区域,例如us-west-1。具体请参见AWS service endpoints

    AccessKey

    您需要在AWS上创建IAM账号,并且为账号授予S3访问权限,然后获取账号的AccessKey。具体请参见CreateAccessKey

    SecretKey

    您需要在AWS上创建IAM账号,并且为账号授予S3访问权限,然后获取账号的SecretKey。