Mappage d'éléments de portée

Mappez des éléments de portée personnalisés à des contrôles de sécurité afin de définir une logique de sécurité propre à l'application.

Pourquoi et quand exécuter cette tâche

Une portée OAuth se compose de zéro, un ou plusieurs éléments de portée, et chaque élément de portée est mappé à zéro, un ou plusieurs contrôles de sécurité (voir Portées et contrôles de sécurité OAuth). Vous pouvez définir des éléments de portée personnalisés pour votre application, qui sont mappés à des contrôles de sécurité prédéfinis ou personnalisés disponibles pour l'application.

Le mappage de la portée d'application présente de nombreux avantages.
  • Accédez à la même ressource depuis plusieurs applications et personnalisez la logique d'autorisation de chaque application en utilisant des mappages différents pour les mêmes éléments de portée de la portée de protection de la ressource.
  • Réutilisez la même portée obligatoire depuis plusieurs applications et personnalisez la logique d'autorisation de chaque application en utilisant des mappages différents des éléments de portée contenus. Voir Configuration d'une portée d'application obligatoire.
  • Modifiez dynamiquement la logique d'autorisation de l'application en changeant les mappages d'élément de portée. Par exemple, vous pouvez définir un élément de portée vide et le remapper à un nouveau contrôle de sécurité lorsque le contrôle devient disponible.

Procédure

Mappez des éléments de portée à des contrôles de sécurité en appliquant l'une des autres méthodes suivantes :
  • Dans IBM MobileFirst Platform Operations Console (la console)
    1. Sélectionnez la version de votre application dans la section Applications de la barre latérale de navigation de la console, puis sélectionnez l'onglet Sécurité de l'application.
    2. Dans la section Mappage d'éléments de portée, sélectionnez Ajouter à la portée.
    3. Dans la boîte de dialogue Ajout d'un nouveau mappage d'élément de portée, indiquez un nom pour le nouvel élément, ne sélectionnez pas de contrôle de sécurité ou sélectionnez-en un ou plus auxquels mapper l'élément, puis sélectionnez Ajouter. Un tableau de mappage de portée qui reflète votre configuration est affiché dans la section Mappage d'éléments de portée de l'onglet Sécurité.
      Répétez cette étape si nécessaire pour mapper d'autres éléments de portée.

    Vous pouvez supprimer ou éditer un élément de portée défini en sélectionnant l'icône d'action appropriée pour cet élément dans le tableau des mappages de portée de l'application.

  • Edition du fichier descripteur d'application
    1. Créez une copie locale du fichier JSON du descripteur d'application. Voir Configuration d'application.
    2. Editez votre copie locale afin de définir un objet scopeElementMapping. Dans cet objet, définissez des paires de données composées du nom de l'élément de portée que vous avez sélectionné et d'une chaîne de zéro, un ou plusieurs contrôles de sécurité séparés par un espace auxquels l'élément est mappé. Remplacez ElémentPortée<n> et ContrôleSécurité<n> par les noms de l'élément de portée et du contrôle de sécurité appropriés :
      "scopeElementMapping": {
          "ElémentPortée1": "[ContrôleSécurité1 ContrôleSécurité2 ...]",
          ["ElémentPortée2": "[ContrôleSécurité1 ContrôleSécurité2 ...]"
          ...]
      }
      Par exemple, le code suivant mappe deux éléments de portée :
      1. L'élément de portée UserAuth est mappé à un contrôle de sécurité UserAuthentication personnalisé.
      2. L'élément de portée SSOUserValidation est mappé au contrôle de sécurité LtpaBasedSSO prédéfini et à un contrôle de sécurité CredentialsValidation personnalisé.
      "scopeElementMapping": {
          "UserAuth": "UserAuthentication",
          "SSOUserValidation": "LtpaBasedSSO CredentialsValidation"
      }
    3. Déployez votre copie du fichier JSON du descripteur d'application sur le serveur MobileFirst Server. Voir Configuration d'application.

    Vous pouvez éditer cette définition à tout moment, si nécessaire. Afin de supprimer tous les mappages d'élément de portée pour votre application, créez une nouvelle copie du fichier descripteur de l'application, supprimez l'objet scopeElementMapping, et redéployez le fichier descripteur sur le serveur.

Résultats

Une fois que vous avez mappé un ou plusieurs éléments de portée, les éléments de portée que vous avez définis s'affichent dans le tableau Mappage d'éléments de portée dans la page de la console Sécurité de l'application. De plus, la définition de propriété de mappage d'élément est affichée dans le descripteur d'application : dans la console, accédez à l'onglet Fichiers de configuration de l'application. La section Fichier JSON du descripteur d'application affiche une copie du fichier JSON du descripteur d'application. Recherchez la définition de propriété scopeElementMapping dans ce fichier. Cet objet de définition contient une ou plusieurs paires de données nom-valeur au format suivant :
"ElémentPortée": "[ContrôleSécurité1 ContrôleSécurité2 ...]"
Par exemple, le code suivant mappe deux éléments de portée :
  1. L'élément de portée UserAuth est mappé à un contrôle de sécurité UserAuthentication personnalisé.
  2. L'élément de portée SSOUserValidation est mappé au contrôle de sécurité LtpaBasedSSO prédéfini et à un contrôle de sécurité CredentialsValidation personnalisé.
"scopeElementMapping": {
    "UserAuth": "UserAuthentication",
    "SSOUserValidation": "LtpaBasedSSO CredentialsValidation"
}