web-dev-qa-db-ja.com

ウェブサイトをAmazon S3に公開する学生

学生に静的なウェブサイトをAmazon S3に公開してほしい。ただし、無料の利用枠でもクレジットカードが必要なため、AWSアカウントをすべて作成することはできません。自分が設定したアカウントを使用させても構いませんが(使用に対してAmazonの料金を支払うこともできます)、ファイルをアップロードするために学生に自分のディレクトリと資格情報を提供する必要があります。これはAmazon S3で可能ですか?

3
at01

Amazon IAM( http://aws.Amazon.com/iam/ )サービスを使用すると、個別のパスワード/資格情報を持ち、指定されたAWSリソースのみにアクセスできる学生のアカウントを作成できます。

そこにあるすべての生徒に対して1つのアカウントを作成するか、「生徒」というグループを作成して、すべての生徒をそのグループに割り当てることができます。

その後、S3の指定されたバケットにファイルをアップロードすることを許可するアクセスポリシーを指定する必要があります。

そのようなポリシーの例は次のようになります。

{
 "Statement": [
{
  "Effect": "Allow",
  "Action": "s3:ListAllMyBuckets",
  "Resource": "arn:aws:s3:::*"
},
{
  "Effect": "Allow",
  "Action": "s3:*",
  "Resource": [
    "arn:aws:s3:::bucket-name",
    "arn:aws:s3:::bucket-name/*"
  ]
}]}

このポリシーにより、ユーザーはすべてのバケットをリストし、「bucket-name」と呼ばれるバケット内のファイルonlyをアップロード/削除できます。

5
mateuszzawisza

amazon IAMサービス http://aws.Amazon.com/iam を使用する必要があります。これにより、学生用のサブアカウントを作成できるようになります。メインアカウントで公開するのと同じ方法でウェブサイトを公開します

1
andy

Linuxを実行している場合、これを正確に行うスクリプトを作成しました。生徒用のWebディレクトリ(chrooted)を作成し、ランダムなパスワードを出力します。また、MySQLアカウントを作成します(インストールされている場合)。

ユーザー名もサブドメインになります。 (sftp:// johnny:randompass @ server-> johnny.webclass.com->/var/www/usr_data/johnny/www /-> johnny @ localhost for MySQL)すべて同じパスワードを使用しています。

Linuxを使用している場合は、スクリプトのコピーをお送りします。または、他の人がリクエストした場合、ソースを投稿します。 (Perlで書かれており、Apacheが必要です)。

0
ionFish