There are several ways to supply the AWS credentials. You can specify credential per-command, per-session, or for all the sessions. You should avoid exposing credentials in the command line in the form of literals, or supplying them each time you run the AWS cmdlet. For any cmdlet, there are some common parameters that you can supply each time you run the AWS-specific cmdlet. Those are mostly Access Key, Secret Access Key, Region, ProfileName, ProfileLocation , and so on. Exposing your AWS credentials in the cmdlet is not considered as a best practice. Instead, create a profile for each set of credentials that you want to use, and store the profile in the credential store. Specify the correct profile by name in your command, and let PowerShell retrieve the associated credentials from the store. You can create the different profiles using Set-AWSCredentials:
If you are interested to know the other options, then refer to the online documentation. I would restrict credential management using profiles to avoid confusion in this book. If you created the profile using the Set-AWSCredentials cmdlet and want to make it a default profile for the session, then you can simply use the ProfileName parameter with the Set-AWSCredentials cmdlet:
You can also specify ProfileName with the other cmdlet. For example, if you do not have any default profile set, then you can supply a profile to the AWS-related cmdlet: