Рейтинг:0

Политика AWS для чтения/записи RDS

флаг us

В моем сценарии мне нужна политика, которая разрешает чтение и запись abc-database-backups/rds/postgresql-резервное копирование на С3? Мы хотим, чтобы на моих серверах был добавлен этот доступ.

Лучше создать роль и привязать ее к серверам или добавить ключ на сервер?

Я пробовал это:

политика создания aws iam \
     --policy-name rds-s3-integration-policy \
     --policy-document '{
            «Версия»: «2012-10-17»,
            "Заявление": [
                {
                    «Эффект»: «Разрешить»,
                    "Действие": "s3:ListAllMyBuckets",
                    "Ресурс": "*"
                },
                {
                    «Эффект»: «Разрешить»,
                    "Действие": [
                        "s3: СписокВедро",
                        "s3: GetBucketACL",
                        "s3: GetBucketLocation"
                    ],
                    "Ресурс": "arn:aws:s3:::bucket_name"
                },
                {
                    «Эффект»: «Разрешить»,
                    "Действие": [
                        "s3:ПолучитьОбъект",
                        "s3:ПоместитьОбъект",
                        "s3:ListMultipartUploadParts",
                        "s3:Прервать многочастную загрузку"
                    ],
                    "Ресурс": "arn:aws:s3:::bucket_name/key_prefix/*"
                }
            ]
        }' 

Буду очень признателен за любую помощь, так как мой опыт в этой области несколько ограничен.

Tim avatar
флаг gp
Tim
Возможно, вы могли бы уточнить свой вопрос.Вы хотите, чтобы PostgreSQL на какой платформе (RDS/EC2) имел доступ к определенному сегменту S3? Обычно это делается с помощью роли. Пожалуйста, включите определение роли. Роль и политику проще показать напрямую, чем создавать их с помощью команды CLI.
samtech avatar
флаг us
Да, я хочу, чтобы PostgreSQL на RDS имел доступ к определенной корзине S3. что вы можете посоветовать здесь, лучше всего создать роль и прикрепить ее к серверам или добавить ключ к серверу?
Рейтинг:0
флаг gp
Tim

Использовать роль, связанная со службой для RDS, чтобы обеспечить доступ к S3 и любым другим требуемым именованным ресурсам. Убедитесь, что у экземпляра RDS есть эта роль. Вы также должны прочитать этот документ об импорте данных S3 в RDS PostgreSQL с помощью расширения.

Я адаптировал некоторую инфраструктуру CloudFormation в качестве кода, который должен настроить роль. Вы захотите изменить разрешения и имя корзины в соответствии с вашими требованиями. Он должен работать как есть, но мне пришлось помассировать мой существующий код, поэтому, если он не работает на 100%, пожалуйста, отредактируйте сообщение или комментарий, чтобы я мог его отредактировать.

AWSTemplateFormatVersion: "2010-09-09"
Описание: Роль для RDS

Ресурсы:    
    RdsS3IntegrationRole:
        Тип: AWS::IAM::Роль
        Характеристики:
            Имя Роли: RdsS3IntegrationRole
            Ассумролеполицидокумент:
                Версия: 2012-10-17
                Заявление:
                    -
                        Эффект: Разрешить
                        Главный:
                            Оказание услуг:
                                - rds.amazonaws.com
                        Действие:
                            - sts:AssumeRole
                
    Политика интеграции RDSS3:
        Тип: AWS::IAM::Политика
        Характеристики:
            Роли:
                - !Ref 'RdsS3IntegrationRole'
            Имяполитики: RDSS3IntegrationPolicy
            Политический документ:
                Заявление:
                    - Эффект: Разрешить
                        Действие:
                            - s3:ПолучитьОбъект
                            - s3: СписокВедро 
                            - s3:ПоместитьОбъект 
                        Ресурс:
                            - !Sub 'arn:aws:s3:::имя_бакета/*'
                            - !Sub 'arn:aws:s3:::имя_бакета'
                    - Эффект: Разрешить
                        Действие:
                            - кмс: расшифровать
                            - кмс: зашифровать
                            - кмс: Генератдатакей
                            - kms:ReEncryptTo
                            - кмс:Ключ описания
                            - кмс: перешифровать от
                        Ресурс:
                            - !Sub 'arn:aws:kms:ap-southeast-2:${AWS::AccountId}:key/*'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.