4단계: Portal의 프록시 서비스에 Azure용 API 통합 연결하기¶
외부 함수가 호출되면 Snowflake는 HTTP POST 명령을 프록시 서비스(즉, Azure API Management 서비스)로 보내고, 이 서비스는 POST를 원격 서비스(즉, Azure Functions)로 릴레이합니다. Azure AD tenant의 서비스 주체는 Snowflake가 tenant에서 API Management 서비스를 호출할 때 Azure AD로 인증하도록 허용합니다.
이 항목에서는 이전 단계에서 만든 API 통합을 Azure API Management 서비스와 연결하기 위한 서비스 사용자를 생성하는 지침을 제공합니다. Azure Portal을 사용하든 ARM 템플릿을 사용하든 관계없이 지침은 동일합니다.
서비스 사용자에 대한 자세한 내용은 Microsoft 설명서: 애플리케이션 및 서비스 사용자 를 참조하십시오.
이 항목의 내용:
이전 단계¶
API 통합을 위한 앱 이름 및 승인 URL 가져오기¶
서비스 주체를 만들기 전에 API 통합에 대한 몇 가지 정보가 필요합니다.
Snowflake 웹 인터페이스에 아직 로그인하지 않았다면 로그인하십시오.
이전 단계에서 만든 API 통합에 대한 DESCRIBE INTEGRATION 명령을 실행합니다.
describe api integration <integration_name>;
DESCRIBE 결과에서 다음을 수행합니다.
추적 워크시트의 해당 필드에 (AZURE_MULTI_TENANT_APP_NAME 열에서) 앱 이름을 기록합니다.
추적 워크시트의 해당 필드에 (AZURE_CONSENT_URL 열에서) 승인 URL을 기록합니다.
URL은 다음과 비슷한 형태입니다.
https://login.microsoftonline.com/<tenant_id>/oauth2/authorize?client_id=<snowflake_application_id>&response_type=code
Azure 테넌시에 Snowflake 액세스 권한 부여하기¶
Snowflake에 Azure 테넌시에 액세스할 권한을 부여하려면 이전에 기록한 AZURE_CONSENT_URL이 필요합니다.
URL을 브라우저에 붙여넣습니다. 브라우저에서 이 URL을 확인하면 Azure가 테넌트에서 Snowflake를 나타내는 서비스 사용자를 자동으로 만듭니다.
Snowflake의 서비스 사용자는 테넌시당 한 번만 만들면 됩니다. Snowflake에 액세스 권한을 부여한 후에는 액세스 권한을 다시 부여할 필요가 없습니다. 달리 말해, Azure를 위해 만드는 각각의 새 외부 함수에 대해 다시 액세스 권한을 부여할 필요가 없습니다.
Azure 테넌시에 대한 액세스 권한을 Snowflake에 이미 부여한 경우 Snowflake 웹 사이트가.나타나면서 SNOWFLAKE THE CLOUD DATA PLATFORM 과 비슷한 것이 표시될 것입니다. 그러면 나머지 작업은 건너뛰고 5단계: Snowflake에서 Azure를 위한 외부 함수 만들기 로 진행할 수 있습니다.
Snowflake에 액세스 권한을 아직 부여하지 않은 경우 Microsoft Permissions requested 페이지가 표시되는데, 다음 작업으로 계속 진행해야 합니다.
Accept 버튼을 클릭합니다. 이를 통해 Snowflake 계정에 대해 생성된 Azure 서비스 사용자가 Azure AD 테넌트 내부의 모든 리소스에 대한 액세스 토큰을 얻을 수 있습니다.
이제 Snowflake를 나타내기 위해 tenant에서 서비스 주체 만들기를 마쳤습니다.
하지만 보안을 강화하려면 승인된 클라이언트만 Azure 함수에 액세스할 수 있도록 해야 합니다. 액세스 제어에 대한 지침은 만들기 프로세스의 최종 단계에서 제공됩니다.