このトピックでは、サーバーを介してオブジェクトを転送せず、直接 OSS にオブジェクトをアップロードすることを第三者ユーザーに許可する方法について説明します。

シナリオ

標準のクライアント/サーバーシステムアーキテクチャでは、サーバー側でクライアントからのリクエストを受信し、処理します。 OSS がバックエンドストレージサービスとして使用されている場合、クライアントはアップロードするオブジェクトをアプリケーションサーバーに送信し、アプリケーションサーバーはそのオブジェクトを OSS に転送します。 このプロセスでは、データを 2 回送信する必要があります。1 回はクライアントからサーバーへの送信、もう 1 回はサーバーから OSS への送信です。 アクセスリクエストが急増している場合、サーバーは十分な帯域幅リソースを提供して、複数のクライアントがオブジェクトを同時にアップロードできるようにする必要があります。 これは、アーキテクチャのスケーラビリティに対する課題です。

この問題を解決するため、OSS には、許可された第三者によるアップロード機能が備わっています。 この機能を使用すると、クライアントはオブジェクトをサーバーに送信せずに、OSS に直接アップロードできます。 これにより、アプリケーションサーバーのコストが削減され、大量のデータを処理する OSS の能力が最大化されます。 この場合、帯域幅と同時実行の制限を心配することなく、ビジネスに集中できます。

アップロード権限を付与する方法には、署名付き URL と次の一時的なアクセス資格情報の 2 つがあります。

署名付き URL

この方法では、OSSAccessKeyId と Signature フィールドを含むリクエスト URL を使用して、オブジェクトを直接アップロードできます。 セキュリティを確保するため、署名付き URL には有効期限があります。

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

Alibaba Cloud は、Security Token Service (STS) を使用して一時的なアクセス資格情報を付与し、ユーザーを認証します。 STS は、クラウドコンピューティングユーザーに一時的なアクセストークンを提供する Web サービスです。 STS を介して、サードパーティー製アプリケーションまたは RAM ユーザー (ユーザー ID を管理可能な) に、カスタム有効期間と権限を持つアクセス資格情報を付与することができます。