Doppler를 사용하여 AWS 암호 관리
람다 함수 생성, API 게이트웨이와 통합, 생성된 토큰 저장
암호, 키 또는 ID는 가장 널리 사용되며 조직에서 응용 프로그램과 사용자를 인증하고 민감한 시스템, 정보 및 서비스를 제공하는 데 사용하는 가장 중요한 도구 중 하나입니다. 비밀은 안전하게 전송되어야 하기 때문에 비밀 관리는 전송 중이거나 저장되어 있는 이러한 비밀에 대한 위험을 설명하고 완화해야 합니다.
이 튜토리얼에서는 간단한 람다 함수를 만들 것입니다.
또한 등록 양식 화면, AWS cognito를 사용한 로그인 화면 및 AWS의 API 게이트웨이를 생성할 것입니다.
이 애플리케이션에는 JWT 토큰과 같은 중요한 정보가 포함되어 있어 안전하고 안전하게 유지하고자 하므로 Doppler로 해당 토큰을 관리하는 방법을 배울 수 있습니다.
토큰, 암호 및 키는 사용자 및 기타 비동기 애플리케이션이 애플리케이션의 다른 서비스에 액세스하거나 필요한 민감한 정보를 수집하기 전에 인증하기 위해 가장 널리 사용되는 인증 형식입니다.
그럼에도 불구하고 해커는 때때로 악용할 수 있는 시스템을 느슨하게 찾고 있으며 자신이나 당신이 일하는 조직을 보호하기 위해 약간의 돈을 절약하기 위해 애플리케이션과 관련된 모든 비밀을 안전하게 저장해야 합니다.
A2A(Application to Application) 및 A2B(Authentication to Database) 통신 및 액세스를 인증하려면 암호 및 기타 비밀이 필요합니다.
대부분의 경우 애플리케이션과 IoT 장치는 간단한 사전 방법 공격으로 해커가 쉽게 해독할 수 있는 하드코딩된 자격 증명과 함께 배송 및 배포되지만 Doppler를 사용하면 해당 키를 스크립트에 안전하게 보관할 수 있으므로 더 이상 해당 스크립트에 보관할 필요가 없습니다. 도플러.
Doppler는 플랫폼을 사용한 짧은 시간에 생산성을 향상시켰습니다. Doppler는 문서가 쉽고 이해하기 쉽기 때문에 사용자에게 프로젝트를 쉽게 설정할 수 있는 방법을 제공합니다.
이 튜토리얼로 바로 들어가서 Doppler가 어떻게 일을 그렇게 쉽게 만들 수 있는지 봅시다.
사용자가 사용자를 등록하고 로그인하는 데 사용할 수 있는 호스팅 UI가 있는 AWS cognito에서 사용자를 생성할 예정이며 지침을 따르면 매우 간단한 작업입니다. 아래는 내가 만든 사용자의 이미지입니다.


이 사용자를 생성하는 목표는 인증된 사용자만 로그인하여 앱 서비스를 사용할 수 있도록 하는 것이며 모든 사용자에게 고유한 JWT 토큰을 제공하는 AWS 게이트웨이를 사용하여 이를 달성할 것이며 이것이 바로 이 토큰입니다. 누구나 액세스할 수 있고 앱에 심각한 혼란을 야기하는 데 사용될 수 있기 때문에 해당 토큰이 프론트엔드에 표시되는 것을 원하지 않기 때문에 보안을 원할 것입니다.
따라서 JWT 토큰을 가져와 사용자를 인증하는 데 도움이 되는 API 게이트웨이를 사용할 람다 함수를 만들어 보겠습니다.
JWT 토큰을 Doppler에 추가하는 것이 주요 초점이므로 람다 함수를 생성하거나 API 게이트웨이를 추가하는 방법에 대해서는 자세히 다루지 않을 것입니다. 아래는 우리가 만든 람다 함수의 이미지입니다. 이 이미지는 나중에 API 게이트웨이와 통합할 것입니다.

Amazon API Gateway는 모든 규모에서 REST, HTTP 및 WebSocket API를 생성하고 보호하기 위한 AWS 서비스입니다. API 개발자는 AWS 또는 기타 웹 서비스는 물론 AWS 클라우드에 저장된 데이터에 액세스하는 API를 생성할 수 있습니다. 이 경우 HTTP 게이트웨이를 생성합니다.

Doppler에서 프로젝트를 만드는 것은 매우 간단하고 간단합니다. 더하기 아이콘을 눌러 새 프로젝트를 만들기만 하면 됩니다. Doppler 계정에 로그온하고 다음과 같은 종류의 새 프로젝트를 만듭니다.

새 프로젝트가 생성되면 다음과 같은 세 단계/환경이 생성됩니다.
- 개발
- 각색
- 생산
이러한 환경은 우리가 비밀을 저장하는 곳입니다.
비밀을 Doppler와 동기화하기 전에 AWS secret manager를 Doppler와 통합하고 AWS를 Doppler와 동기화해야 합니다. 아래 단계를 따르십시오.
프로젝트를 생성한 후 통합을 클릭합니다.

통합을 클릭하면 Doppler를 통합할 수 있는 다양한 서비스 목록이 표시되는 새 웹 페이지로 이동해야 하지만 이 경우에는 통합을 위해 Secrets Manager를 사용할 것입니다.

Secrets Manager를 클릭하면 AWS Secrets Manager에게 키 ID와 액세스 키를 제공하라는 메시지가 표시되는 다른 페이지로 이동합니다. 사용자가 없으면 Create User 버튼을 누른 후 새 AWS Amplify 사용자를 생성하는 동안 얻을 수 있지만 하나가 있으면 이것이 액세스하는 방법입니다.
Go to I AM management console > select users > Select the current user
당신은 이것과 같은 것을보아야합니다

여기에서 액세스 키 ID를 찾은 다음 새 액세스 키를 생성해야 합니다. 위의 키를 Doppler에 추가하여 AWS 보안 관리자와 동기화하십시오.

Doppler는 AWS Secret Manager와 통합할 수 있는 권한이 필요하며 이러한 정책은 JSON 형식으로 쉽게 추가할 수 있습니다.
기존 IAM 사용자가 있고 새 정책을 추가하려는 경우 매우 쉽습니다. AWS 검색 상자에서 키워드 IAM을 검색하면 IAM AWS 기능이 표시되고 이를 클릭하고 다음으로 사용자를 선택합니다. 첫 번째 열린 탭은 권한 탭입니다.

인라인 정책 추가를 클릭하여 사용자 지정 정책을 만들고 이름을 지정하고 이러한 정책을 JSON 형식으로 추가합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSecretsManagerAccess",
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret",
"secretsmanager:PutSecretValue",
"secretsmanager:CreateSecret",
"secretsmanager:DeleteSecret",
"secretsmanager:TagResource",
"secretsmanager:UpdateSecret"
],
"Resource": "*"
}
]
}
또한 Doppler를 AWS Secret Manager와 통합하기 위해 키를 추가한 후 Doppler 환경을 구성해야 합니다.

동기화할 구성을 선택하고 광산이 US-east-2인 AWS 리전을 선택하고 선택적으로 AWS의 모든 비밀이 저장될 Doppler의 경로를 선택합니다.
JWT 토큰을 도플러에 저장
JWT 토큰을 얻으려면 사용자가 로그인한 후 브라우저 검색 표시줄에서 해당 토큰을 복사하여 Doppler에 저장합니다.

이제 이 주제의 가장 흥미로운 부분은 이 비밀 토큰을 Doppler에 저장하는 것입니다.
새 프로젝트를 AWS에 동기화한 후 Doppler 대시보드에서 새로 생성된 프로젝트를 엽니다.

생성하고 AWS와 동기화한 새 프로젝트를 선택합니다. 제가 선택할 것입니다.
newdopplersecrets

AWS와 동기화하는 동안 환경을 선택했으며 제 경우에는 다음을 선택했습니다.
Production(prd)
그래서 위의 이미지와 같이 prd가 활성화되어 있기 때문에 녹색으로 표시됩니다.
활성 환경을 클릭하여 AWS에 업로드하려는 보안 정보를 추가할 수 있는 새 페이지로 이동합니다.

위의 이미지는 다음 페이지여야 합니다. 첫 번째 비밀 추가 버튼을 클릭하여 이전에 브라우저에서 복사한 JWT 토큰을 추가합니다. 키 이름과 토큰을 값으로 추가할 수 있습니다.
BASE_URL : https://doppler.comBEARER_TOKEN : eyJraWQiOiJCUVRvNG9pSHNoK3FodGUrNGwydW9JKzBXZjFsK2tMQkJpckw3dHlXeUFNPSIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoiN19fa3VxOG5nV1hiN3ZEZmNTSTJaUSIsInN1YiI6ImU3YjQ0YWRjLTkyYjUtNDZmOS04M2EzLTlkNGMyMDc1ZmM0NiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0yLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMl9KM2ppVmtrbGIiLCJjb2duaXRvOnVzZXJuYW1lIjoiY2xzeWZyaWRheSIsImF1ZCI6IjIzcmRjdTRhZjFxdDc5MzRsMmE5cTZxbXM1IiwiZXZlbnRfaWQiOiJjNzdkZjdjZS1hZGE1LTQ4YmYtODM2YS0yNzJmYjViMmJkYjkiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTYzMzE3NDI4NiwiZXhwIjoxNjMzMTc3ODg2LCJpYXQiOjE2MzMxNzQyODYsImp0aSI6IjY5NjhiZjZkLWEwYzAtNDkyZi04ODA0LWQ0ZjE2OTRkMWY4YiIsImVtYWlsIjoiY2xzeWZyaWRheUBnbWFpbC5jb20ifQ.U43PFIzcIJOk0MHmCr1a87WKXE4LIosl7ZvoO6Eo27d_rnxGHeUyrP4r0xH9XUeAH7zQR6e4Uk75hCNI1RgD0wpgbaOrmVfnZGnnrBBJTVN9BKs2ZrcPd_53ky8vwSNKAaTYlqvCNRnzARZim85HCYdL0aJaqz-R0jteyb0_7aEvaum2RMHG6RYJ0aYP46fNv8TaYW9imlvGs774kKzLmnHuIHwfN74iHxs68tcT0HcTHMUWqlo08uIZ3szceLszRqmSc7DjU24-Y1qvcsMh01eHbUDq-pdmZTUqaQ1uVTY1vBs-EhlrYNKOr8P-oBga6CiwXWXTfPmf_BYM2pTtvwPASSWORD : 0123456789

키와 값을 추가한 후 비밀은 위의 이미지와 같아야 합니다. 오른쪽 상단의 저장 버튼을 눌러 비밀을 저장해야 합니다.
또한 통합이라는 제목의 다음 탭을 클릭하면 다음이 표시됩니다.

이제 텍스트를 클릭해 보겠습니다. 관리하다 극단적으로 말하면 동기화를 눌러 모든 비밀을 AWS 비밀 관리자에 업로드할 수 있는 새 웹 페이지로 연결되어야 합니다.

을 치다 동조 텍스트와 모든 암호가 AWS Secrets Manager에 추가됩니다.
모든 비밀이 Doppler에서 AWS로 업로드되었는지 확인하려면 위의 그림과 같이 DESTINATION 탭 아래의 링크를 클릭하면 AWS에서 생성한 프로젝트 이름에 doppler라는 이름이 추가된 것을 볼 수 있습니다.

만세. 방금 Doppler에 비밀을 저장하고 AWS에 성공적으로 푸시하여 사용을 위해 액세스할 수 있으며 Doppler에서 비밀을 업데이트할 때마다 AWS에서 자동으로 업데이트됩니다.
우리는 이 튜토리얼의 끝에 왔습니다. AWS Cognito를 사용하여 호스팅된 UI를 사용하여 사용자를 생성하는 방법을 살펴보았습니다.
또한 람다 함수를 만들고 람다 함수를 사용자에게 JWT 토큰을 제공하는 데 도움이 되는 API 게이트웨이와 통합하는 방법을 배운 다음 해당 토큰을 도플러에 저장하는 방법을 살펴보았습니다.
'Coding' 카테고리의 다른 글
프로덕션 전 대량 테스트 API - Azure Durable Functions가 포함된 Azure DevOps 릴리스 게이트하는 방법 (0) | 2022.04.12 |
---|---|
Perflint 사용하는 방법 — Python용 성능 린터 (0) | 2022.04.11 |
Flutter와 Node.js로 실시간 채팅 앱을 만드는 방법 (0) | 2022.04.09 |
Lambda 대 Step Functions: 비용과 성능의 싸움 (0) | 2022.04.08 |
Python에서 캐싱 및 Pub/Sub에 Redis를 사용하는 방법 (0) | 2022.04.06 |
댓글