Configurer l’accès externe pour Snowflake Notebooks¶
Lorsque vous travaillez avec des notebooks, vous pouvez être amené à appeler des services externes, qui nécessitent souvent des identifiants de connexion sensibles tels que les clés API. Pour assurer la sécurité des informations sensibles, vous pouvez utiliser des secrets gérés dans Snowflake au lieu de coder des identifiants en dur dans votre notebook.
Les Intégrations d’accès externe (EAI) sont configurées à l’aide de règles réseau et peuvent éventuellement utiliser des secrets Snowflake pour l’authentification.
Par défaut, Snowflake restreint le trafic réseau en provenance des points de terminaison externes. Pour accéder à des points de terminaison externes, procédez comme suit :
Créer une règle réseau.
Créez une intégration d’accès au réseau externe qui utilise la règle.
Créez un secret pour l’authentification (si nécessaire). Les secrets génériques sous forme de chaîne requièrent également une EAI.
Associez le secret à l’EAI.
Associez l’EAI et le secret au notebook.
Note
Les EAI et les règles réseau doivent être créées par un administrateur de l’organisation. Pour les privilèges requis, voir Exigences en matière de contrôle d’accès.
Configurer un notebook avec un accès externe et des secrets¶
Cet exemple de bout en bout montre comment configurer un notebook pour qu’il accède à l’API OpenAI à l’aide d’un secret de chaîne générique.
Note
Les secrets doivent être associés à la fois à l’intégration d’accès externe (EAI) et au notebook. Si un secret n’est associé qu’à l’un des deux, il ne sera pas accessible à partir du code du notebook.
Accéder au secret d’un notebook¶
Après avoir associé le secret au notebook, pour accéder à sa valeur dans le code du notebook, utilisez l’objet
st.secrets:
Exemples d’EAI supplémentaires¶
Ces exemples montrent comment mettre en place un accès externe pour les sites courants de science des données et de machine learning :
EAI pour PyPI¶
EAI pour Hugging Face¶
Accordez les privilèges USAGE nécessaires pour utiliser les intégrations d’accès externe¶
Une fois les EAI créées, accordez le privilège USAGE sur l’intégration aux rôles qui les utiliseront :
Le rôle utilisé pour créer le notebook doit avoir le privilège USAGE sur l’EAI. Accorder le privilège USAGE au rôle PUBLIC ne fonctionnera pas.
Activer les intégrations d’accès externe dans Snowsight¶
Après avoir créé et provisionné les EAI, redémarrez la session du notebook afin de voir les intégrations d’accès que vous avez créées dans le volet External Access.
Pour activer les intégrations à l’aide de Snowsight :
Autres exemples d’authentification¶
Jeton d’accès OAuth¶
Type de secret : GENERIC_STRING¶
Utilisez un secret GENERIC_STRING pour stocker une valeur unique, telle qu’une clé ou un jeton API.
Créez le secret :
Pour les secrets GENERIC_STRING, l’accès s’effectue par le biais d’un dictionnaire ou d’un attribut :
Type de secret : PASSWORD (exemple : GitHub Basic Auth)¶
Utilisez un secret PASSWORD pour stocker une paire nom d’utilisateur et mot de passe. Cette paire est souvent exigée pour l’authentification de base auprès d’AI externes.
Dans cet exemple, le notebook accède à l’API REST GitHub à l’aide d’un secret PASSWORD et d’une intégration d’accès externe.
Créez le secret :
Utilisez le secret dans le cadre d’une EAI :
Accédez au secret dans votre code :
Ressources supplémentaires¶
Pour une syntaxe détaillée, voir Aperçu de l’accès au réseau externe.
Pour plus d’informations sur l’utilisation de CREATE SECRET, voir Création d’un secret pour représenter les identifiants de connexion.
Pour des exemples supplémentaires d’EAIs, voir Exemples d’accès au réseau externe ou Configuration d’un accès externe pour Snowflake Notebooks sur Github.
