Les permissions
La ressource autorisations décrit ce à quoi une clé, et donc ses utilisateurs, peuvent accéder. Par exemple, une clé peut être configurée pour avoir la source_type:icloud.account
qui permet à ses utilisateurs de créer des sessions sur des comptes iCloud.
Chaque autorisation est limitée par les autorisations de base de l'organisation. Il n'est pas possible de créer des autorisations qui vont au-delà de ce à quoi l'organisation a accès.
Les attributs
prénom | type | la description |
---|---|---|
id | ID de permission | Identifiant de ressource. |
resource | chaîne, toujours permission | Spécificateur de type de ressource. |
organisation | ID d'organisation | L'organisation à laquelle ces autorisations sont associées. |
scopes | dictionnaire | L'étendue à laquelle l'autorisation s'applique. |
Portées
L'attribut scopes
définit ce à quoi les autorisations accordent l'accès. Les source_type:icloud.account
ressemblent à source_type:icloud.account
, ce qui donnerait l’autorisation de créer des sources de compte iCloud.
Chaque étendue peut avoir des limites associées. Celles-ci agissent comme des restrictions sur les autorisations accordées par l'étendue. Par exemple, la source_type:icloud.account
peut avoir une limite:
{ "level": "user", "type": "count", "value": 3 }
Cela limiterait le nombre de sources de comptes iCloud qu'un utilisateur peut créer à trois au maximum.
Le format de l'attribut scopes
, donne l'exemple ci-dessus, serait:
{ "source_type:icloud.account": [ { "level": "user", "type": "count", "value": 3 } ] }
Les portées peuvent également inclure des caractères génériques simples, tels que task_type:icloud.*
, task_type:icloud.*
autorise l'utilisation de toutes les tâches liées au service iCloud.
Types de portées
-
source_type
donne accès à des types de sources spécifiques. -
task_type
donne accès à des types de tâches spécifiques. -
data_type
donne accès à des types de données spécifiques. -
file_type
donne accès à des types de fichiers spécifiques.
Limites
prénom | type | la description |
---|---|---|
level | chaîne | L'un des éléments suivants: organisation , key ou user . |
type | dictionnaire | L'étendue à laquelle l'autorisation s'applique. |
Une limite peut agir à l'un des trois niveaux suivants: organisation
, key
ou user
. Cela détermine à quel point la limite est appliquée. Par exemple, une étendue peut avoir une limite qui limite l'organisation à seulement 10 comptes iCloud (une limite au niveau de l' organisation
) et une autre limite qui limite chaque utilisateur de cette organisation à seulement 2 comptes iCloud chacun (une limite au niveau user
).
Il existe trois types de limites: count
, interval
et inflight
. Le type de count
est absolu (c’est-à-dire le nombre total de comptes iCloud à chaque accès), tandis que intervalle prend le décompte sur une période donnée (c’est-à-dire un compte iCloud par mois), et inflight
est une limite de simultanéité (ne peut interroger qu’un seul compte iCloud à la fois).