Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
Salesforce 조직 보호
레거시 명명된 자격 증명 이해

레거시 명명된 자격 증명 이해

레거시 명명된 자격 증명은 콜아웃 끝점의 URL 및 필수 인증 매개 변수를 하나의 정의로 지정합니다. 레거시 명명된 자격 증명은 사용되지 않으며 향후 릴리스에서 지원되지 않습니다.

필수 Edition

지원 제품: Salesforce Classic(일부 조직에서 사용할 수 없음) 및 Lightning Experience 모두
지원 제품: 모든 Edition
중요
중요 Winter '23에서 Salesforce는 확장 가능 및 사용자 정의 가능한 개선된 명명된 자격 증명을 도입했습니다. 레거시 명명된 자격 증명 대신 이 기본 자격 증명을 사용하는 것이 좋습니다. 확장 가능, 사용자 정의 가능한 명명된 자격 증명에 대한 자세한 내용은 명명된 자격 증명 및 외부 자격 증명을 참조하십시오.

레거시 명명된 자격 증명을 콜아웃 끝점으로 지정하면 인증된 콜아웃을 쉽게 설정할 수 있습니다. 대신 URL을 콜아웃 끝점으로 지정하려면 조직의 원격 사이트 설정에서 해당 URL을 등록하고 직접 인증을 처리해야 합니다. 예를 들어, Apex 콜아웃의 경우 코드로 인증을 처리해야 하며, 이 경우 보안 수준이 낮아지고 특히 OAuth 구현이 복잡해질 수 있습니다.

Salesforce가 레거시 명명된 자격 증명을 콜아웃 끝점으로 지정하는 콜아웃에 대한 인증을 모두 관리하므로, 이를 수행할 필요가 없습니다. 또한 레거시 명명된 자격 증명에 정의된 사이트에 대해 원격 사이트 설정을 건너뛸 수 있으며, 그렇지 않으면 외부 사이트에 대한 콜아웃에 이를 수행해야 합니다.

노트
노트 NamedCredential, ExternalDataSource 및 ExternalDataUserAuth 엔티티 내에 저장된 모든 자격 증명은 플랫폼의 다른 암호화 프레임워크와 일치하는 프레임워크에 따라 암호화됩니다. Salesforce는 조직별 키를 자동 생성하여 가격 증명을 암호화하고,

다음 유형의 콜아웃 정의에서 레거시 명명된 자격 증명이 지원됩니다.

  • Apex 콜아웃
  • 다음 유형의 외부 데이터 소스
    • Salesforce Connect: OData 2.0
    • Salesforce Connect: OData 4.0
    • Salesforce Connect: Custom(Apex 커넥터 프레임워크와 함께 개발됨)
    • Salesforce Connect: Amazon DynamoDB
  • 외부 서비스

레거시 명명된 자격 증명에는 비공개 연결을 통해 콜아웃을 라우팅하는 데 사용할 수 있는 OutboundNetworkConnection 필드가 포함됩니다. 콜아웃 정의에서 끝점 URL과 인증을 분리하면 레거시 명명된 자격 증명이 콜아웃을 더욱 쉽게 유지 관리할 수 있습니다. 예를 들어, 끝점 URL이 변경되는 경우 레거시 명명된 자격 증명만 업데이트합니다. 레거시 명명된 자격 증명을 참조하는 모든 콜아웃은 계속해서 작동됩니다.

조직이 여러 개 있는 경우 각각의 조직에 이름이 동일하지만 끝점 URL이 다른 레거시 명명된 자격 증명을 만들 수 있습니다. 그런 다음 이러한 레거시 명명된 자격 증명의 공유 이름을 참조하는 하나의 콜아웃 정의를 패키지하고 모든 조직에서 배포할 수 있습니다. 예를 들어, 각 조직의 레거시 명명된 자격 증명에 서로 다른 끝점 URL을 사용하여 개발 및 프로덕션 환경에서의 차이를 수용할 수 있습니다. Apex 콜아웃이 이러한 레거시 명명된 자격 증명의 공유 이름을 지정하는 경우 환경을 프로그래밍 방법으로 확인하지 않고 콜아웃을 정의하는 Apex 클래스를 패키지하고 모든 조직에서 배포할 수 있습니다.

레거시 명명된 자격 증명 인증 프로토콜은 기본 암호 인증, OAuth 2.0, JWT, JWT 토큰 교환 및 AWS Signature 버전 4를 포함합니다. 조직 전체 명명된 주체를 사용하거나 사용자별 인증을 사용하도록 각각 레거시 명명된 자격 증명을 설정할 수 있습니다. 명명된 주체는 전체 조직의 동일한 자격 증명 또는 인증 구성에 적용되는 반면 사용자별 인증은 개별 사용자 수준의 액세스 제어를 제공합니다.

콜아웃 정의에서 레거시 명명된 자격 증명을 참조하려면 레거시 명명된 자격 증명 URL 을 사용합니다. 레거시 명명된 자격 증명 URL에 callout: 체계, 레거시 명명된 자격 증명의 이름 및 선택적 경로가 포함됩니다. 예를 들어, 다음과 같습니다. callout:My_Named_Credential/some_path

레거시 명명된 자격 증명 URL에 쿼리 문자열을 추가할 수 있습니다. 레거시 명명된 자격 증명 URL과 쿼리 문자열 사이에 구분 기호로 물음표(?)를 사용합니다. 예를 들어, 다음과 같습니다. callout:My_Named_Credential/some_path?format=json.

노트
노트

헬스케어 데이터 또는 신용카드 데이터와 같은 민감한 정보를 전송하는 경우, 인증을 거친 레거시 명명된 자격 증명이 필요합니다. 민감한 데이터 전송에 대한 추가 보안을 위해 고객이 자체적인 인증서를 제공하도록 권유합니다.

예
다음 Apex 코드에서는 레거시 명명된 자격 증명과 추가된 경로가 콜아웃의 끝점을 지정합니다.
HttpRequest req = new HttpRequest();
req.setEndpoint('callout:My_Named_Credential/some_path');
req.setMethod('GET');
Http http = new Http();
HTTPResponse res = http.send(req);
System.debug(res.getBody());
참조한 레거시 명명된 자격 증명이 끝점 URL과 인증 설정을 지정합니다.
명명된 자격 증명 세부 사항 페이지

암호 인증 대신 OAuth를 사용하는 경우 Apex 코드가 동일하게 유지됩니다. 인증 설정은 조직에 정의된 인증 공급자를 참조하는 레거시 명명된 자격 증명에 따라 다릅니다.

OAuth 옵션을 이용한 명명된 자격 증명 인증 설정

반대로, 레거시 명명된 자격 증명이 없는 상태로 표시되는 Apex 코드를 확인해 봅니다. 기본 암호 인증을 사용해도 인증을 처리하기 위해 코드가 더 복잡해집니다. OAuth 코딩은 훨씬 더 복잡하며 레거시 명명된 자격 증명에 사용하는 것이 좋습니다.

HttpRequest req = new HttpRequest();
req.setEndpoint('https://my_endpoint.example.com/some_path');
req.setMethod('GET');

// Because we didn't set the endpoint as a legacy named credential, 
// our code has to specify:
// - The required username and password to access the endpoint
// - The header and header information
 
String username = 'myname';
String password = 'mypwd';
  
Blob headerValue = Blob.valueOf(username + ':' + password);
String authorizationHeader = 'BASIC ' +
EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);
   
// Create a new http object to send the request object
// A response object is generated as a result of the request  
  
Http http = new Http();
HTTPResponse res = http.send(req);
System.debug(res.getBody());
  • 레거시 명명된 자격 증명 정의
    레거시 명명된 자격 증명을 생성하여 콜아웃 끝점의 URL 및 필수 인증 매개 변수를 하나의 정의로 지정할 수 있습니다. 그런 다음 Salesforce가 모든 인증을 처리할 수 있도록 레거시 명명된 자격 증명을 콜아웃 끝점으로 지정할 수 있습니다. 또한 레거시 명명된 자격 증명에 정의된 사이트에 대해 원격 사이트 설정을 건너뛸 수 있으며, 그렇지 않으면 외부 사이트에 대한 콜아웃에 이를 수행해야 합니다.
  • 레거시 명명된 자격 증명의 인증 설정에 대한 액세스 권한 부여
    사용자 단위 인증을 사용하는 레거시 명명된 자격 증명에 대해 권한 집합 및 프로필을 통해 사용자에게 액세스 권한을 부여할 수 있습니다. 이를 수행하면 사용자가 외부 시스템에 액세할 수 있는 고유한 인증 설정을 설정하고 관리할 수 있습니다.
 
로드 중
Salesforce Help | Article