Azure Logic Apps에서 워크플로를 사용하여 AS2 메시지 교환

적용 대상: Azure Logic Apps(사용량 + 표준)

Azure Logic Apps를 사용하여 만든 워크플로에서 AS2 메시지를 보내고 받으려면 AS2 통신을 지원하고 관리하는 작업을 제공하는 AS2(v2) 커넥터를 사용할 수 있습니다. 추적 기능이 필요한 경우 원래 AS2 커넥터를 계속 사용할 수 있지만 더 이상 사용되지 않습니다.

추적 기능을 제외하고 AS2(v2) 커넥터는 원래 AS2 커넥터와 동일한 기능을 제공하고, 기본적으로 Azure Logic Apps 런타임에서 실행되며, 메시지 크기, 처리량 및 대기 시간에서 크게 향상된 성능을 제공합니다. 원래 AS2 커넥터와 달리 AS2(v2) 커넥터에서는 통합 계정에 대한 연결을 만들 필요가 없습니다. 대신, 필수 조건에 설명된 대로 커넥터를 사용하려는 논리 앱 리소스에 통합 계정을 연결해야 합니다.

이 방법 가이드에서는 기존 논리 앱 워크플로에 AS2 인코딩 및 디코딩 작업을 추가하는 방법을 보여 줍니다. AS2(v2) 커넥터에는 트리거가 포함되지 않으므로 트리거를 사용하여 워크플로를 시작할 수 있습니다. 이 가이드의 예에서는 요청 트리거를 사용합니다.

커넥터 기술 참조

AS2 커넥터에는 논리 앱 유형 및 호스트 환경에 따라 여러 버전이 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps AS2(v2)AS2 관리형 커넥터(표준 클래스) AS2(v2) 커넥터는 작업만 제공하지만 시나리오에 맞는 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 검토하세요.

- AS2 관리형 커넥터 참조
- AS2(v2) 관리형 커넥터 작업
- AS2 메시지 제한
소비 ISE(통합 서비스 환경) AS2(v2)AS2 관리형 커넥터(표준 클래스) 및 AS2 ISE 버전(표준 클래스와 다른 메시지 한도가 있음). AS2(v2) 커넥터는 작업만 제공하지만 시나리오에 맞는 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 검토하세요.

- AS2 관리형 커넥터 참조
- AS2(v2) 관리형 커넥터 작업
- AS2 메시지 제한
Standard 단일 테넌트 Azure Logic Apps 및 App Service Environment v3(Windows 플랜만 해당) AS2(v2) 기본 제공 커넥터 및 AS2 관리형 커넥터. 기본 제공 버전은 다음과 같은 차이점이 있습니다.

- 기본 제공 버전은 작업만 제공하지만 시나리오에 맞는 트리거를 사용할 수 있습니다.

- 기본 제공 버전은 Azure 가상 네트워크에 직접 액세스할 수 있습니다. 온-프레미스 데이터 게이트웨이가 필요하지 않습니다.

자세한 내용은 다음 설명서를 검토하세요.

- AS2 관리형 커넥터 참조
- AS2(v2) 기본 제공 커넥터 작업
- AS2 메시지 제한

AS2(v2) 작업

AS2(v2) 커넥터에는 트리거가 없습니다. 다음 표에서는 AS2(v2) 커넥터에서 메시지를 전송할 때 보안 및 안정성을 설정하기 위해 제공하는 작업에 대해 설명합니다.

작업 설명
AS2 인코딩 작업 부인 방지를 지원하는 MDN(메시지 처리 알림)을 통해 암호화, 디지털 서명 및 승인을 제공합니다. 예를 들어 이 작업은 AS2/HTTP 헤더를 적용하고 구성되는 경우 다음 태스크를 수행합니다.

- 나가는 메시지에 서명합니다.
- 나가는 메시지를 암호화합니다.
- 메시지를 압축합니다.
- MIME 헤더의 파일 이름을 전송합니다.
AS2 디코딩 작업 MDN(메시지 처리 알림)을 통해 암호 해독, 디지털 서명 및 승인을 제공합니다. 예를 들어 이 작업은 구성되는 경우 다음 태스크를 수행합니다.

- AS2/HTTP 헤더를 처리합니다.
- 수신된 MDN을 원본 아웃바운드 메시지와 조정합니다.
- 부인 방지 데이터베이스의 기록을 업데이트하고 상관 관계를 지정합니다.
- AS2 상태 보고에 대한 레코드를 작성합니다.
- 페이로드 콘텐츠를 base64 인코딩으로 출력합니다.
- MDN이 필요한지 여부를 결정합니다. AS2 규약에 따라 MDN이 동기인지 아니면 비동기인지를 결정합니다.
- AS2 규약에 따라 동기 또는 비동기 MDN을 생성합니다.
- MDN에 대한 상관 관계 토큰 및 속성을 설정합니다.
- 서명을 확인합니다.
- 메시지를 암호 해독합니다.
- 메시지의 압축을 풉니다.
- 메시지 ID 중복을 확인하고 허용하지 않습니다.

필수 조건

  • Azure 계정 및 구독 아직 구독이 없는 경우 Azure 체험 계정에 가입합니다.

  • AS2 작업을 사용하려는 논리 앱 리소스 및 워크플로.

  • 엔터프라이즈 통합 및 B2B 워크플로에서 사용할 아티팩트를 정의하고 저장하는 통합 계정 리소스

    • 통합 계정과 논리 앱 리소스는 모두 동일한 Azure 구독 및 Azure 지역에 있어야 합니다.

    • 워크플로에 사용되는 AS2 작업에 참여하는 두 개 이상의 거래 파트너를 정의합니다. 두 거래 업체에 대한 정의는 이 시나리오에서 AS2Identity인 동일한 비즈니스 ID 한정자를 사용해야 합니다.

    • 워크플로에 참여하는 거래 파트너 간의 AS2 계약을 정의합니다. 각 규약에는 호스트 거래 업체와 게스트 거래 업체가 필요합니다. 사용자와 다른 파트너 간의 메시지 내용은 계약 형식과 일치해야 합니다. 메시지 수신 및 전송 시 사용할 계약 설정에 대한 자세한 내용은 AS2 메시지 설정을 참조하세요.

  • 사용량 또는 표준 논리 앱 워크플로에서 작업하는지 여부에 따라 통합 계정에 대한 링크가 논리 앱 리소스에 필요할 수 있습니다.

    논리 앱 워크플로 링크가 필요한지 여부
    소비 - AS2(v2) 커넥터: 연결이 필요하지만 링크는 필요하지 않음
    - AS2 커넥터: 링크가 필요하지만 연결은 필요하지 않음
    Standard - AS2(v2) 커넥터: 링크가 필요하지만 연결은 필요하지 않음
    - AS2 커넥터: 연결이 필요하지만 링크는 필요하지 않음
  • 인증서 관리에 Azure Key Vault를 사용하는 경우 자격 증명 모음 키에서 암호화암호 해독 작업을 허용하는지 확인합니다. 그렇지 않으면 인코딩 및 디코딩 작업이 실패합니다.

    1. Azure Portal에서 키 자격 증명 모음을 엽니다. 키 자격 증명 모음 메뉴의 설정에서 를 선택합니다.

    2. 창에서 키를 선택합니다. 버전 창에서 사용 중인 키 버전을 선택합니다.

    3. 키 버전 창의 허용된 작업에서 암호화암호 해독 작업이 선택되어 있는지 확인합니다. 예를 들면 다음과 같습니다.

      Screenshot showing the Azure portal with the key vault, key, and key version panes open, which has the

AS2 메시지 인코딩

사용량 또는 표준 논리 앱 워크플로에 대한 탭을 선택합니다.

AS2 v2 커넥터

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 AS2 인코딩이라는 이름의 AS2(v2) 작업을 워크플로에 추가합니다.

  3. 작업 정보 상자에서 다음 정보를 제공합니다.

    속성 필수 설명
    인코딩할 메시지 메시지 페이로드(예: 요청 트리거의 본문 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 인코딩할 메시지 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 본문을 선택합니다.
    AS2 보낸 사람 AS2 규약에서 지정한 메시지 보낸 사람의 비즈니스 식별자입니다(예: Fabrikam).
    AS2 받는 사람 AS2 규약에서 지정한 메시지 받는 사람의 비즈니스 식별자(예: Contoso)입니다.

    Screenshot showing the

AS2 커넥터

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 AS2 메시지로 인코딩이라는 AS2 작업을 워크플로에 추가합니다.

  3. 통합 계정에 대한 연결을 만들라는 메시지가 표시되면 다음 정보를 제공합니다.

    속성 필수 설명
    연결 이름 연결의 이름
    통합 계정 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다.

    예시:

    Screenshot showing Consumption workflow and

  4. 완료되면 만들기를 선택합니다.

  5. 작업 정보 상자에서 다음 정보를 제공합니다.

    속성 필수 설명
    AS2 보낸 사람 AS2 규약에서 지정한 메시지 보낸 사람의 비즈니스 식별자입니다(예: Fabrikam).
    AS2 받는 사람 AS2 규약에서 지정한 메시지 받는 사람의 비즈니스 식별자(예: Contoso)입니다.
    body 인코딩할 메시지 페이로드(예: 요청 트리거의 본문 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 본문 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 본문을 선택합니다.

    Screenshot showing the

AS2 메시지 디코딩

사용량 또는 표준 논리 앱 워크플로에 대한 탭을 선택합니다.

AS2 v2 커넥터

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 AS2 디코딩이라는 이름의 AS2(v2) 작업을 워크플로에 추가합니다.

  3. 작업 정보 상자에서 다음 정보를 제공합니다.

    속성 필수 설명
    body 디코딩할 메시지의 본문(예: 요청 트리거의 본문 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 본문 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 본문을 선택합니다.
    헤더 디코딩할 메시지의 헤더(예: 요청 트리거의 헤더 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 헤더 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 헤더를 선택합니다.

    예시:

    Screenshot showing the

AS2 커넥터

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 AS2 메시지 디코딩이라는 AS2 작업을 워크플로에 추가합니다.

  3. 통합 계정에 대한 연결을 만들라는 메시지가 표시되면 다음 정보를 제공합니다.

    속성 필수 설명
    연결 이름 연결의 이름
    통합 계정 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다.

    예시:

    Screenshot showing Consumption workflow and

  4. 완료되면 만들기를 선택합니다.

  5. 작업 정보 상자에서 다음 정보를 제공합니다.

    속성 필수 설명
    body 메시지 페이로드(예: 요청 트리거의 본문 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 본문 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 본문을 선택합니다.
    헤더 디코딩할 메시지의 헤더(예: 요청 트리거의 헤더 출력)입니다.

    1. 동적 콘텐츠 목록이 열리도록 커서를 헤더 상자에 놓습니다.
    2. HTTP 요청을 수신하는 경우 섹션 이름 옆에 있는 자세히 보기를 선택합니다.
    3. 출력 목록에서 헤더를 선택합니다.

    Screenshot showing the

예제

완전히 작동하는 논리 앱 및 샘플 AS2(v2) 시나리오를 배포하려면 AS2(v2) 논리 앱 템플릿 및 시나리오를 참조하세요.

문제 해결

  • 서명되거나 암호화된 메시지를 보낼 때 발생하는 문제

    다른 SHA256 알고리즘 형식을 사용해 보세요. AS2 사양은 SHA256 형식에 대한 정보를 제공하지 않으므로 각 공급자는 고유한 구현 또는 형식을 사용합니다.

다음 단계