View a markdown version of this page

Salesforce 클라이언트 보안 암호 생성 - AWS Secrets Manager

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Salesforce 클라이언트 보안 암호 생성

이 자습서에서는 Salesforce 클라이언트 보안 암호를 생성하여에 관리형 외부 보안 암호 AWS Secrets Manager 로 저장하고 관리형 교체를 켠 다음 액세스 토큰으로 교환하여 교체된 보안 인증을 테스트합니다. 이 자습서를 완료하는 데 약 20~30분이 걸립니다.

이 자습서에서는 Secrets Manager에 저장한 보안 암호에 대한 요금과 고객 관리형 키를 사용하기로 선택한 경우 고객 관리형 키를 AWS 계정포함하여에 요금이 부과될 수 있는 AWS 서비스를 사용합니다. 자세한 내용은 가격 책정 섹션을 참조하세요.

참고

이 자습서에서는 SalesforceClientSecret 보안 암호 유형을 예로 사용합니다. 다른 관리형 외부 보안 암호 유형은 유사한 흐름을 따릅니다. 통합 파트너가 정의한 형식을 사용하여 보안 암호를 생성하고 관리형 교체를 켠 다음 교체된 자격 증명을 사용합니다. 온보딩된 파트너 목록과 필요한 보안 암호 형식은 섹션을 참조하세요통합 파트너.

이 튜토리얼을 시작하기 전에 다음 사항을 확인해야 합니다.

  • 외부 클라이언트 앱(ECAs)을 생성할 수 있는 Salesforce 계정(개발자 또는 기타).

  • 에 대한 관리 권한 AWS 계정. 프로덕션 설정에서는 작업마다 다른 역할을 사용하는 것이 가장 좋습니다. 예를 들어 조직에서 보안 암호를 관리하는 역할은 보안 암호를 생성하고, 별도의 역할은 런타임 시 보안 암호를 사용합니다. 자습서 단계에서는 동일한 자격 증명을 계속 사용하는 것이 좋습니다. 프로덕션 환경에서 권한을 설정하는 방법에 대한 자세한 내용은 에 대한 인증 및 액세스 제어 AWS Secrets Manager 섹션을 참조하세요.

1단계: 외부 클라이언트 앱 생성 및 OAuth 활성화

첫 번째 단계는 Salesforce에서 외부 클라이언트 앱(ECA)을 생성하고 Secrets Manager가 클라이언트 보안 암호를 교체할 수 있도록 OAuth용으로 구성하는 것입니다. 전체 Salesforce 절차는 Salesforce 설명서의 외부 클라이언트 앱으로 권한 부여 설정을 참조하세요.

ECA를 설정할 때 다음을 구성해야 합니다.

  • 조직 수준에서 REST API를 통해 외부 클라이언트 앱 소비자 보안 암호에 대한 액세스 허용을 활성화합니다. 이 설정을 사용하면 Secrets Manager가 Salesforce REST API를 통해 소비자 암호를 검색하고 교체할 수 있습니다.

  • ECA에서 OAuth 범위 APIs(api)를 통해 사용자 데이터 관리를 활성화합니다.

  • ECA에서 클라이언트 자격 증명 흐름 활성화를 활성화합니다.

  • ECA에서 토큰 교환 흐름 활성화 및 토큰 교환 흐름에 보안 암호 필요를 활성화합니다.

ECA를 생성한 후 다음 단계에서 보안 암호에 저장해야 하는 값을 수집합니다.

  • ECA Manager OAuth 설정의 소비자 키(클라이언트 ID) 및 소비자 보안 암호(클라이언트 보안 암호)입니다.

  • Salesforce 내 도메인 기본 URL, 예: https://MyDomainName.my.salesforce.com.

  • ECA의 앱 ID 및 소비자 ID입니다. 이는 Salesforce 설명서의 external_client_app_identifier 및 consumer_id 필드에 해당합니다. 이러한 값을 검색하는 방법을 알아보려면 Salesforce 설명서의 단계 OAuth 자격 증명을 참조하세요.

보안 암호에 필요한 각 필드에 대한 설명은 섹션을 참조하세요Salesforce 클라이언트 보안 암호.

2단계: 관리형 외부 보안 암호 생성 및 교체 활성화

그런 다음 Secrets Manager에 Salesforce 클라이언트 보안 암호를 관리형 외부 보안 암호로 저장하고 관리형 교체를 켭니다. 관리형 교체를 사용하면 Lambda 교체 함수를 생성하거나 유지 관리하지 않습니다. Secrets Manager가 보안 암호를 자동으로 교체합니다.

보안 암호를 생성하고 교체를 켜려면(콘솔)
  1. https://console.aws.amazon.com/secretsmanager/에서 Secrets Manager 콘솔을 엽니다.

  2. Store a new secret(새 보안 암호 저장)을 선택합니다.

  3. 보안 암호 유형 선택(Choose secret type) 페이지에서 다음을 수행합니다.

    1. 보안 암호 유형에서 Salesforce 클라이언트 보안 암호 관리형 외부 보안 암호 유형(SalesforceClientSecret)을 선택합니다.

    2. Salesforce 클라이언트 보안 암호의 보안 암호 값 필드, 즉 소비자 키, 소비자 보안 암호, 기본 URI, 앱 ID 및 소비자 ID를 입력합니다. 각 필드에 대한 설명은 단원을 참조하십시오Salesforce 클라이언트 보안 암호.

    3. 암호화 키(Encryption key)에서 aws/secretsmanager를 선택하여 Secrets Manager에 대해 AWS 관리형 키 를 사용합니다. 이 키를 사용하는 데 드는 비용은 없습니다. 자체 고객 관리형 키를 사용할 수도 있습니다. 고객 관리형 키 사용 비용에 대한 자세한 내용은 가격 책정을 참조하세요.

    4. 다음(Next)을 선택합니다.

  4. 보안 암호 구성 페이지에서 설명이 포함된 보안 암호 이름과 설명을 입력한 후 다음을 선택합니다.

  5. 교체 구성 페이지에서 다음을 수행합니다. 관리형 외부 보안 암호의 경우 보안 암호 생성 중에 교체가 기본적으로 활성화됩니다.

    1. 자동 교체가 켜져 있는지 확인합니다.

    2. 교체 메타데이터의 API 버전(apiVersion)에 Salesforce 조직의 API 버전을 입력합니다. 이 필드는 필수 항목입니다. 형식이어야 합니다. vXX.X여기서 X는 숫자 문자이고는 이상이어야 합니다v65.0. Secrets Manager가 별도의 관리 자격 증명 세트를 사용하여 보안 암호를 교체하도록 하려면 관리자 보안 암호 ARN도 제공합니다. 각 메타데이터 필드에 대한 설명은 섹션을 참조하세요Salesforce 클라이언트 보안 암호.

    3. 보안 암호 교체를 위한 서비스 권한에서 새 역할 생성을 선택하여 Secrets Manager가 보안 암호를 교체하는 데 필요한 권한을 가진 IAM 역할을 자동으로 생성합니다. 기본적으로 권한의 범위는 보안 암호가 생성된 AWS 리전의 통합 파트너로 지정됩니다. 자세한 내용은 보안 및 권한 섹션을 참조하세요.

    4. 교체 일정에서 일정을 UTC 시간대로 입력합니다. 예를 들어 30일마다 자동으로 교체됩니다.

    5. 다음(Next)을 선택합니다.

  6. 검토(Review) 페이지에서 보안 암호 세부 정보를 검토한 후 저장(Store)을 선택합니다.

를 포함하여 관리형 외부 보안 암호에 대한 교체를 구성하는 자세한 방법은 섹션을 AWS CLI참조하세요 AWS Secrets Manager 관리형 외부 보안 암호 교체.

3단계: 교체된 자격 증명 테스트

마지막 단계는 보안 암호 값을 검색하고 Salesforce 액세스 토큰의 보안 인증 정보를 교환하여 교체된 보안 인증 정보가 작동하는지 확인하는 것입니다.

보안 암호 값을 검색하려면(콘솔)
  1. https://console.aws.amazon.com/secretsmanager/에서 Secrets Manager 콘솔을 엽니다.

  2. 보안 암호(Secrets) 페이지에서 보안 암호를 선택합니다.

  3. 보안 암호 세부 정보(Secret details) 페이지를 아래로 스크롤하고 보안 암호 값 검색(Retrieve secret value)을 선택합니다. 현재 consumerKey 및 consumerSecret 값을 기록해 둡니다.

참고

consumerKey 및 consumerSecret 값이 원래 저장한 값에서 실제로 변경되었는지 확인합니다. 변경되지 않은 경우 몇 분 정도 기다렸다가 다시 확인합니다. 여전히 변경되지 않은 경우 교체가 실패한 이유에 대한 세부 정보가 포함된 보안 암호에 대한 RotationFailed 이벤트가 AWS CloudTrail 있는지 확인합니다. 자세한 내용은 관리형 외부 보안 암호가 교체되지 않음 섹션을 참조하세요.

그런 다음 검색된 자격 증명을 사용하여 Salesforce에서 액세스 토큰을 요청합니다. MyDomainName을 Salesforce 내 도메인 이름으로 바꾸고 consumerKey 및 consumerSecret을 검색한 값으로 바꿉니다.

curl -X POST "https://MyDomainName.my.salesforce.com/services/oauth2/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=consumerKey" \ -d "client_secret=consumerSecret"

자격 증명이 유효한 경우 Salesforce는가 포함된 JSON 응답을 반환합니다access_token. 액세스 토큰을 수신하면 교체된 자격 증명이 작동하는지 확인합니다.

명령 셸에 명령을 입력하면 명령 기록이 액세스되거나 유틸리티가 명령 파라미터에 액세스할 위험이 있습니다. 를 사용하여 AWS Secrets Manager 보안 암호를 AWS CLI 저장할 때의 위험 완화 섹션을 참조하세요.

4단계: 리소스 정리

지속적인 요금이 발생하지 않도록 하려면이 자습서에서 생성한 리소스, 즉 Secrets Manager가 생성한 보안 암호 및 IAM 교체 역할이 더 이상 필요하지 않은 경우 삭제합니다. 보안 암호를 삭제하면 자동 교체도 중지됩니다.

보안 암호를 삭제하려면(콘솔)
  1. https://console.aws.amazon.com/secretsmanager/에서 Secrets Manager 콘솔을 엽니다.

  2. 보안 암호(Secrets) 페이지에서 보안 암호를 선택합니다.

  3. 보안 암호 세부 정보(Secret details) 섹션에서 작업(Actions)을 선택한 후 보안 암호 삭제(Delete secret)를 선택합니다.

  4. 보안 암호 및 일정 삭제 비활성화 대화 상자에서 대기 기간을 입력한 다음 삭제 예약을 선택합니다. Secrets Manager는 보안 암호에 즉시 액세스할 수 없도록 설정하고 복구 기간 후 삭제를 예약합니다. 자세한 내용은 AWS Secrets Manager 보안 암호 삭제 섹션을 참조하세요.

교체 역할을 삭제하려면(콘솔)
  1. https://console.aws.amazon.com/iam/ IAM 콘솔을 연 다음 역할을 선택합니다.

  2. Secrets Manager가 교체를 위해 생성한 역할을 찾아 선택한 다음 삭제를 선택합니다. 자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로파일 삭제를 참조하세요.

다음 단계