(Glue-2211) Snowflake Prerequisites

High-level summary of necessary steps (more details in Snowflake documentation):

SAP Basis/Infrastructure tasks:

SAP Basis team:

  1. Java Connector: https://datavard.atlassian.net/wiki/spaces/DATAVARD/pages/2229602754

    1. Creation of SNP_JAVA_CONN RFC:

      1. Connection type: TCP/IP Connection.

      2. Activation type: Registered Server Program.

      3. Fill in Program ID (e.g.): SNP_JAVA_CONNECTOR.

    2. Creation of Technical SAP user for ABAP->JCO RFC Communication:

      1. In transport, you are provided with a template role with name /DVD/JCORFC (if you will use this role, do not forget to generate the profile in transaction PFCG).

      2. Create System user, with role /DVD/JCORFC.

    3. Granting access for external program SNP_JAVA_CONN to SAP gateway

      1. Check SMGW > GoTo > Expert Functions > External Security > Maintenance of ACL files whether external programs are allowed (=* or ProgramID).

  2. Uploading Snowflake JDBC driver to the operating system of application serverCentral Repository: net/snowflake/snowflake-jdbc (recommendation is to use the newest version of the driver, for more information follow the documentation above)

Networking team:

  1. Enabling outbound communication from the SAP system to Snowflake

Port

Address

Port

Address

443

<account name>.<region>.<platform>.snowflakecomputing.com

443

ocsp.snowflakecomputing.com

 

Snowflake team:

  1. Snowflake storage: https://datavard.atlassian.net/wiki/spaces/DATAVARD/pages/2861236255

    1. Creation of Snowflake database, warehouse, and schema (refer to Snowflake Documentation)

    2. Creation of Snowflake technical role and user with necessary authorizations

      1. Recommended privilege for the Snowflake technical user is OWNERSHIP of the Snowflake database.

      2. Minimal requirements are:

        1. GRANT ALL ON DATABASE <DATABASE> TO ROLE <ROLE>

        2. GRANT USAGE ON WAREHOUSE <WAREHOUSE> TO ROLE <ROLE>

        3. GRANT ALL ON SCHEMA <SCHEMA> TO ROLE <ROLE>