Most AWS API calls require that certain data in them be signed before sending them to the AWS servers. This is done for a few different reasons, such as allowing the server to verify the identity of the API caller, to protect data from modification while it is in transit to the AWS servers, and to prevent replay attacks, where an attacker intercepts your request somehow and runs it again themselves. By default, a signed request is valid for five minutes, so technically, replay attacks are possible if the request is intercepted and re-sent prior to that five minute window closing. The AWS CLI and AWS SDKs (such as the boto3 Python library at https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) automatically handle all request signing for you, so you don't need to think about it.
There are a couple of cases where you may need...