非公開のバケットからオブジェクトをダウンロードすることを第三者ユーザーに許可するには、署名付き URL または一時的なアクセス資格情報を使用する必要があります。 AccessKey を直接提供することはできません。

署名付き URL

OSS では、署名付き URL を使用してデータをダウンロードできます。 署名付き URL を追加し、第三者ユーザーに転送することで、アクセスを許可できます。 第三者ユーザーは、HTTP GET リクエストを送信し、この URL を使用してオブジェクトをダウンロードできます。

  • 実装方法

    署名付き URL を生成する方法の例

    http://<bucket>.<region>.aliyuncs.com/<object>?OSSAccessKeyId=<user access_key_id>&Expires=<unix time>&Signature=<signature_string> 

    署名付き URL には、3 つ以上のパラメーター (Signature、Expires、OSSAccessKeyId) が含まれている必要があります。

    • OSSAccessKeyId:Alibaba Cloud アカウントの AccessKey ID。
    • Expires:URL の有効期限。
    • Signature:署名文字列。 詳細は、「URL への署名の追加」をご参照ください。
      このリンクは、URL エンコードされている必要があります。
    • 操作方法
      操作方法 説明
      コンソール 直感的で使いやすい Web アプリケーション
      Java SDK さまざまな言語の SDK デモ
      Python SDK
      PHP SDK
      Go SDK
      C SDK
      .NET SDK

一時的なアクセス資格情報

OSS は、Security Token Service (STS) を使用して、第三者ユーザーに一時的な資格情報を提供します。 第三者ユーザーは、リクエストヘッダーに署名を追加することで、オブジェクトにアクセスできます。 この許可方法は、モバイルシナリオでのオブジェクトのダウンロードに適用できます。 一時的なアクセス資格情報の実装方法については、「STS Java SDK」をご参照ください。

  • 実装方法

    第三者ユーザーはアプリケーションサーバーにリクエストを送信して、STS で発行された AccessKey ID、AccessKey Secret、STS Token を取得します。 次に、取得した AccessKey ID、AccessKey Secret、STS Token を使用して、開発者のオブジェクトリソースをリクエストします。

  • 操作方法
    操作方法 説明
    コンソール 直感的で使いやすい Web アプリケーション
    Java SDK さまざまな言語の SDK デモ
    Python SDK
    PHP SDK
    Go SDK
    C SDK
    .NET SDK
    Android SDK
    iOS SDK

ベストプラクティス