앱 사양으로 보안 통합 요청하기¶
이 항목에서는 앱 사양을 사용하여 컨슈머 계정의 보안 통합에 대한 액세스를 요청하도록 |native-app|을 구성하는 방법에 대해 설명합니다. 보안 통합을 통해 앱은 OAuth와 같은 서드 파티 인증 공급자에 연결할 수 있습니다.
앱에서 서드 파티 인증 공급자에 액세스하기¶
서드 파티 인증 서비스를 구현하기 위해 Snowflake는 보안 통합을 제공합니다. 보안 통합을 통해 앱은 OAuth과 같은 서드 파티 인증 서비스에 연결할 수 있습니다.
참고
|native-apps|에서는
API_AUTHENTICATION유형의 보안 통합만 지원합니다. 자세한 내용은 CREATE SECURITY INTEGRATION(External API 인증) 섹션을 참조하십시오.
보안 통합을 위한 앱 사양 워크플로¶
보안 통합을 사용하도록 앱을 구성하는 일반적인 워크플로는 다음과 같습니다.
공급자는 앱에 대한 권한 자동 부여 를 구성합니다. 이를 통해 앱에 보안 통합을 생성할 수 있는 권한이 부여됩니다.
참고
앱 사양에 따라 매니페스트 파일을
manifest_version = 2로 설정해야 합니다.공급자는 매니페스트 파일에 CREATE INTEGRATION 권한을 추가합니다.
공급자는 설정 스크립트에 SQL 문을 추가하여 필요에 따라 다음 오브젝트를 만듭니다.
공급자는 앱이 설치될 때 이러한 오브젝트가 생성되도록 설정 스크립트에 이러한 명령을 직접 추가할 수 있습니다. 또는 이러한 명령을 런타임 시 호출되는 저장 프로시저에 추가하여 해당 오브젝트를 생성할 수 있습니다.
컨슈머는 앱 구성 시 OAuth 통합과 관련된 정보를 승인합니다. 컨슈머가 앱 사양을 보고 승인하는 방법에 대한 자세한 내용은 앱 사양을 사용하여 외부 리소스 연결 승인 섹션을 참조하세요.
보안 통합을 위한 앱 사양 정의¶
보안 통합을 위해, :ref:`앱 사양 정의<label-native_apps_app_spec_definition>`에는 서드 파티 공급자에 연결하는 데 필요한 정보가 포함되어 있습니다. OAuth의 경우 앱 사양 정의는 OAuth 유형에 따라 다릅니다. 다음 테이블에는 각 유형에 대한 앱 사양 정의가 나와 있습니다.
보안 통합 유형 |
앱 사양에서 정의된 값 |
|---|---|
|
|
|
|
|
|
매니페스트 파일의 버전 설정하기¶
앱에 대한 권한을 자동으로 부여하려면 다음 예제와 같이 매니페스트 파일의 시작 부분에 버전을 설정합니다.
manifest_version: 2
매니페스트 파일에 CREATE INTEGRATION 권한 추가하기¶
앱이 보안 통합을 생성하도록 허용하려면 다음 예와 같이 매니페스트 파일에 대한 CREATE INTEGRATION 권한을 추가합니다.
manifest_version: 2
...
privileges:
- CREATE INTEGRATION
description: "Allows the app to create security integrations to access external auth providers"
...
매니페스트 파일의 privileges 섹션에 있는 이 항목은 앱이 보안 통합을 사용하도록 지정합니다. 앱이 권한 부여를 자동화하려면 매니페스트 파일에 ``manifest_version: 2``도 있어야 합니다.
설정 스크립트에 보안 통합 추가¶
보안 통합을 통해 앱은 OAuth과 같은 서드 파티 인증 서비스에 연결할 수 있습니다. 앱에 대한 보안 통합을 생성하려면 다음 예제와 같이 설정 스크립트에 CREATE SECURITY INTEGRATION(External API 인증) 명령을 추가합니다.
CREATE SECURITY INTEGRATION external_oauth_provider
TYPE = API_AUTHENTICATION
AUTH_TYPE = OAUTH2
OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST
OAUTH_CLIENT_ID = 'YOUR_CLIENT_ID'
OAUTH_CLIENT_SECRET = 'YOUR_CLIENT_SECRET'
OAUTH_GRANT = 'CLIENT_CREDENTIALS'
OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default')
ENABLED = TRUE;
이 예제는 클라이언트 자격 증명과 OAuth를 사용하여 Microsoft SharePoint에 연결하는 보안 통합을 생성하는 방법을 보여줍니다. OAuth 공급자에 연결하는 다른 지원되는 방법에 대해서는 CREATE SECURITY INTEGRATION(External API 인증) 섹션을 참조하세요.
보안 통합을 위한 앱 사양 만들기¶
다음 예제는 CLIENT_CREDENTIALS OAuth 유형을 사용하여 보안 통합을 위한 앱 사양을 만드는 방법을 보여줍니다.
ALTER APPLICATION SET SPECIFICATION oauth_app_spec
TYPE = SECURITY_INTEGRATION
LABEL = 'Connection to an external OAuth provider'
DESCRIPTION = 'Integrates an external identity provider in the app'
OAUTH_TYPE = 'CLIENT_CREDENTIALS'
OAUTH_TOKEN_ENDPOINT = 'https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token'
OAUTH_ALLOWED_SCOPES = ('https://graph.microsoft.com/.default');
참고
앱 사양을 생성할 때 제공하는 값은 설정 스크립트에서 보안 통합을 생성 할 때 사용하는 값과 동일해야 합니다.
다른 OAuth 유형을 사용하는 방법에 대한 내용은 ALTER APPLICATION SET SPECIFICATIONS 섹션을 참조하세요.
컨슈머 계정에서 앱 사양 승인하기¶
공급자가 보안 통합 및 앱 사양을 생성하도록 앱을 구성한 후 컨슈머는 앱 사양을 보고 앱을 구성할 때 필요에 따라 앱 사양을 승인하거나 거부할 수 있습니다. 자세한 내용은 앱 사양을 사용하여 외부 리소스 연결 승인 섹션을 참조하십시오.