IBM Cloud Docs
FAQ pour App ID

FAQ pour App ID

Cette foire aux questions fournit des réponses aux questions courantes sur le service IBM Cloud® App ID.

Pourquoi dois-je indiquer mon URI de redirection ?

Un URI de redirection est le noeud final de rappel de votre application. Lorsque vous avez autorisé votre URI, vous donnez à App ID votre accord pour envoyer vos utilisateurs à cet emplacement. Lors de l'exécution, App ID valide l'URI par rapport à votre liste d'utilisateurs avant de rediriger l'utilisateur. Ce processus peut aider à prévenir les attaques d'hameçonnage et réduit la possibilité qu'un pirate ou agresseur informatique soit en mesure d'accéder aux jetons de votre utilisateur. Pour plus d'informations sur les URI de redirection, voir Ajout d'URI de redirection.

N'incluez pas de paramètres de requête dans votre URL. Ils sont ignorés lors du processus de validation. Exemple d'URL : http://host:[port]/path

Fonctionnement du chiffrement dans App ID

Consultez le tableau ci-dessous pour obtenir des réponses aux questions fréquemment posées sur le chiffrement.

Questions fréquemment posées sur la manière dont App ID gère le cryptage
Question Réponse
Pourquoi utilisez-vous le chiffrement ? Une façon de protéger l'information de nos utilisateurs est de crypter les données des clients au repos et en transit. Le service chiffre les données client au repos avec des clés pour chaque titulaire et impose TLS 1.2+ dans tous les segments de réseau.
Quels sont les algorithmes utilisés dans App ID ? Le service utilise les algorithmes AES et SHA-256 associés au salage.
Utilisez-vous des fournisseurs ou des modules de chiffrement publics ou open source ? Vous arrive-t-il d'exposer les fonctions de chiffrement ? Le service utilise des bibliothèques Java avax.crypto mais n'expose jamais les fonctions de chiffrement.
Comment sont stockées les clés ? Les clés sont générées, chiffrées avec une clé principale spécifique à chaque région, puis stockées localement. Les clés principales sont stockées dans Key Protect. Chaque région dispose de sa propre clé racine de confiance stockée dans Key Protect, dont la sauvegarde est assurée par HSM. Chaque instance de service (titulaire) possède son propre chiffrement de données et ses clés de signature de jeton, chiffrées à l'aide de la clé racine de confiance de la région.
Quel niveau de chiffrement de la clé utilisez-vous ? Le service utilise un niveau de chiffrement de 16 octets.
Appelez-vous des API distantes qui exposent les fonctions de chiffrement Non, nous ne le faisons pas

Quelle synchronisation d'horloge App ID utilise ?

App ID s'exécute dans IBM Cloud, qui utilise un serveur NTP interne : servertime.service.softlayer.com.

La synchronisation de votre application avec la source de temps de App ID dépend de l'environnement que vous utilisez pour exécuter votre application.

  • Si votre application s'exécute dans IBM Cloud Classic Infrastructure, définissez vos serveurs NTP sur servertime.service.softlayer.com.
  • Si votre application s'exécute dans IBM Cloud VPC Infrastructure, définissez vos serveurs NTP sur time.adn.networklayer.com.
  • Si votre application n'est pas en cours d'exécution dans IBM Cloud, vous n'avez pas accès à ces serveurs d'heure. Dans ce cas, définissez vos serveurs NTP sur time-a.nist.gov ou time-b.nist.gov.

Quelle est la différence entre App ID et Keycloak ?

App ID et Keycloak peuvent tous deux être utilisés pour ajouter une authentification aux applications et pour sécuriser les services. La principale différence entre les deux offres réside dans leur conditionnement.

Keycloak est conditionné sous forme de logiciel, ce qui signifie que c'est vous, en tant que développeur, qui êtes chargé de la maintenance des fonctionnalités du produit après son téléchargement. Vous êtes responsable de l'hébergement, de la haute disponibilité, de la conformité, des sauvegardes, de la protection DDoS, de l'équilibrage de charge, des pare-feu Web, des bases de données, etc.

App ID est une offre entièrement gérée qui est fournie "en tant que service". Cela signifie que IBM prend en charge le fonctionnement du service, gère la conformité, la disponibilité dans plusieurs zones, l'accord SLA et plus encore. App ID possède également une expérience intégrée avec la plateforme IBM Cloud qui inclut des environnements d'exécution et des services natifs tels que Kubernetes Service, Cloud Functionset Activity Tracker.

Puis-je utiliser le même ID client dans plusieurs applications ?

Bien que techniquement _can_ utilise les mêmes données d'identification dans plusieurs applications, il est fortement recommandé de ne pas le faire pour plusieurs raisons. Principalement parce que lorsque vous partagez votre ID d'une application à une autre, tout type de piratage ou de mise en danger affecte votre environnement entier plutôt qu'une seule application. Par exemple, si vous utilisez votre ID dans trois applications et que l'une d'entre elle devient compromis, les trois applications sont alors compromises. Un pirate est capable d'usurper n'importe laquelle de vos applications. La seconde raison est que lorsque vous utilisez le même ID client dans plusieurs applications, il n'y a aucun moyen de différencier les applications. Par exemple, vous ne pouvez pas déterminer l'application qui a été utilisée pour générer un jeton.

Comment puis-je mettre à jour mon application afin d'utiliser une nouvelle instance de service sans perdre de données ?

Vous pouvez effectuer la migration des informations d'une instance d'App ID à une autre.

  1. Créez une instance du service.
  2. Dupliquez votre configuration de fournisseur d'identité à l'aide de l'interface graphique.
  3. Effectuez la migration de vos profils utilisateur. Les utilisateurs connus sont exportés sous forme d'objet JSON. Il est impossible d'effectuer la migration des utilisateurs anonymes. Vous pouvez opter pour l'importation de l'objet complet dans la nouvelle instance ou pour fragmenter l'objet en répartissant les utilisateurs à votre convenance si vous disposez de plusieurs instances. Pour Cloud Directory, voir Migration des utilisateurs. Pour les fournisseurs d'identité fédérée, procédez comme suit :
  4. Créez les données d'identification pour l'application qui seront utilisées pour appeler la nouvelle instance du service.
    1. Dans le tableau de bord de service, accédez à l'onglet Applications.
    2. Cliquez sur Ajouter une application et attribuez un nom à votre application. Ensuite, cliquez sur Sauvegarder.
    3. Cliquez sur Afficher les données d'identification dans le tableau et copiez la sortie.
    4. Collez vos nouvelles données d'identification dans votre application.
  5. Mettez à jour votre application pour utiliser ces nouvelles données d'identification y compris les URL éventuelles.
  6. Selon votre configuration, vous aurez peut-être à redéployer ou à annuler et rétablir la liaison à votre application.

App ID peut-il aider à configurer la déconnexion ?

Selon la façon dont vous configurez votre application, App ID peut fournir une fonctionnalité de déconnexion à vos utilisateurs. Consultez le tableau suivant pour voir où la fonctionnalité de déconnexion est disponible.

Options de déconnexion
Description
App ID SDK Les SDK App ID ont une fonctionnalité de déconnexion intégrée.
Connexion unique de l'annuaire Cloud[1] App ID fournit des fonctionnalités de déconnexion pour la fonction de connexion unique de l'annuaire Cloud.
Ingress Ingress fournit une fonctionnalité de déconnexion intégrée.
Istio L'adaptateur Istio est configuré avec une fonctionnalité de déconnexion via OIDC.

Configuration de la déconnexion

Pour configurer la déconnexion, vous devez configurer votre application pour envoyer une demande à votre fournisseur d'identité. Ensuite, pour rediriger l'utilisateur vers une zone de votre application qui ne nécessite pas d'authentification. Dans la plupart des cas d'utilisation, une session de serveur d'applications peut être définie par App ID SDKs, Ingress ou Istio, qui fonctionne en partenariat avec un fournisseur d'identité fédéré tel que SAML ou Cloud Directory pour activer l'authentification et l'autorisation.

Dans l'exemple HTML suivant, un SDK App ID est utilisé pour configurer la déconnexion. Si vous utilisez une autre option, vous pouvez utiliser ce fragment comme référence et le mettre à jour en fonction de vos besoins.

<script>
  var ticker = setInterval(tick, 1000);
  var counter = 5;
  function tick() {
    var timerDiv = document.getElementById("timer");
    if (counter > 0) {
      timerDiv.innerText = "Logged out. Redirecting back in " + (counter--) + " seconds.";
    } else {
      document.location = "./appid_logout";
    }
  } </script>
<iframe height="0" width="0" src="https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0"></iframe>

  1. Toutes les URL de redirection utilisées avec la fonction Cloud Directory SSO doivent être ajoutées à la liste d'autorisation de déconnexion URL dans l'interface utilisateur App ID. ↩︎