다음 코드 예시는 Secrets Manager와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 batch-get-secret-value
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 이름별로 나열된 보안 암호 그룹의 보안 암호 값 검색
다음
batch-get-secret-value
예시에서는 현재 보안 암호 값을 가져옵니다.aws secretsmanager batch-get-secret-value \ --secret-id-list
MySecret1
MySecret2
MySecret3
출력:
{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }
자세한 내용은 AWS Secrets Manager 사용 설명서의 Retrieve a group of secrets in a batch를 참조하세요.
예시 2: 필터로 선택한 보안 암호 그룹에 대한 보안 암호 값 검색
다음
batch-get-secret-value
예시에서는 계정의 이름에 있는 보안 암호 값을 가져옵니다. 이름별 필터링은 대소문자를 구분합니다.aws secretsmanager batch-get-secret-value \ --filters Key="name",Values="MySecret"
출력:
{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }
자세한 내용은 AWS Secrets Manager 사용 설명서의 Retrieve a group of secrets in a batch를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 BatchGetSecretValue
섹션을 참조하세요.
-
다음 코드 예시에서는 cancel-rotate-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호에 대한 자동 교체 끄기
다음
cancel-rotate-secret
예시에서는 보안 암호에 대한 자동 교체를 끕니다. 교체를 재개하려면rotate-secret
을 호출합니다.aws secretsmanager cancel-rotate-secret \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Rotate a secret를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CancelRotateSecret
섹션을 참조하세요.
-
다음 코드 예시에서는 create-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: JSON 파일의 보안 인증 정보로 보안 암호 생성
다음
create-secret
예시에서는 파일의 자격 증명을 사용하여 시크릿을 생성합니다. 자세한 내용은 AWS CLI 사용자 안내서의 파일에서 AWS CLI 파라미터 로드를 참조하세요.aws secretsmanager create-secret \ --name
MyTestSecret
\ --secret-stringfile://mycreds.json
mycreds.json
의 콘텐츠:{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 생성을 참조하세요.
예시 2: 보안 암호 생성
다음
create-secret
예시에서는 2개의 키와 값 페어로 시크릿을 생성합니다. 명령 쉘에 명령을 입력하면 명령 기록이 액세스되거나 유틸리티가 명령 파라미터에 액세스할 위험이 있습니다. 명령에 보안 암호 값이 포함된 경우 이 문제가 발생할 수 있습니다. 자세한 내용은 Secrets Manager 사용 설명서의 Mitigate the risks of using command-line tools to store Secrets를 참조하세요.aws secretsmanager create-secret \ --name
MyTestSecret
\ --description"My test secret created with the CLI."
\ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateSecret
을 참조하세요.
-
다음 코드 예시에서는 delete-resource-policy
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호에 연결된 리소스 기반 정책 삭제
다음
delete-resource-policy
예시에서는 시크릿에 연결된 리소스 기반 정책을 삭제합니다.aws secretsmanager delete-resource-policy \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 정보는 Secrets Manager 사용 설명서의 Authentication and access control를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteResourcePolicy
섹션을 참조하세요.
-
다음 코드 예시에서는 delete-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 시크릿 삭제
다음
delete-secret
예시에서는 시크릿을 삭제합니다.DeletionDate
응답 필드의 날짜 및 시간 전까지restore-secret
으로 시크릿을 복구할 수 있습니다. 다른 리전에 복제된 시크릿을 삭제하려면 먼저remove-regions-from-replication
으로 해당 복제본을 삭제한 다음delete-secret
을 직접적으로 호출합니다.aws secretsmanager delete-secret \ --secret-id
MyTestSecret
\ --recovery-window-in-days7
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1524085349.095 }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 삭제를 참조하세요.
예시 2: 시크릿 즉시 삭제
다음
delete-secret
예시에서는 복구 기간 없이 즉시 시크릿을 삭제합니다. 이러한 시크릿은 복구할 수 없습니다.aws secretsmanager delete-secret \ --secret-id
MyTestSecret
\ --force-delete-without-recovery출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1508750180.309 }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteSecret
을 참조하세요.
-
다음 코드 예시에서는 describe-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
시크릿의 세부 정보 가져오기
다음
describe-secret
예시에서는 시크릿의 세부 정보를 보여줍니다.aws secretsmanager describe-secret \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-Ca8JGt", "Name": "MyTestSecret", "Description": "My test secret", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "RotationEnabled": true, "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", "RotationRules": { "AutomaticallyAfterDays": 2, "Duration": "2h", "ScheduleExpression": "cron(0 16 1,15 * ? *)" }, "LastRotatedDate": 1525747253.72, "LastChangedDate": 1523477145.729, "LastAccessedDate": 1524572133.25, "Tags": [ { "Key": "SecondTag", "Value": "AnotherValue" }, { "Key": "FirstTag", "Value": "SomeValue" } ], "VersionIdsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333": [ "AWSPENDING" ] }, "CreatedDate": 1521534252.66, "PrimaryRegion": "us-west-2", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InSync", "StatusMessage": "Replication succeeded" } ] }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeSecret
을 참조하세요.
-
다음 코드 예시에서는 get-random-password
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
임의 암호 생성
다음
get-random-password
예시에서는 대문자, 소문자, 숫자 및 구두점을 하나 이상 포함하는 20자 길이의 무작위 암호를 생성합니다.aws secretsmanager get-random-password \ --require-each-included-type \ --password-length
20
출력:
{ "RandomPassword": "EXAMPLE-PASSWORD" }
자세한 내용은 Secrets Manager 사용 설명서의 Create and manage Secrets Manager를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetRandomPassword
섹션을 참조하세요.
-
다음 코드 예시에서는 get-resource-policy
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호에 연결된 리소스 기반 정책 검색
다음
get-resource-policy
예시에서는 시크릿에 연결된 리소스 기반 정책을 가져옵니다.aws secretsmanager get-resource-policy \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n \"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\": \"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" }
자세한 정보는 Secrets Manager 사용 설명서의 Authentication and access control를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetResourcePolicy
섹션을 참조하세요.
-
다음 코드 예시에서는 get-secret-value
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 시크릿의 암호화된 시크릿 값 가져오기
다음
get-secret-value
예시에서는 현재 시크릿 값을 가져옵니다.aws secretsmanager get-secret-value \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "SecretString": "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": 1523477145.713 }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 가져오기를 참조하세요.
예시 2: 이전 시크릿 값 가져오기
다음
get-secret-value
예시에서는 이전 시크릿 값을 가져옵니다.aws secretsmanager get-secret-value \ --secret-id
MyTestSecret
--version-stageAWSPREVIOUS
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "SecretString": "{\"user\":\"diegor\",\"password\":\"PREVIOUS-EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSPREVIOUS" ], "CreatedDate": 1523477145.713 }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 가져오기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetSecretValue
를 참조하세요.
-
다음 코드 예시에서는 list-secret-version-ids
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호와 연결된 모든 보안 암호 버전을 나열하는 방법
다음
list-secret-version-ids
예시에서는 보안 암호의 모든 버전 목록을 가져옵니다.aws secretsmanager list-secret-version-ids \ --secret-id
MyTestSecret
출력:
{ "Versions": [ { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSPREVIOUS" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523477145.713 }, { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "VersionStages": [ "AWSCURRENT" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523486221.391 }, { "CreatedDate": 1.51197446236E9, "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333;" } ], "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Version을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListSecretVersionIds
섹션을 참조하세요.
-
다음 코드 예시에서는 list-secrets
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 계정의 시크릿 나열
다음
list-secrets
예시에서는 계정에 있는 시크릿 목록을 가져옵니다.aws secretsmanager list-secrets
출력:
{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherSecret-d4e5f6", "Name": "AnotherSecret", "LastChangedDate": 1523482025.685, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ] } } ] }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 찾기를 참조하세요.
예시 2: 계정의 시크릿 목록 필터링
다음
list-secrets
예시에서는 계정에서 이름에Test
가 있는 시크릿 목록을 가져옵니다. 이름별 필터링은 대소문자를 구분합니다.aws secretsmanager list-secrets \ --filter Key="name",Values="Test"
출력:
{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } } ] }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 찾기를 참조하세요.
예시 3: 다른 서비스에서 관리하는 계정의 시크릿 나열
다음
list-secrets
예시에서는 Amazon RDS에서 관리하는 계정의 시크릿을 반환합니다.aws secretsmanager list-secrets \ --filter Key="owning-service",Values="rds"
출력:
{ "SecretList": [ { "Name": "rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Tags": [ { "Value": "arn:aws:rds:us-west-2:123456789012:cluster:database-1", "Key": "aws:rds:primaryDBClusterArn" }, { "Value": "rds", "Key": "aws:secretsmanager:owningService" } ], "RotationRules": { "AutomaticallyAfterDays": 1 }, "LastChangedDate": 1673477781.275, "LastRotatedDate": 1673477781.26, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb": [ "AWSCURRENT", "AWSPENDING" ] }, "OwningService": "rds", "RotationEnabled": true, "CreatedDate": 1673467300.7, "LastAccessedDate": 1673395200.0, "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-a1b2c3", "Description": "Secret associated with primary RDS DB cluster: arn:aws:rds:us-west-2:123456789012:cluster:database-1" } ] }
자세한 내용은 Secrets Manager 사용자 안내서의 다른 서비스에서 관리하는 시크릿을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListSecrets
를 참조하세요.
-
다음 코드 예시에서는 put-resource-policy
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호에 리소스 기반 정책 추가
다음
put-resource-policy
예시에서는 시크릿에 권한 정책을 추가하여 해당 정책이 시크릿에 대한 광범위한 액세스 권한을 제공하지 않는지 먼저 확인합니다. 파일에서 해당 정책을 읽습니다. 자세한 내용은 AWS CLI 사용자 안내서의 파일에서 AWS CLI 파라미터 로드를 참조하세요.aws secretsmanager put-resource-policy \ --secret-id
MyTestSecret
\ --resource-policyfile://mypolicy.json
\ --block-public-policymypolicy.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Attach a permissions policy to a secret을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutResourcePolicy
섹션을 참조하세요.
-
다음 코드 예시에서는 put-secret-value
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 시크릿에 새 암호 값 저장
다음
put-secret-value
예시에서는 2개의 키와 값 페어로 새 버전의 시크릿을 생성합니다.aws secretsmanager put-secret-value \ --secret-id
MyTestSecret
\ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 수정을 참조하세요.
예시 2: JSON 파일의 자격 증명으로 새 시크릿 값 저장
다음
put-secret-value
예시에서는 파일의 자격 증명으로 새 버전의 시크릿을 생성합니다. 자세한 내용은 AWS CLI 사용자 안내서의 파일에서 AWS CLI 파라미터 로드를 참조하세요.aws secretsmanager put-secret-value \ --secret-id
MyTestSecret
\ --secret-stringfile://mycreds.json
mycreds.json
의 콘텐츠:{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 수정을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutSecretValue
를 참조하세요.
-
다음 코드 예시에서는 remove-regions-from-replication
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
복제본 보안 암호 삭제
다음
remove-regions-from-replication
예시에서는 eu-west-3의 복제 시크릿을 삭제합니다. 다른 리전에 복제된 기본 시크릿을 삭제하려면 먼저 복제본을 삭제한 다음delete-secret
을 직접적으로 호출합니다.aws secretsmanager remove-regions-from-replication \ --secret-id
MyTestSecret
\ --remove-replica-regionseu-west-3
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [] }
자세한 내용은 Secrets Manager 사용 설명서의 Delete a replica secret을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RemoveRegionsFromReplication
섹션을 참조하세요.
-
다음 코드 예시에서는 replicate-secret-to-regions
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
다른 리전으로 보안 암호 복제
다음
replicate-secret-to-regions
예시에서는 eu-west-3으로 시크릿을 복제합니다. 복제본은 AWS 관리형 키aws/secretsmanager
로 암호화됩니다.aws secretsmanager replicate-secret-to-regions \ --secret-id
MyTestSecret
\ --add-replica-regionsRegion=eu-west-3
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InProgress" } ] }
자세한 내용은 Secrets Manager 사용 설명서의 Replicate a secret to another Region을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ReplicateSecretToRegions
섹션을 참조하세요.
-
다음 코드 예시에서는 restore-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
이전에 삭제한 보안 암호 복원
다음
restore-secret
예시에서는 이전에 삭제가 예정된 시크릿을 복원합니다.aws secretsmanager restore-secret \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RestoreSecret
섹션을 참조하세요.
-
다음 코드 예시에서는 rotate-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 보안 암호에 대한 자동 교체를 구성하고 시작하는 방법
다음
rotate-secret
예시에서는 보안 암호의 자동 교체를 구성하고 시작합니다. Secrets Manager는 보안 암호를 즉시 한 번 교체한 다음 2시간 간격으로 8시간마다 교체합니다. 출력에 교체 결과 생성된 새 보안 암호 버전의VersionId
가 표시됩니다.aws secretsmanager rotate-secret \ --secret-id
MyTestDatabaseSecret
\ --rotation-lambda-arnarn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda
\ --rotation-rules "{\"ScheduleExpression\": \"cron(0 8/8 * * ? *)\", \"Duration\": \"2h\"}"출력:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
자세한 내용은 Secrets Manager 사용 설명서의 Rotate secrets를 참조하세요.
예시 2: 교체 간격에서 자동 교체를 구성하고 시작하는 방법
다음
rotate-secret
예시에서는 보안 암호의 자동 교체를 구성하고 시작합니다. Secrets Manager는 즉시 한 번 그리고 10일마다 보안 암호를 교체합니다. 출력에 교체 결과 생성된 새 보안 암호 버전의VersionId
가 표시됩니다.aws secretsmanager rotate-secret \ --secret-id
MyTestDatabaseSecret
\ --rotation-lambda-arnarn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda
\ --rotation-rules "{\"ScheduleExpression\": \"rate(10 days)\"}"출력:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
자세한 내용은 Secrets Manager 사용 설명서의 Rotate secrets를 참조하세요.
예시 3: 보안 암호 즉시 교체
다음
rotate-secret
예시에서는 즉시 교체를 시작합니다. 출력에 교체 결과 생성된 새 보안 암호 버전의VersionId
가 표시됩니다. 시크릿에 교체가 미리 구성되어 있어야 합니다.aws secretsmanager rotate-secret \ --secret-id
MyTestDatabaseSecret
출력:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
자세한 내용은 Secrets Manager 사용 설명서의 Rotate secrets를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RotateSecret
섹션을 참조하세요.
-
다음 코드 예시에서는 stop-replication-to-replica
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
복제 보안 암호를 기본으로 승격
다음
stop-replication-to-replica
예시에서는 복제 시크릿과 기본 시크릿 간의 연결을 제거합니다. 복제 시크릿은 복제본 리전의 기본 시크릿으로 승격됩니다. 복제 리전 내에서stop-replication-to-replica
를 직접적으로 호출해야 합니다.aws secretsmanager stop-replication-to-replica \ --secret-id
MyTestSecret
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3" }
자세한 내용은 Secrets Manager 사용 설명서의 Promote a replica secret을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 StopReplicationToReplica
섹션을 참조하세요.
-
다음 코드 예시에서는 tag-resource
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 보안 암호에 태그 추가
다음 예시에서는 간편 구문으로 태그를 연결하는 방법을 보여줍니다.
aws secretsmanager tag-resource \ --secret-id
MyTestSecret
\ --tagsKey=FirstTag,Value=FirstValue
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Secrets Manager 사용 설명서의 Tag your secrets를 참조하세요.
예시 2: 보안 암호에 여러 태그 추가
다음
tag-resource
예시에서는 두 개의 키와 값 태그를 시크릿에 연결합니다.aws secretsmanager tag-resource \ --secret-id
MyTestSecret
\ --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Secrets Manager 사용 설명서의 Tag secrets를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 TagResource
를 참조하세요.
-
다음 코드 예시에서는 untag-resource
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
보안 암호에서 태그 제거
다음
untag-resource
예시에서는 시크릿에서 두 개의 태그를 제거합니다. 각 태그의 키와 값이 모두 제거됩니다.aws secretsmanager untag-resource \ --secret-id
MyTestSecret
\ --tag-keys '[ "FirstTag", "SecondTag"]
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Secrets Manager 사용 설명서의 Tag secrets를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UntagResource
를 참조하세요.
-
다음 코드 예시에서는 update-secret-version-stage
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 이전 버전으로 보안 암호 되돌리기
다음 AWS 예시에서는
update-secret-version-stage
CURRENT 스테이징 레이블을 이전 버전의 보안 암호로 이동합니다. 이를 통해 보안 암호를 이전 버전으로 되돌립니다. 이전 버전의 ID를 찾으려면list-secret-version-ids
를 사용합니다. 이 예시에서 AWSCURRENT 레이블이 있는 버전은 a1b2c3d4-5678-90ab-cdef-EXAMPLE11111이고, AWSPREVIOUS 레이블이 있는 버전은 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222입니다. 이 예시에서는 AWSCURRENT 레이블을 버전 11111에서 22222로 이동합니다. AWSCURRENT 레이블이 버전에서 제거되므로, 는update-secret-version-stage
PREVIOUS 레이블을 해당 버전(11111)으로 자동으로 이동합니다. 그 결과, AWSCURRENT 및 AWSPREVIOUS 버전이 서로 교체됩니다.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageAWSCURRENT
\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222
\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Version을 참조하세요.
예시 2: 보안 암호 버전에 연결된 스테이징 레이블 추가
다음
update-secret-version-stage
예시에서는 보안 암호의 버전에 스테이징 레이블을 추가합니다.list-secret-version-ids
를 실행하고 영향을 받는 버전에 대한VersionStages
응답 필드를 확인하여 결과를 검토할 수 있습니다.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageSTAGINGLABEL1
\ --move-to-version-idEXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Version을 참조하세요.
예시 3: 보안 암호 버전에 연결된 스테이징 레이블 삭제
다음
update-secret-version-stage
예시에서는 보안 암호 버전에 연결된 스테이징 레이블을 삭제합니다.list-secret-version-ids
를 실행하고 영향을 받는 버전에 대한VersionStages
응답 필드를 확인하여 결과를 검토할 수 있습니다.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageSTAGINGLABEL1
\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용 설명서의 Version을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateSecretVersionStage
섹션을 참조하세요.
-
다음 코드 예시에서는 update-secret
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
예시 1: 시크릿의 설명 업데이트
다음
update-secret
예시에서는 시크릿의 설명을 업데이트합니다.aws secretsmanager update-secret \ --secret-id
MyTestSecret
\ --description"This is a new description for the secret."
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 수정을 참조하세요.
예시 2: 시크릿에 연결된 암호화 키 업데이트
다음
update-secret
예시에서는 시크릿 값을 암호화하는 데 사용되는 KMS 키를 업데이트합니다. KMS 키는 시크릿과 동일한 리전에 있어야 합니다.aws secretsmanager update-secret \ --secret-id
MyTestSecret
\ --kms-key-idarn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
출력:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }
자세한 내용은 Secrets Manager 사용자 안내서의 시크릿 수정을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateSecret
을 참조하세요.
-
다음 코드 예시에서는 validate-resource-policy
코드를 사용하는 방법을 보여줍니다.
- AWS CLI
-
리소스 정책 검증
다음
validate-resource-policy
예시에서는 리소스 정책이 보안 암호에 대한 광범위한 액세스 권한을 부여하지 않는지 확인합니다. 정책은 디스크의 파일에서 읽습니다. 자세한 내용은 AWS CLI 사용자 안내서의 파일에서 AWS CLI 파라미터 로드를 참조하세요.aws secretsmanager validate-resource-policy \ --resource-policy
file://mypolicy.json
mypolicy.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
출력:
{ "PolicyValidationPassed": true, "ValidationErrors": [] }
자세한 내용은 Secrets Manager 사용 설명서의 Permissions reference for Secrets Manager를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ValidateResourcePolicy
섹션을 참조하세요.
-