A son plus haut niveau, le système de sécurité est composé d'un domaine d'authentification, d'un domaine d'autorisation, de rôles et d'équipes. Le domaine d'authentification vérifie l'identité de l'utilisateur ou du système qui tente de se connecter à IBM UrbanCode Release. Le domaine d'autorisation gère les groupes d'utilisateur. Les rôles gèrent les droits. Les équipes associent des utilisateurs à des rôles et à des zones sécurisées du produit.
Un bon point de départ pour comprendre le système de sécurité basé sur des équipes consiste à vous familiariser avec les droits. IBM UrbanCode Release utilise le terme droit dans le sens familier à la plupart des utilisateurs : chaque droit contrôle l'accès à une zone ou à une fonction du produit. La plupart des droits se rapportent à des activités courantes telles que création, lecture, mise à jour et suppression. Les droits définissent ce qui peut être fait et non pas qui peut le faire.
Une zone du produit sur laquelle sont définis des droits est désignée sous le nom type de sécurité. Chaque type de sécurité est associé à un ensemble de droits qui déterminent les possibilités d'interaction des utilisateurs. Le type sécurité d'édition, comme son nom l'indique, désigne un ensemble de droits qui déterminent les possibilités d'interaction de l'utilisateur avec les éditions. Voir Types de sécurité.
Un rôle est un ensemble de droits attribués. La définition d'un rôle consiste à octroyer des droits pour tous les types de sécurité affectés par le rôle. Un rôle du type développeur pourrait disposer de droits lui permettant de créer des éditions, mais non pas de configurer la sécurité pour d'autre rôles. Vous avez toute latitude quant au nombre de rôles que vous créez et leurs fonctions. Tel que livré, IBM UrbanCode Release fournit déjà plusieurs rôles, tels que le rôle Admin, que vous pouvez modifier à votre guise.
Point important, le rôle lui-même ne concède pas ses droits à un utilisateur donné. Comme les droits, les rôles définissent ce qui peut être fait et non pas par qui. Les rôles et les droits associés sont attribués à l'utilisateur de par son appartenance à des équipes.
Une équipe est une construction qui associe des utilisateurs ou des groupes à des rôles. Lorsqu'un utilisateur est ajouté à une équipe, cette personne est affectée à un rôle ; des utilisateurs ne peuvent pas être affectés à une équipe à laquelle n'est pas attribué un rôle. Les membres du rôle se voient automatiquement accorder tous les droits définis pour ce rôle. Des groupes peuvent également être ajoutés à des rôles, auquel cas tous les membres du groupe héritent automatiquement des droits définis pour ce rôle.
Lorsqu'une équipe est créée, tous les utilisateurs et tous les groupes sont disponibles pour leur affectation à cette équipe et tous les rôles peuvent être utilisés. Un même utilisateur peut être affecté à plusieurs rôles. Si un utilisateur est affecté à un rôle qui lui octroie un droit spécifique et à un autre rôle qui ne lui octroie pas ce droit, l'utilisateur est considéré disposer de ce droit.
Les équipes permettent de sécuriser les ressources. Pour sécuriser une édition, par exemple, une équipe lui est associée. Une fois sécurisée, seuls les membres d'une équipe affectée à un rôle avec les droits appropriés peuvent interagir avec l'édition.
Lorsqu'une édition est créée, une équipe doit lui être affectée. Une fois créée, seuls les membres de l'équipe peuvent interagir avec l'édition et ce uniquement dans le cadre des droits conférés. Par exemple, un membre d'une équipe dont le rôle ne l'autorise pas à éditer des segments ne peut pas modifier les segments de l'édition.
Le droit Editer les éditions a une caractéristique importante. Comme une équipe ne peut pas être affectée à une édition tant que celle-ci n'a pas été créée, les utilisateurs dotés de ce droit peuvent créer des éditions, tout comme modifier toute édition à laquelle leur équipe est affectée. La possibilité de créer des éléments tout comme de les modifier s'applique pour tous les droits de type éditer, et non pas seulement pour le droit Editer les éditions. Un utilisateur avec le droit Editer les segments, par exemple, peut créer des segments et modifier des segments existants.