AWS Secrets Manager 및 RDS를 사용하여 비밀을 관리하는 방법은 무엇입니까?

Aws Secrets Manager Mich Rdsleul Sayonghayeo Bimil Eul Gwanlihaneun Bangbeob Eun Mueos Ibnikka



Amazon Relational Database는 복잡한 쿼리를 더 쉽고 간단하게 운영하고 실행할 수 있는 관계형 데이터베이스 서비스 중 하나입니다. SQL 쿼리 구문을 따르는 이 AWS 서비스는 기존 데이터베이스보다 빠르며 애플리케이션 요구 사항에 따라 데이터베이스 크기를 자동으로 조정합니다. AWS RDS를 사용하면 쿼리를 실행하기 위해 하드웨어를 사용자 정의하거나 소프트웨어를 구성할 필요가 없습니다.

이 문서에서는 AWS Secrets Manager 및 RDS를 사용하여 비밀을 관리하는 방법을 보여줍니다.

비밀 관리자란 무엇입니까?

보안 위협과 개인 정보 보호에 대한 우려도 전 세계 전문가와 사람들에 의해 제기되었습니다. 데이터베이스 자격 증명, API 및 토큰과 같은 디지털 비밀을 보호하려면 AWS Secret Manager가 이러한 목적에 적합한 도구입니다.







AWS Secret Manager는 기업과 조직이 민감한 데이터를 가로채거나 훔치는 악의적인 의도와 사이버 공격으로부터 리소스와 서비스를 보호하는 데 도움이 됩니다. 이 서비스는 리소스에 추가 보안 계층을 추가하고 비밀을 쉽게 확장하고 관리할 수 있도록 해줍니다.



AWS Secret Manager 및 RDS를 사용하여 비밀을 관리하는 방법은 무엇입니까?

사용자가 RDS 클러스터를 구성할 때마다 클러스터의 지역, 사용자 이름, 암호에 대한 정보가 필요하며 클러스터의 고유 식별자를 사용하여 이를 식별합니다. RDS를 Secret Manager와 통합하면 RDS 자격 증명을 보호하고 그에 따라 관리할 수 있습니다.



Secret Manager를 사용하면 이러한 비밀의 수명 주기를 정의하고 이를 다른 리소스와 통합할 수 있습니다. 이 기사에서는 Lambda 기능을 갖춘 AWS Secret Manager를 RDS 클러스터에 추가하겠습니다.





다음은 이를 위한 몇 가지 단계입니다.

1단계: RDS 클러스터 생성

Secret Manager는 데이터베이스 자격 증명을 보호하는 데 널리 사용됩니다. 따라서 첫 번째 단계는 RDS 클러스터를 생성하는 것입니다. 이를 위해서는 다음 기사를 참조하십시오: “ AWS에서 RDS 클러스터를 생성하는 방법은 무엇입니까? '. RDS 클러스터가 실행 중입니다.



2단계: AWS Secret Manager

AWS Management Console에서 '를 검색하고 선택합니다. 비밀 관리자 ':

Secret Manager 인터페이스에서 “새 비밀을 저장하세요” 단추:

에서 비밀 유형 , “Amazon RDS 데이터베이스에 대한 자격 증명” 옵션을 RDS에 대해 구성할 때:

다음은 신임장 부분. 이 섹션에서는 다음을 제공합니다. 사용자 이름 그리고 비밀번호 방금 생성한 RDS 데이터베이스의 경우:

에서 암호화 키 섹션에서 사용자는 AWS Secret Manager가 제공하는 기본 항목을 사용하거나 “새 키 추가” 옵션. 마찬가지로, 데이터 베이스 섹션에서 “DB 인스턴스” 당신이 생성하고 히트 '다음' 단추:

고유한 이름을 제공합니다. '비밀' 나중에 식별하는 데 도움이 될 것입니다. 설명은 선택사항입니다. 그러나 사용자는 여기에서 사용자 정의 설명을 제공할 수도 있습니다.

인터페이스에서 , Secret Manager는 또한 비밀을 복제할 수 있는 기능도 제공합니다. 이를 위해 복제를 생성하려는 지역을 선택합니다. 이 데모에서는 복제가 필요하지 않으므로 나머지 설정을 기본값으로 유지하고 '다음' 단추:

이제 기본값을 유지하면서 정보를 검토하고 편집합니다. 제공된 정보를 확인하신 후, 다음을 클릭하세요. '가게' 버튼을 눌러 비밀번호를 생성하고 저장하세요.

여기서 비밀은 성공적으로 생성되었습니다 . “를 클릭하세요. 비밀의 이름 ”를 클릭하여 구성을 확인하세요.

인터페이스를 아래로 스크롤하면 샘플 코드 섹션이 있습니다. 이 섹션에서는 코드가 생성됩니다. 비밀 관리자. 이 코드는 다음에서 사용될 것이므로 복사하세요. 람다 기능:

// 이 코드 조각을 사용하세요 ~에 당신의 앱.
// 필요한 경우 구성 또는 샘플 코드 구현에 대한 자세한 내용은 AWS 문서를 참조하세요.
// https: // docs.aws.amazon.com / 자바스크립트용 SDK / v3 / 개발자 가이드 / 시작하기.html

수입 {
SecretsManager클라이언트,
GetSecretValue명령,
} ~에서 '@aws-sdk/클라이언트-비밀-관리자' ;

const 비밀_이름 = 'mysecret1/sh' ;

const 클라이언트 = 새로운 SecretsManagerClient ( {
지역: 'ap-남동-1' ,
} ) ;

허락하다 응답;

노력하다 {
응답 = client.send를 기다립니다 (
새로운 GetSecretValueCommand ( {
SecretId: secret_name,
버전단계: 'AWSCURRENT' , // VersionStage의 기본값은 AWSCURRENT입니다. 만약에 불특정
} )
) ;
} 잡다 ( 오류 ) {
// 발생한 예외 목록은 다음을 참조하세요.
// https: // docs.aws.amazon.com / 비밀 관리자 / 최신 / apireference /
API_GetSecretValue.html
오류 발생;
}

const 비밀 = response.SecretString;

// 귀하의 코드는 여기에 있습니다

3단계: Lambda 함수 생성

Lambda 함수 인터페이스에서 ' 함수 만들기 ' 버튼:

다음을 클릭하세요. “저자는 처음부터” 옵션에서 “함수 만들기” 상호 작용:

다음으로 우리는 '기본 정보' 부분. 함수 이름을 “함수 이름” 필드를 입력한 다음 '실행 시간' 환경. 여기서 우리는 다음을 선택했습니다. “Node.js 16.x” 런타임 필드에서:

다음을 클릭하세요. “함수 생성” 단추:

여기에 생성된 코드를 붙여넣었습니다. 비밀 관리자 . 코드를 붙여넣은 후 다음을 클릭하세요. “배포” 단추:

모든 변경 사항을 배포한 후 '구성' Secret Manager에 대한 권한을 허용하는 탭은 다음과 같습니다.

다음을 클릭하세요. “권한” 옵션에서 “구성” 탭. 그러면 “ 실행 역할” 인터페이스를 클릭하고 아래의 다음 링크를 클릭하세요. “역할 이름” 필드:

에서 “권한 정책” 섹션에서 “권한 추가” 단추. 드롭다운 메뉴에서 “정책 연결” 옵션:

에서 “기타 권한 정책” 섹션에서 검색하여 선택하세요. “비밀관리자읽기쓰기” 옵션. 을 치다 “권한 추가” 단추:

여기서는 정책이 성공적으로 연결 및 구성되었습니다.

4단계: 비밀 액세스 확인

이제 Lambda 대시보드 인터페이스로 이동합니다. 다음을 클릭하세요. '시험' 탭:

다음 인터페이스에서 테스트 이벤트의 이름을 제공합니다. “이벤트 이름” 필드. 다음을 클릭하세요. '구하다' 구성을 적용하는 버튼:

여기서 테스트가 성공적으로 구성되었습니다. 다음을 클릭하세요. '시험' 단추:

여기서는 '시험' 버튼을 다시 누르면 다음과 같은 출력이 표시됩니다.

이것이 이 가이드의 전부입니다.

결론

Secret Manager에서 비밀을 관리하려면 RDS 클러스터를 생성하고 이를 Secret Manager에 연결한 다음 구성된 Lambda 함수에서 해당 코드를 실행합니다. Lambda 함수는 RDS 클러스터의 사양이 포함된 코드를 실행하여 비밀에 액세스할 수 있는지 여부를 정의합니다. 이 문서는 AWS Secret Manager 및 RDS를 사용하여 암호를 관리하는 방법에 대한 단계별 가이드입니다.