#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 секунд) с момента создания.
Я подозреваю, что эти токены просто позволяют пользователю войти в систему. Я сомневаюсь, что они повлияют на продолжительность сеанса подключения к базе данных (но не стесняйтесь поправлять меня, если вам лучше известно).