Je souhaite que les étudiants publient leurs sites Web statiques sur Amazon S3. Mais je ne peux pas les faire tous créer des comptes AWS car cela nécessite leurs cartes de crédit, même pour le niveau d'utilisation gratuite. Cela ne me dérange pas de leur laisser utiliser un compte que j'ai configuré (je suis heureux de payer les frais d'utilisation d'Amazon également), mais je dois donner aux étudiants leur propre répertoire et leurs informations d'identification pour télécharger des fichiers. Est-ce possible avec Amazon S3?
Le service Amazon IAM ( http://aws.Amazon.com/iam/ ) vous permet de créer des comptes pour les étudiants avec un mot de passe/des informations d'identification distincts et un accès uniquement aux ressources AWS spécifiées.
Vous pouvez créer un compte pour tous les étudiants ou créer un groupe appelé "Etudiants" et affecter tous vos étudiants à ce groupe.
Après cela, vous devez spécifier une stratégie d'accès leur permettant de télécharger des fichiers sur le compartiment spécifié sur S3.
Exemple d'une telle politique peut ressembler à ceci:
{
"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/*"
]
}]}
Cette politique permettra aux utilisateurs de répertorier tous les compartiments et de télécharger/supprimer des fichiers uniquement dans un compartiment appelé "nom de compartiment".
vous devez utiliser le service Amazon IAM http://aws.Amazon.com/iam il vous permettra de créer des sous-comptes pour vos étudiants et ils pourront publier leur site Web de la même manière que vous publiez avec votre compte principal
Si vous utilisez Linux, j'ai écrit un script qui fait exactement cela. Il crée un répertoire Web (chrooté) pour un élève et génère son mot de passe aléatoire. Il crée également un compte MySQL si celui-ci est installé.
Le nom d'utilisateur devient également leur sous-domaine. (sftp: // johnny: randompass @ server -> johnny.webclass.com ->/var/www/usr_data/johnny/www/-> johnny @ localhost pour MySQL) utilisant tous le même mot de passe.
Si vous utilisez Linux, je serais ravi de vous envoyer une copie du script. Ou, si d'autres personnes le demandent, je posterai la source. (Il est écrit en Perl et nécessite Apache).