全部產品
Search
文件中心

Object Storage Service:通過Bucket Policy授權訪問OSS

更新時間:Jun 19, 2024

OSS支援面向資源的授權方式,允許在Bucket層級而不是使用者層級設定權限原則。使用Bucket Policy可以授權當前雲帳號或者其他阿里雲帳號下單個或多個RAM使用者、RAM角色等訪問Bucket內的指定資源。Bucket Policy除提供策略文法的授權方式以外,還提供了圖形化介面的授權方式,助力您結合業務情境,快速完成授權。

注意事項

  • Bucket Owner可以在OSS控制台通過圖形化和策略文法兩種方式配置Bucket Policy。通過策略文法的方式配置Bucket Policy前,您需要先瞭解OSS Action、Resource以及Condition分類資訊。更多資訊,請參見RAM Policy

  • 配置Bucket Policy時,如果授權使用者選擇了包含匿名請求在內的所有帳號(*),且不包含Condition的情況下,則Bucket Policy僅對Bucket Owner以外的所有使用者生效。如果授權使用者選擇了包含匿名請求在內的所有帳號(*),且包含Condition的情況下,則Bucket Policy會對包含Bucket Owner在內的所有使用者生效。

  • 您可以添加多條Bucket Policy,但所有Bucket Policy的大小不允許超過16 KB。

使用情境

Bucket Policy通常應用於以下情境的授權訪問:

  • 需要進行跨帳號或對指定使用者授權訪問或管理整個Bucket或Bucket內的部分資源。

  • 需要對同帳號下的不同RAM使用者授予訪問或管理Bucket資源的不同許可權,例如唯讀、讀寫或完全控制的許可權。

操作步驟

使用OSS控制台

方式一:圖形化配置Bucket Policy

  1. 單擊Bucket 列表,然後單擊目標Bucket名稱。

  2. 在左側導覽列,選擇許可權控制>Bucket 授權策略

  3. Bucket 授權策略頁面的按圖形策略添加頁簽,單擊新增授權

  4. 新增授權面板,按以下說明配置各項參數,然後單擊確定

    配置項

    說明

    授權資源

    授權整個Bucket或Bucket內的部分資源供其他使用者訪問。

    • 整個Bucket:授權策略針對整個Bucket生效。

    • 指定資源:授權策略只針對指定的資源生效。您可以配置多條針對指定資源的授權策略。

      • 針對目錄層級授權

        授權訪問目錄下的所有子目錄和檔案時,需在目錄結尾處加上萬用字元星號(*)。例如授權訪問abc目錄下的所有子目錄和檔案,則填寫為abc/*

      • 針對指定檔案授權

        授權訪問目錄下的指定檔案時,需填寫不包含Bucket名稱在內的檔案的完整路徑,例如授權訪問abc目錄下的myphoto.png檔案,則填寫為abc/myphoto.png

    授權使用者

    通過選擇不同類型的帳號將資源授權給不同使用者進行訪問。

    • 所有帳號(*):如果您需要給所有使用者授權訪問指定資源,請選中此項。

    • 子帳號:如果您需要給當前帳號下的RAM使用者授權訪問指定資源,請選中此項,並從下拉式功能表中選擇目標RAM使用者。如果需要授權的RAM使用者較多時,建議直接在搜尋方塊輸入RAM使用者名稱稱關鍵字進行模糊比對。

      重要

      您的帳號必須是阿里雲帳號或擁有此Bucket系統管理權限及RAM控制台ListUsers許可權的RAM使用者,否則無法查看當前帳號的RAM使用者列表。關於為RAM使用者授予ListUsers許可權的具體操作請參見為RAM使用者授權

    • 其他帳號:如果您需要給其他阿里雲帳號、RAM使用者以及RAM角色授予存取權限,請選中此項。

      • 當您需要給其他阿里雲帳號或RAM使用者授權時,請輸入被授權帳號的UID。

      • 當您需要給RAM角色授權時,輸入格式為arn:sts::{RoleOwnerUid}:assumed-role/{RoleName}/{RoleSessionName}。例如扮演的RAM角色為testrole,角色擁有者的帳號UID為137918634953xxxx,角色會話名稱RoleSessionName為testsession。此時應填寫arn:sts::137918634953xxxx:assumed-role/testrole/testsession。當您需要給所有RAM角色授權時,請使用萬用字元星號(*)。例如配置為arn:sts::*:*/*/*。更多資訊,請參見AssumeRole - 擷取扮演角色的臨時身份憑證

      重要

      當被授權的對象是RAM角色時,該帳號無法通過OSS控制台訪問授權資源,您可以通過命令列工具ossutil、OSS SDK、OSS API訪問授權資源。例如,通過命令列工具ossutil訪問授權資源時,您需要參考使用臨時Token訪問的方式配置訪問憑證,然後通過請求OSS資源驗證Bucket Policy配置是否生效。

    授權操作

    您可以通過簡單設定進階設定兩種方式進行授權操作。

    • 簡單設定

      選中此項後,您可以結合實際情境按照如下說明配置相應的存取權限。將滑鼠移至上方在每一種存取權限右側對應的mark,可擷取各存取權限對應的Action列表。

      • 唯讀(不包含ListObject操作):對相關資源擁有查看和下載的許可權。

      • 唯讀(包含ListObject操作):對相關資源擁有查看、列舉和下載的許可權。

      • 讀/寫:對相關資源有讀和寫入權限。

      • 完全控制:對相關資源有讀、寫、刪除等所有操作許可權。

      • 拒絕訪問:拒絕對相關資源的所有操作。

      重要
      • 為確保使用OSS-HDFS服務的使用者可正常訪問OSS-HDFS的資料存放區目錄.dlsdata/及目錄下的任意Object,對開通了OSS-HDFS服務的Bucket配置Bucket Policy時,請確保授權操作不能選擇拒絕訪問

      • 如果針對某使用者同時配置了多條Bucket Policy規則,則該使用者所擁有的許可權是所有Policy規則的疊加。當這些Bucket Policy中包含拒絕存取權限時,遵循拒絕存取權限優先原則。例如針對某使用者第一次設定了唯讀許可權,第二次設定了讀/寫入權限,則該使用者最終的許可權為讀/寫。如果第三次設定了拒絕存取權限,則該使用者最終的許可權為拒絕訪問。

      • 唯讀、讀/寫、完全控制對應的授權效力為Allow,拒絕訪問對應的授權效力為Deny。

    • 進階設定

      選中此項後,您需要根據以下說明完成相關配置。

      • 效力:包含允許(Allow)和拒絕(Deny)兩種授權效力。

      • 操作:支援配置所有OSS支援的Action。關於Action分類的更多資訊,請參見RAM Policy

    條件(可選)

    您還可以在基礎設定和進階設定模式下選中此項,用於限定只有滿足條件的使用者能夠訪問OSS資源。

    • 訪問方式:預設支援HTTP和HTTPS兩種訪問方式。如果您希望當前授權策略通過HTTPS的方式來訪問Bucket資源,請選擇HTTPS。如果您希望當前授權策略通過HTTP的方式來訪問Bucket資源,請選擇HTTP。相對於HTTP,HTTPS具有更高的安全性。

      如果您需要強制Bucket內資源的所有請求訪問方式為其中一種,例如HTTPS,您需要通過策略文法的方式來實現。具體操作,請參見如何配置HTTPS請求和認證?

    • IP =:設定IP等於某個IP地址或IP位址區段。如果有多個IP地址,各個IP地址之間用半形逗號(,)分隔。

    • IP ≠:設定IP不等於某個IP地址或IP位址區段。如果有多個IP地址,各個IP地址之間用半形逗號(,)分隔 。

    • VPC=:設定只允許通過某個VPC或者某些VPC訪問資源。支援選擇當前帳號下已建立的專有雲網路VPC ID,也可以通過單擊輸入其他VPC帳號後填寫當前帳號或其他帳號建立的VPC ID。關於建立專用網路的具體操作,請參見建立專用網路和交換器

    • VPC ≠:設定不允許通過某個VPC訪問資源。支援選擇當前帳號下已建立的專有雲網路VPC ID,也可以通過單擊輸入其他VPC帳號後填寫當前帳號或其他帳號建立的VPC ID。關於建立專用網路的具體操作,請參見建立專用網路和交換器

    說明

    如果Bucket Policy同時選擇了VPC(包括等於或者不等於)和IP(包括等於或者不等於)的條件,則VPC和IP之間是and的關係,即Bucket Policy必須同時滿足指定的VPC和IP。

  5. 單擊確定

方式二:通過策略文法配置Bucket Policy

  1. 在左側導覽列,選擇許可權控制>Bucket 授權策略

  2. Bucket 授權策略頁面的按文法策略添加頁簽,單擊編輯

  3. 在文法策略輸入框中,輸入Bucket Policy。

    您可以根據實際使用情境,編輯不同的策略文法,用於實現更精細的許可權管理。以下為資源擁有者(UID為174649585760xxxx)為不同授權情境配置的Bucket Policy樣本。

    • 樣本1:允許所有使用者列舉儲存空間examplebucket下所有檔案的許可權。

      {
          "Statement": [
              {
                  "Action": [
                      "oss:ListObjects",
                      "oss:ListObjectVersions"
      
                  ],
                  "Effect": "Allow",            
                  "Principal": [
                      "*"
                  ],            
                  "Resource": [
                      "acs:oss:*:174649585760xxxx:examplebucket"
                  ]
              },
      
          ],
          "Version": "1"
      }
    • 樣本2:拒絕源IP地址不在192.168.0.0/16範圍內的所有使用者對儲存空間examplebucket執行任何操作。

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Deny",
                  "Action": "oss:*",
                  
                  "Principal": [
                      "*"
                  ],            
                  "Resource": [
                      "acs:oss:*:174649585760xxxx:examplebucket"
                  ],
                  "Condition":{
                      "NotIpAddress": {
                          "acs:SourceIp": ["192.168.0.0/16"]
                      }
                  }
              }
          ]
      }
    • 樣本3:允許指定的RAM使用者(UID為20214760404935xxxx)擁有目標儲存空間examplebucket下hangzhou/2020hangzhou/2015目錄的唯讀許可權。

      {
          "Statement": [
              {
                  "Action": [
                      "oss:GetObject",
                      "oss:GetObjectAcl",
                      "oss:GetObjectVersion",
                      "oss:GetObjectVersionAcl"
      
                  ],
                  "Effect": "Allow",             
                  "Principal": [
                      "20214760404935xxxx"
                  ],            
                  "Resource": [
                      "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2020/*",
                      "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2015/*"
                  ]
              },
              {
                  "Action": [
                      "oss:ListObjects",
                      "oss:ListObjectVersions"
                  ],
                  "Condition": {
                      "StringLike": {
                          "oss:Prefix": [
                              "hangzhou/2020/*",
                              "hangzhou/2015/*"
                          ]
                      }
                  },
                  "Effect": "Allow",
                  "Principal": [
                      "20214760404935xxxx"
                  ],
                  "Resource": [
                      "acs:oss:*:174649585760xxxx:examplebucket"
                  ]
              }
          ],
          "Version": "1"
      }
  4. 單擊儲存後,在彈出的對話方塊,單擊確定

使用圖形化管理工具ossbrowser

ossbrowser支援Bucket層級的操作與控制台支援的操作類似,請按照ossbrowser介面指引完成修改Bucket Policy的操作。關於使用ossbrowser的更多資訊,請參見快速使用ossbrowser

使用阿里雲SDK

以下僅列舉常見SDK的配置Bucket Policy的程式碼範例。關於其他SDK的配置Bucket Policy的程式碼範例,請參見SDK簡介

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // 填寫Bucket名稱,例如examplebucket。
        String bucketName = "examplebucket";

        // 建立OSSClient執行個體。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            // 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
            String policyText = "{\"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"oss:GetObject\", \"oss:ListObjects\"], \"Principal\": [\"20214760404935xxxx\"], \"Resource\": [\"acs:oss:*:174649585760xxxx:examplebucket/*\"]}], \"Version\": \"1\"}";

            // 設定Bucket Policy。
            ossClient.setBucketPolicy(bucketName, policyText);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;

// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
$provider = new EnvironmentVariableCredentialsProvider();
// Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 填寫儲存空間名稱,例如examplebucket。
$bucket= "examplebucket";

// 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
$policy = <<< BBBB
{
  "Version":"1",
  "Statement":[
  {
    "Action":[
    "oss:GetObject",
    "oss:ListObjects"
  ],
    "Principal": [
    "20214760404935xxxx"           
  ],
    "Effect":"Allow",
    "Resource":["acs:oss:*:174649585760xxxx:examplebucket/*"]
  }
  ]
}
BBBB;

try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
    );
    $ossClient = new OssClient($config);
    // 設定Bucket Policy。
    $ossClient->putBucketPolicy($bucket, $policy);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}

print(__FUNCTION__ . ": OK" . "\n");
const OSS = require('ali-oss')

const client = new OSS({
  // yourregion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourregion',
  // 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  // 填寫儲存空間名稱,例如examplebucket。
  bucket: 'examplebucket'
});
// 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
const policy = {
  Version: '1',
  Statement: [
  {
      Action: ['oss:ListObjects', 'oss:GetObject'],
      Effect: 'Allow',
      Principal: ['20214760404935xxxx'],
      Resource: ['acs:oss:*:174649585760xxxx:examplebucket']
    }
  ]
};

async function putPolicy() {
  const result = await client.putBucketPolicy('examplebucket', policy);
  console.log(result)
}

putPolicy()
# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
import json

# 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
# yourBucketName填寫Bucket名稱。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
policy_text = '{"Statement": [{"Effect": "Allow", "Action": ["oss:GetObject", "oss:ListObjects"], "Principal": ["20214760404935xxxx"], "Resource": ["acs:oss:*:174649585760xxxx:examplebucket/*"]}], "Version": "1"}'

# 上傳授權策略。
bucket.put_bucket_policy(policy_text)
using Aliyun.OSS;
using Aliyun.OSS.Common;
// yourEndpoint填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
var endpoint = "yourEndpoint";
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// 填寫Bucket名稱。
var bucketName = "examplebucket";
// 建立OSSClient執行個體。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    // 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
    string policy = "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"oss:ListObjects\",\"oss:GetObject\"], \"Principal": \"20214760404935xxxx"\, \"Resource\": \"acs:oss:*:174649585760xxxx:examplebucket\*",\"Effect\": \"Allow\"}]}\n";
    var request = new SetBucketPolicyRequest(bucketName, policy);
    client.SetBucketPolicy(request);
    Console.WriteLine("Set bucket:{0} Policy succeeded ", bucketName);
}
catch (OssException ex)
{
    Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
        ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
catch (Exception ex)
{
    Console.WriteLine("Failed with error info: {0}", ex.Message);
}
package main

import (
    "fmt"
    "os"

    "github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
    // 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // 建立OSSClient執行個體。
    // yourEndpoint填寫Bucket對應的Endpoint,以華東1(杭州)為例,填寫為https://oss-cn-hangzhou.aliyuncs.com。其它Region請按實際情況填寫。
    client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。
    policyConfig := `
    {
        "Statement": [
            {
                "Action": [
                    "oss:GetObject",
                    "oss:ListObjects"
                ],
				"Principal": [
                    "20214760404935xxxx"           
                ],
                "Effect" : "Allow",
                "Resource" : ["acs:oss:*:174649585760xxxx:examplebucket/*"]
            }
        ],
        "Version": "1"
    }`

    // 設定Bucket Policy。
    err = client.SetBucketPolicy("examplebucket", policyConfig)
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }
    fmt.Println("SetBucketPolicy success")
}
#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /* 初始化OSS帳號資訊。*/
            
    /* yourEndpoint填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。*/
    std::string Endpoint = "yourEndpoint";
    /* 填寫Bucket名稱,例如examplebucket。*/
    std::string BucketName = "examplebucket";

    /* 初始化網路等資源。*/
    InitializeSdk();

    ClientConfiguration conf;
    /* 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。*/
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);

    /* 以下樣本用於資源擁有者(即UID為174649585760xxxx的Bucket Owner)通過Bucket Policy授權指定使用者(UID為20214760404935xxxx的RAM使用者)擁有列舉examplebucket下所有檔案的許可權。*/
    std::string policy = 
        R"(
        {
            "Statement": [
            {
                "Action": [
                    "oss:GetObject",
                    "oss:ListObjects"
                ],
                "Principal": [
                    "20214760404935xxxx"           
                ],
                "Effect" : "Allow",
                "Resource" : ["acs:oss:*:174649585760xxxx:examplebucket/*"]
            }
            ],
                "Version": "1"
        }
        )";
    SetBucketPolicyRequest request(BucketName);
    request.setPolicy(policy);
    auto outcome = client.SetBucketPolicy(request);

    if (!outcome.isSuccess()) {
        /* 異常處理。*/
        std::cout << "Set Bucket Policy fail" <<
            ",code:" << outcome.error().Code() <<
            ",message:" << outcome.error().Message() <<
            ",requestId:" << outcome.error().RequestId() << std::endl;
    }

    /* 釋放網路等資源。*/
    ShutdownSdk();
    return 0;
}

使用命令列工具ossutil

關於使用ossutil設定或修改Bucket Policy的具體操作,請參見bucket-policy(授權策略)

使用REST API

如果您的程式自訂要求較高,您可以直接發起REST API請求。直接發起REST API請求需要手動編寫代碼計算簽名。更多資訊,請參見PutBucketPolicy

訪問授權資源

Bucket Policy配置完成後,您可以通過以下方式訪問授權資源:

  • 檔案URL(僅當授權對象為所有使用者時)

    在瀏覽器上,使用Bucket預設網域名稱或自有網域名稱加檔案路徑進行訪問。例如http://mybucket.oss-cn-beijing.aliyuncs.com/file/myphoto.png。更多資訊,請參見OSS訪問網域名稱使用規則

  • 控制台

    登入OSS控制台,在左側導覽列單擊我收藏的路徑右側的加號(+),添加授權訪問的Bucket和檔案路徑。具體操作,請參見訪問路徑

  • 命令列工具ossutil

    使用被授權的帳號通過ossutil訪問授權資源。具體操作,請參見ossutil

  • 圖形化工具ossbrowser

    使用被授權的帳號登入ossbrowser,登入時在預設OSS路徑欄輸入被授權訪問的檔案目錄。具體操作,請參見ossbrowser

  • OSS SDK

    支援通過JavaPHPNode.jsPythonBrowser.js.NETAndroidGoiOSC++C SDK訪問授權資源。

相關文檔