rotate_keys.bash (15 lines of code) (raw):

#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Replace old_access_key with the current access key that will expire. # Replace old_secret_key with the current secret key that will expire. # Then run the script. # Delete tempfile_please_delete.txt after you have the new credentials. old_access_key='xxx' old_secret_key='xxx' region=us-west-2 # DO NOT MODIFY BELOW THIS LINE export AWS_ACCESS_KEY_ID="$old_access_key" export AWS_SECRET_ACCESS_KEY="$old_secret_key" export AWS_REGION=$region read -r new_access_key new_secret_key <<<$(/usr/local/bin/aws iam create-access-key --region $AWS_REGION --output text | awk '{print $2 " " $4}'); sleep 5 AWS_ACCESS_KEY_ID="$new_access_key" AWS_SECRET_ACCESS_KEY="$new_secret_key" export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY sleep 10 /usr/local/bin/aws iam delete-access-key --region $AWS_REGION --access-key-id=$old_access_key echo $new_access_key > tempfile_please_delete.txt echo $new_secret_key >> tempfile_please_delete.txt