このトピックでは、サーバーを介してオブジェクトを転送せず、直接 OSS にオブジェクトをアップロードすることを第三者ユーザーに許可する方法について説明します。
シナリオ
標準のクライアント/サーバーシステムアーキテクチャでは、サーバー側でクライアントからのリクエストを受信し、処理します。 OSS がバックエンドストレージサービスとして使用されている場合、クライアントはアップロードするオブジェクトをアプリケーションサーバーに送信し、アプリケーションサーバーはそのオブジェクトを OSS に転送します。 このプロセスでは、データを 2 回送信する必要があります。1 回はクライアントからサーバーへの送信、もう 1 回はサーバーから OSS への送信です。 アクセスリクエストが急増している場合、サーバーは十分な帯域幅リソースを提供して、複数のクライアントがオブジェクトを同時にアップロードできるようにする必要があります。 これは、アーキテクチャのスケーラビリティに対する課題です。
この問題を解決するため、OSS には、許可された第三者によるアップロード機能が備わっています。 この機能を使用すると、クライアントはオブジェクトをサーバーに送信せずに、OSS に直接アップロードできます。 これにより、アプリケーションサーバーのコストが削減され、大量のデータを処理する OSS の能力が最大化されます。 この場合、帯域幅と同時実行の制限を心配することなく、ビジネスに集中できます。
アップロード権限を付与する方法には、署名付き URL と次の一時的なアクセス資格情報の 2 つがあります。
署名付き URL
この方法では、OSSAccessKeyId と Signature フィールドを含むリクエスト URL を使用して、オブジェクトを直接アップロードできます。 セキュリティを確保するため、署名付き URL には有効期限があります。
- 操作方法
操作方法 説明 Java SDK さまざまな言語の SDK デモ Python SDK PHP SDK Go SDK C SDK .NET SDK - 詳細は、「URL への署名の追加」をご参照ください。
一時的なアクセス資格情報
- 操作方法
操作方法 説明 Java SDK さまざまな言語の SDK デモ Python SDK PHP SDK Go SDK C SDK .NET SDK Android SDK iOS SDK - 操作例の詳細は、「STS が提供する一時的なアクセストークンによる OSS へのアクセス」をご参照ください。