DevOps
  • Introduction
  • Setting
    • Terminal
      • Tmux
    • WSL+Ubuntu
    • [NeoVIM]
      • install & 활용방법
      • error 처리
      • LazyVIM
        • install & 활용방법
    • ssh
    • mysql
    • package관리
  • Fundamental(basic)
    • Network
      • https
  • [GitOps]
    • [SCM]
      • [Github]
        • center-managed
      • bitbucket
      • AWS-codeCommit
  • roadmap
    • devops
    • kubernetes
    • AWS
    • MLOPS
  • Cloud
    • [AWS]
      • aws sso script
      • tagging 자동화
      • 동일cidr에서 VPC 연결
      • 무중단서비스를 위한 고려사항
    • [GCP]
      • [GCP] GCP의 VPC
      • [GCP] GCP의 ALB
      • [GCP] OIDC와 OAUTH를 활용한 github action
      • [GCP] Composer 설명
      • [GCP] gmail-api
      • [GCP] DataLake
      • [GCP] Cloud 관리형 계정&role
      • [[GCP] private환경
        • DNS 설정으로 google api 및 colab-notebook 사용 하기
        • intelligence 설정으로 google api 및 colab-notebook 사용 하기
  • [kubernetes]
    • [cloud 기반]
      • csr
  • InfraAsCode
    • terraform
  • 코드로 그리는 다이어그램
    • CodeAsDiagram
      • example
    • Mermaid
    • PDFtoImage
  • AutoMation
  • [ETC]
    • Magic_Trackpad Window설치
Powered by GitBook
On this page
  1. Cloud
  2. [AWS]

aws sso script

.aws/config 에 추가

[profile dev]
sso_session = sso
sso_account_id = 911781391110
sso_role_name = Develop_DevOps
region = ap-northeast-2
output = json
sso_start_url = https://crypted.awsapps.com/start#/
sso_region = ap-southeast-1


[sso-session sso]
sso_start_url = https://crypted.awsapps.com/start#/
sso_region = ap-southeast-1
sso_registration_scopes = sso:account:access

~.zshrc / ~.bashrc 에 아래 내용을 추가 한뒤 적용한다.

alias sso='aws sso login'

env_aws()
{
export AWS_PROFILE=$1
aws sts get-caller-identity |jq
}

alias pf=env_aws

aws_assume()
{
if [ $# -ne 1  ]; then
    echo "input arguments ex) assume dev"
    exit 0
fi

env=$1

export AWS_PROFILE=$env;
account=$(aws sts get-caller-identity | jq -r '.Account' )   ;
js=$(aws sts assume-role --role-arn arn:aws:iam::${account}:role/devops-role --role-session-name devops-session  |jq -r  '.')
export AWS_ACCESS_KEY_ID=$(echo $js | jq -r .Credentials.AccessKeyId)
export AWS_SECRET_ACCESS_KEY=$(echo $js | jq -r .Credentials.SecretAccessKey)
export AWS_SESSION_TOKEN=$(echo $js | jq -r .Credentials.SessionToken)
aws sts get-caller-identity |jq
}

# alias assume='source ~/aws_sso_sts_assume.sh'
alias ass=aws_assume

aws_assumed()
{
if [ $# -ne 1  ]; then
    echo "input arguments ex) assume dev"
    exit 0
fi

env=$1

export AWS_PROFILE=$env;
account=$(aws sts get-caller-identity | jq -r '.Account' )   ;
js=$(aws sts assume-role --role-arn arn:aws:iam::${account}:role/develop-role --role-session-name develop-session  |jq -r  '.')
export AWS_ACCESS_KEY_ID=$(echo $js | jq -r .Credentials.AccessKeyId)
export AWS_SECRET_ACCESS_KEY=$(echo $js | jq -r .Credentials.SecretAccessKey)
export AWS_SESSION_TOKEN=$(echo $js | jq -r .Credentials.SessionToken)
aws sts get-caller-identity |jq
}

alias assd=aws_assumed
alias ass=aws_assume
alias unass='unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN'

alias sts='aws sts get-caller-identity  |jq'
Previous[AWS]Nexttagging 자동화

Last updated 5 months ago