В S3 есть управление версиями, но оно не является полноценным инструментом управления исходным кодом, поэтому изначально не поддерживает ветвления или слияния. Обычно для файловой системы базы данных я бы рекомендовал использовать технологию Virtual Path Provider, где вы читаете документы из базы данных, например, HTML файлы, используемые в CMS.
Github - это веб-интерфейс для GIT. Все это выполняется с использованием множества GIT репозиториев SCM.
Следовательно, вам нужно AWS CodeCommit , полностью управляемая служба управления исходным кодом, на которой размещены защищенные Git репозитории на основе.
Редактировать:
Мне нужно, чтобы все мои пользователи могли добавлять sh в свои собственные ветви.
Если вам не нужно объединение, вы можете просто использовать корзину S3, создавая папки (программно) для каждого пользователя. С помощью Политики вы можете ограничить каждого пользователя своим собственным сегментом:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": [
{
"AWS": [
"arn:aws:iam::222222222222:role/ROLENAME",
"arn:aws:iam::222222222222:user/**${aws:username}**"
]
}
],
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::MyExampleBucket"
}
Ссылка: https://aws.amazon.com/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/