Ротация учетных данных ролей AWS RDS IAM

#amazon-web-services #boto3 #amazon-rds #amazon-iam #credentials

Вопрос:

В документации AWS говорится, что учетные данные IAM меняются каждые 15 минут.

Предположим , что в какой-то момент T = 0 mins я создаю токен аутентификации t1 , а в T = 14 mins какой-то момент я создаю другой токен t2 .

Когда время T = 16 mins , токен t1, очевидно, будет недействительным, будет ли токен t2 также недействительным? Или токен t2 будет действителен до 29-й минуты?

Потому что в последнем случае я смогу установить MaxConnLifetime , скажем, 14 минут, не беспокоясь о закрытии соединения.

Из boto исходного кода похоже, что токен представляет собой HTTP-запрос с предварительной подписью. Любая ясность в этом вопросе была бы замечательна. Также, если это упоминается в документах AWS, пожалуйста, свяжите меня с ним.

Комментарии:

1. Что вы подразумеваете под «созданием маркера аутентификации»? Ты звонишь AssumeRole ? Можете ли вы указать нам на конкретную документацию, которую вы упомянули?

2. An authentication token is a unique string of characters that Amazon RDS generates on request. Authentication tokens are generated using AWS Signature Version 4. Each token has a lifetime of 15 minutes. You don't need to store user credentials in the database, because authentication is managed externally using IAM. You can also still use standard database authentication. @JohnRotenstein токен аутентификации, упомянутый здесь. docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…

Ответ №1:

URL-адрес будет выглядеть примерно так:

rdspostgres.123456789012.us-west-2.rds.amazonaws.com:5432/?Action=connectamp;DBUser=jane_doeamp;X-Amz-Algorithm=AWS4-HMAC-SHA256amp;X-Amz-Credential=AKIA22BX4KO8BHD63AUG/20210619/us-west-2/rds-db/aws4_requestamp;X-Amz-Date=20210619T081640Zamp;X-Amz-Expires=900amp;X-Amz-SignedHeaders=hostamp;X-Amz-Signature=93281b4fe39f7ea85c41e56464a0c1e26ad59fe5edbafb41a2e7f5fc18f0078f

Он включает в себя отметку времени и срок действия (900 секунд). Каждый раз, когда вызывается эта команда, она генерирует другой токен с текущей меткой времени. Несколько токенов могут быть действительны одновременно, если они находятся в течение 15 минут (900 секунд) с момента создания.

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