Created
April 22, 2020 10:17
-
-
Save kenoir/bd924d441aafe2a0999e9b7b3983a859 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# ~/.azuresso | |
# | |
# { | |
# "AZURE_USER_ID": "user@domain" | |
# "AZURE_TENANT_ID" : "11111111-1111-1111-11111111111", | |
# "AZURE_APP_ID_URI" : "11111111-1111-1111-11111111111" | |
# } | |
# | |
# Expects an application password in OSX Keychain with "Account" matching "AZURE_USER_ID" | |
# | |
set_credentials() { | |
CONFIG=$(\ | |
cat ~/.azuresso | \ | |
docker run -i stedolan/jq ".AZURE_USER_ID , .AZURE_TENANT_ID , .AZURE_APP_ID_URI" -r \ | |
) | |
USERNAME=$(echo $CONFIG | cut -d$' ' -f1) | |
PASSWORD=$(security find-generic-password -wa $USERNAME) | |
echo "Signing in as $USERNAME" | |
AZURE_TENANT_ID=$(echo $CONFIG | cut -d$' ' -f2) | |
AZURE_APP_ID_URI=$(echo $CONFIG | cut -d$' ' -f3) | |
} | |
generate_aws_login() { | |
# Generate login credentials | |
docker run --volume $HOME/.aws:/root/.aws \ | |
--env AZURE_TENANT_ID=$AZURE_TENANT_ID \ | |
--env AZURE_APP_ID_URI=$AZURE_APP_ID_URI \ | |
--env AZURE_DEFAULT_USERNAME=$USERNAME \ | |
--env AZURE_DEFAULT_PASSWORD=$PASSWORD \ | |
--env AZURE_DEFAULT_ROLE_ARN=default \ | |
--env AZURE_DEFAULT_DURATION_HOURS=1 \ | |
-it wellcome/aws-azure-login --no-prompt --profile default | |
} | |
set_credentials | |
echo "Starting credentials auto-refresh (refreshes every 5 mins)" | |
while true; do | |
generate_aws_login | |
sleep 3000 | |
echo "" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment