2017-03-17 19 views
0

現在、AWS S3で静的なウェブサイトをホストしています。 Webサイトには、AWS Cognito認証ユーザーにのみアクセスさせたい部分があります。 S3バケットのこれらの部分は、特定の役割に制限されています。私が理解しているように、Cognitoユーザーが一時的なAWS資格情報を受け取ると、S3からsdkを使用してS3から制限されたオブジェクト(index.html)を読み込んでWebページに表示する必要があります。これは正しい方法ですか?S3からオブジェクトを取得したら、それをウェブページに読み込む方法を教えてください。ありがとうございました!AWS S3からプライベートHTMLファイルを表示

+0

「ウェブサイトの一部」とはどういう意味ですか?画像のような要素を意味するのですか、またはHTMLページを意味しますか?たとえば、「制限されたオブジェクト(index.html)をS3からロードしてWebページに表示する」とはどういう意味ですか?アプリケーションとセキュリティロジックを処理するために、Amazon EC2インスタンスを使用するか、AWSラムダ関数を使用する予定ですか? –

+0

私の異なるindex.htmlファイルはすべてAWS S3でホストされています。ユーザーが自分のウェブサイトの特定のリンクをクリックすると、そのページを別のindex.htmlに変更したいと考えています。ただし、このリンクをクリックすると、その資格情報が確認され、そのWebページにアクセスするための適切な権限があることを確認する必要があります。権限が確認されたら、新しいindex.htmlを現在のページにロードします。私はそれをクリアすることを願っています! –

答えて

0

セキュリティを制御し、データを格納/取得するために、バックエンドで実行されるアプリケーションロジックが必要です。このうちの多くはブラウザから行うことができますが、ハッキングには開放されています。したがって、バックエンドにアクセス制御ロジックが必要です。

オプション1:APIゲートウェイとラムダ関数

あなたは、静的なWebページを持つことができますが、APIゲートウェイを介してラムダ関数へのAPI呼び出しを行うアマゾンS3、外に役立ちました。これはサーバーレスモデルと呼ばれます。ここで

Serverless Code websiteからのサンプル図です:

Serverless architecture

基本的には、ラムダ関数は、要求を受け取る、ユーザが許可されているかどうか、彼らが(例えば事前に署名したURLをバック受け取ることになるかを決定します別のページ)、それをウェブページに送り返す。この設計の利点は、サーバーを必要としないことです。

オプション2:アマゾンEC2サーバ

代わりに、弾性Load Balancerによってガラス張りのAmazon EC2インスタンスを実行することができます。これは従来のアプリケーション設計であり、さまざまなフレームワークを使用できます。ただし、誰もあなたのアプリケーションを使用していない場合でも、サーバーの継続的なコストがあります。

関連する問題