envchain 보안 관리 AWS 액세스 토큰 등

2490 단어 AWSenvchain
envchain는 AWS의 액세스 키와 같은 기밀 정보를 포함하는 환경 변수를 맥OS의 Keychain에 저장하고 명령을 실행할 때 디코딩하는 CLI 도구다.기밀의 환경 변수를bashrc에 쓰는 것보다 안전하게 관리할 수 있습니다.

설법

❯ envchain
envchain version 1.0.1

Usage:
  Add variables
    envchain (--set|-s) [--[no-]require-passphrase|-p|-P] [--noecho|-n] NAMESPACE ENV [ENV ..]
  Execute with variables
    envchain NAMESPACE CMD [ARG ...]

Options:
  --set (-s):
    Add keychain item of environment variable +ENV+ for namespace +NAMESPACE+.

  --noecho (-n):
    Enable noecho mode when prompting values. Requires stdin to be a terminal.

  --require-passphrase (-p), --no-require-passphrase (-P):
    Replace the item's ACL list to require passphrase (or not).
    Leave as is when both options are omitted.

Keychain에 AWS 액세스 키 등을 등록합니다.


명령을 envchain --set ネームスペース 環境変数名 형식으로 호출할 때 Keychain에 환경 변수를 등록할 수 있습니다.이름 공간은 개인의 취향에 따라 결정된다.비슷한 폴더 이름입니다.여러 환경 변수를 지정할 수도 있습니다.예를 들어, 등록AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY는 다음과 같습니다.
❯ envchain --set aws AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
aws.AWS_ACCESS_KEY_ID: (アクセスキーを入力)
aws.AWS_SECRET_ACCESS_KEY: (シークレットアクセスキーを入力)
명령을 실행하면 변수의 값을 묻기 때문에 값을 입력합니다.

등록된 환경 변수 확인


등록된 환경 변수를 확인하려면 다음 명령을 실행합니다envchain ネームスペース env.
❯ envchain aws env | grep AWS
AWS_ACCESS_KEY_ID=*******************
AWS_SECRET_ACCESS_KEY=*********************************
이 상태에서 Keychain Access 검색"envchain"을 열면 두 변수가 등록되어 있는지 확인할 수 있습니다.

환경 변수를 복호화한 상태에서 명령 실행

envchain envchain ネームスペース 実行したいコマンド의 순서로 파라미터를 전달할 때 환경 변수를 디코딩한 상태에서 명령을 실행한다.예를 들어, aws iam get-user를 실행할 때는 다음과 같습니다.
❯ envchain aws aws iam get-user
{
    "User": {
        "Path": "/",
        "UserName": "suin",
        "UserId": "*************",
        "Arn": "arn:aws:iam::************:user/suin",
        "CreateDate": "2014-01-29T08:12:23Z",
        "PasswordLastUsed": "2017-01-16T00:41:34Z"
    }
}
이 예aws aws는 오자가 아니다.왼쪽은 이름 공간, 오른쪽은awscli입니다.

좋은 웹페이지 즐겨찾기