>  기사  >  백엔드 개발  >  로컬 Go 애플리케이션에서 비밀을 가져오는 올바른 전략

로컬 Go 애플리케이션에서 비밀을 가져오는 올바른 전략

WBOY
WBOY앞으로
2024-02-08 22:42:081098검색

在本地 go 应用程序上获取机密的正确策略

php 편집기 Banana는 로컬 Go 애플리케이션에서 비밀을 얻기 위한 올바른 전략에 대한 기사를 제공합니다. 최신 애플리케이션 개발에서는 민감한 정보의 보안을 보호하는 것이 매우 중요합니다. 이 기사에서는 개발자가 기본 Go 애플리케이션에서 기밀 정보를 올바르게 획득하고 사용하여 데이터 기밀성과 무결성을 보장하는 데 도움이 되는 몇 가지 효과적인 전략을 공유합니다. 데이터베이스 비밀번호, API 키 또는 기타 민감한 정보 등 적절한 처리 및 저장은 애플리케이션 보안을 유지하는 데 중요합니다. 기밀정보를 안전하게 처리하는 방법에 대해 알아봅시다!

질문 내용

aws에서 소규모 프로젝트 재생:

  • 골랑어플리케이션
  • rds/mysql 데이터베이스
  • 비밀 관리자
  • API 게이트웨이 및 람다

데이터베이스와의 상호 작용을 확인하기 위해 로컬에서 go 앱을 실행하고 있는데 비밀 관리자와 작동하도록 할 수 없습니다.

이 샘플 코드를 사용하세요:

으아악

이해합니다

으아악

제대로 이해했다면 사용자/정책에 권한을 추가해야 합니다. 그런데 이것을 어디에 추가해야 할까요? iam 콘솔에서? 아니면 Secret Manager 콘솔인가요?

무엇이어야 하나요?

func getcreds() {
    config, err := config.loaddefaultconfig(context.todo(), config.withregion(region))
    if err != nil {
        log.fatal(err)
    }

    svc := secretsmanager.newfromconfig(config)
    input := &secretsmanager.getsecretvalueinput{
        secretid:     aws.string(secretname),
        versionstage: aws.string("awscurrent"),
    }

    result, err := svc.getsecretvalue(context.todo(), input)
    if err != nil {
        log.fatal(err.error())
    }

    var secretstring string = *result.secretstring
    log.printf("pwd: %s", secretstring)
}

해결 방법

go 애플리케이션에서 aws api를 사용하기 위한 자격 증명을 찾을 수 없습니다.

(자격 증명 구성)에 따라 이 코드를 사용하면 자동으로 ~/.aws/config을 로컬 자격 증명으로 사용할 수 있습니다

으아악

사용자 정의 구성을 제공하는 경우 자격 증명을 제공해야 합니다. 다른 방법도 있으니 자신에게 맞는 방법을 선택하세요. aws는 위의 방법을 제안했습니다.

여기에는 사용자와 함께 달리는 것도 포함됩니다. AWS 실행을 위해서는 람다 함수에 키에 대한 액세스 권한을 부여해야 합니다.

으아악

위 전략은 람다 실행에 사용되는 iam 역할에 적용되어야 합니다. aws 콘솔 -> 람다 -> 실행 권한 ->

위 내용은 로컬 Go 애플리케이션에서 비밀을 가져오는 올바른 전략의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제