Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un rôle est un ensemble d’autorisations qui est attribué à un utilisateur. En plus des rôles de plateforme tels que network Administration, vous pouvez également créer des rôles personnalisés, qui ont uniquement l’ensemble des autorisations souhaitées.
La façon dont l’API accorde des autorisations à l’utilisateur consiste à accorder à un utilisateur l’accès aux ressources.
Cette page vous montre comment créer un rôle personnalisé à l’aide de l’API.
Étape 1 : Déterminer les ressources de rôle
Lors de la conception d’un rôle personnalisé, vous devez d’abord déterminer les ressources auxquelles le rôle aura accès. Par exemple, un rôle peut avoir accès à l’ID de ressource 157, "UI API Ad Profile Create", ce qui permet aux utilisateurs de ce rôle de créer des profils publicitaires.
Pour afficher la liste des ressources du système auxquelles les utilisateurs d’un membre peuvent potentiellement avoir accès, consultez Afficher les ressources système à l’aide de l’API.
Dans cet exemple, notre rôle personnalisé a accès aux ressources suivantes :
| ID | Role |
|---|---|
| 1 | API Yield Auction Tier Create |
| 2 | Lecture de la règle de paiement d’API |
Étape 2 : Create rôle JSON
Pour permettre à notre nouveau rôle d’accéder à ces ressources, nous devons charger un objet JSON comme celui ci-dessous.
Remarque
Le name et la liste de resources sont obligatoires.
Voici un « premier brouillon » du rôle JSON, auquel nous devrons ajouter à l’étape suivante.
{
"access-member-role" : {
"description" : "Auction Tiers and Payment Rules Only",
"resources" : [
{
"id" : 1
},
{
"id" : 2
}
],
"name" : "[test] auction-tier-payment-rule"
}
}
Étape 3 : Découvrir les dépendances de ressources
Une ressource donnée a souvent des dépendances vis-à-vis d’autres ressources plus générales. Pour permettre à votre rôle personnalisé d’accéder à toutes les ressources système dont il a besoin, vous devez spécifier et ajouter manuellement toutes les dépendances.
Pour faciliter cette tâche, vous pouvez utiliser un service d’API pour rechercher les dépendances dont vous avez besoin.
GET Appelez le service Access Resource Dependency List Service comme indiqué ci-dessous. Vous devez inclure le paramètre de chaîne de resource_id requête.
$ curl -b /Users/username/.x-api-client/usor-env-cookies -X GET \
'https://api.appnexus.com/access-resource-dependency-list?resource_id=1'
Vous obtiendrez une liste d’ID de ressource dans le children champ. Vous devez ajouter ces ID à votre rôle JSON.
Remarque
Ces dépendances peuvent avoir leurs propres dépendances.
{
"response" : {
"access-resource-dependency-list" : [
{
"children" : [
153,
163,
171
],
"resource_id" : 1,
"parents" : [
146
],
"dependencies" : [
153,
163,
171
]
}
],
"count" : 1,
"start_element" : 0,
"status" : "OK",
"num_elements" : 0
}
}
Conseil
Obtenir plus d’informations sur une ressource
Si vous souhaitez plus d’informations sur les dépendances d’une ressource, consultez-la en suivant les instructions fournies dans Afficher les ressources système à l’aide de l’API.
Étape 4 : Mettre à jour le rôle JSON avec les dépendances de ressources (si nécessaire)
Si les ressources de votre rôle personnalisé ont des dépendances, ajoutez-les au rôle JSON. Il doit ressembler à l’exemple ci-dessous.
{
"access-member-role" : {
"name" : "[test] auction-tier-payment-rule",
"resources" : [
{
"id" : 1
},
{
"id" : 2
},
{
"id" : 153
},
{
"id" : 163
},
{
"id" : 171
}
],
"description" : "Auction Tiers and Payment Rules Only"
}
}
Étape 5 : POST rôle JSON
POST le rôle JSON pour le service de rôle membre d’accès.
$ curl -b cookies -X POST -d '@create-custom-role.json' \
'https://api.appnexus.com/access-member-role?member_id=1282'
Si tout se déroule conformément au plan, vous verrez une réponse comme celle ci-dessous. Si vous avez oublié de spécifier la liste complète des dépendances d’une ressource, vous obtenez une erreur avec les ID de ressource des dépendances dont vous avez besoin.
{
"response" : {
"access-member-role" : [
{
"id" : 113,
"last_modified" : "2016-04-04 21:05:48",
"resources" : [
{
"name" : "hbapi-ym-auction-tier-post",
"id" : 1
},
{
"id" : 2,
"name" : "hbapi-payment-rule-get"
},
{
"id" : 153,
"name" : "hbapi-ym-auction-tier-get"
},
{
"id" : 163,
"name" : "hbapi-ym-profile-get"
},
{
"name" : "hbapi-publisher-get",
"id" : 171
}
],
"description" : "Auction Tiers and Payment Rules Only",
"member_id" : 1282,
"name" : "[test] auction-tier-payment-rule"
}
],
"start_element" : 0,
"status" : "OK",
"count" : 1,
"num_elements" : 1
}
}