2012-05-23 3 views
9

У меня есть одна учетная запись S3/AWS. У меня есть несколько веб-сайтов, каждый из которых использует собственное ведро на S3 для чтения/записи. Я также размещаю много личных вещей (резервных копий и т. Д.) На других ведрах на S3, которые не являются общедоступными.Несколько access_keys для разных привилегий с одной учетной записью S3?

Я бы хотел, чтобы у вас не было этих веб-сайтов. Некоторые из них могут иметь доступ к своим исходным кодам и свойствам конфигурации и видеть ключи S3 - иметь доступ к моим личным данным!

Кажется, что я прочитал документы Amazon о том, что мне нужно разделять привилегии от Amazon USER на каждый ковш, а не ключ доступа на каждый ковш. Но это не сработает. Также кажется, что я получаю только 2 ключа доступа. Мне нужен один ключ доступа, который является главным ключом, и несколько других, у которых есть гораздо более ограниченные разрешения - только для определенных ковшей.

Есть ли способ сделать это или приблизиться к этому?

+2

Вы изучали Amazon IAM? Рядом с консолью AWS есть ссылка. Вы можете управлять разрешениями с невероятной точностью и генерировать столько ключей доступа, сколько хотите, даже временных. –

ответ

0

Да, для доступа к другой учетной записи с разными разрешениями с использованием той же учетной записи AWS вы можете использовать AWS IAM. Как разработчик Bucket Explorer, я предлагаю попробовать Bucket Explorer - командный выпуск, если вы ищете инструмент, который предоставляет вам интерфейс gui с различным логином и разными правами доступа. прочитать http://team20.bucketexplorer.com

8

Вы можете достичь своей цели путем содействия AWS Identity and Access Management (IAM):

AWS Управление идентификацией и доступом (IAM) позволяет надежно управления доступом к услугам и ресурсам АМС для пользователей. IAM позволяет создавать и управлять пользователями в AWS, а также позволяет вам предоставлять доступ к ресурсам AWS для пользователей, управляемых вне AWS, в вашем корпоративном каталоге. IAM обеспечивает большую безопасность, гибкость, и контроль при использовании AWS.[курсив мой]

Как было подчеркнуто, используя IAM настоятельно рекомендуется для всех вещей АМС в любом случае, то есть в идеале вы не должны использовать свои основные учетные данные учетной записи для чего, кроме настройки IAM первоначально (как mentioned by Judge Mental уже, вам может генерировать столько ключей доступа, сколько вы хотите вот так).

Вы можете использовать IAM только через AWS Management Console (т. Е. Для сторонних инструментов нет необходимости использовать все доступные функции в принципе).

Создание необходимых политик может быть немного сложным в разы, но AWS Policy Generator чрезвычайно полезно, чтобы вы начали и изучали доступные.

Для случая использования под рукой вы будете нуждаться в S3 Bucket политики см Using Bucket Policies, в частности, и Access Control для общего обзора различных имеющихся механизмов контроля доступа S3 (который может вмешиваться в тонкие способы, смотри, например, Using ACLs and Bucket Policies Together).

Удачи вам!

0

Просто создать пользовательскую политику группы IAM, которая ограничивает доступ к конкретному ведру

Такие, как ...

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": ["s3:ListAllMyBuckets"], 
     "Resource": "arn:aws:s3:::*" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": "s3:*", 
     "Resource": 
     [ 
     "arn:aws:s3:::my.bucket", 
     "arn:aws:s3:::my.bucket/*" 
     ] 
    } 
    ] 
} 

Первое действие s3:ListAllMyBuckets позволяет пользователям перечислить все ведра. Без этого их клиент S3 ничего не покажет в списке контейнеров при входе в систему.

Второе действие предоставляет полные привилегии S3 пользователю для ведра с именем 'my.bucket'. Это означает, что они могут свободно создавать/перечислять/удалять ресурсы ведра и пользовательские ACL внутри ведра.

Предоставление s3: * доступ довольно слабый. Если вы хотите, чтобы более жесткие элементы управления в ковше просто искали соответствующие действия, которые вы хотите предоставить, и добавьте их в список.

"Action": "s3:Lists3:GetObject, s3:PutObject, s3:DeleteObject" 

Я предлагаю вам создать эту политику в качестве группы (например, my.bucket_User), так что вы можете присвоить каждый пользователь, который необходим доступ к этому ведру без каких-либо ненужных copypasta.

Смежные вопросы