aws secretmanager cli

이창주·2024년 3월 30일
0

AWS에서 secret manager에 저장된 key/value를 획득하는 과정을 설명한다.

먼저 aws configure 되어 있지 않으면 먼저 설정한다.

$ aws configure

access key가 필요한데, 없으면 IAM > 새로운 Access key를 생성해서 사용한다.

aws secretmanager의 모든 명령을 확인해본다

$ aws secretsmanger help

get-secret-value 를 이용해서 secret value를 얻어 올 수 있다.

SYNOPSIS

            get-secret-value
          --secret-id <value>
          [--version-id <value>]
          [--version-stage <value>]
          [--cli-input-json | --cli-input-yaml]
          [--generate-cli-skeleton <value>]
          [--debug]
          [--endpoint-url <value>]
          [--no-verify-ssl]
          [--no-paginate]
          [--output <value>]
          [--query <value>]
          [--profile <value>]
          [--region <value>]
          [--version <value>]
          [--color <value>]
          [--no-sign-request]
          [--ca-bundle <value>]
          [--cli-read-timeout <value>]
          [--cli-connect-timeout <value>]
          [--cli-binary-format <value>]
          [--no-cli-pager]
          [--cli-auto-prompt]
          [--no-cli-auto-prompt]

secret value 목록 요청

$ aws secretsmanager get-secret-value --secret-id <ARN>

다음과 같은 에러가 발생하면 IAM에서 사용자에 SecretsManagerReadWrite permission을 추가한다.
n error occurred (AccessDeniedException) when calling the GetSecretValue operation: User:

대충 이런 응답을 확인 할 수 있다.

{
    "ARN": "arn:aws:secretsmanager:ap-northeast-2:xxx",
    "Name": "sxxxxx",
    "VersionId": "xxxx",
    "SecretString": "{\"DBSOURCE\":\"admin:vxxx\",\"ACCESS_TOKEN_DURATION\":\"5m\"}",
    "VersionStages": [
        "AWSCURRENT"
    ],
    "CreatedDate": "2024-03-28T01:04:14.725000+09:00"
}

"SecretString" 만 필요하므로 filter 시킨다.

$ aws secretsmanager get-secret-value --secret-id xxxx --query SecretString --output text
{"DBSOURCE":"admin:vXXX", "ACCESS_TOKEN_DURATION":"5m"}
profile
coder,maker,custom

0개의 댓글