Создать парольную политику

Создаёт новую Парольную политику.

На данный момент Центральный Пульт не использует дополнительные парольные политики. Запросы, которые работают с паролями (например Изменить пароль пользователя) будут использовать только стандартную парольную политику.

Запрос

HTTP Запрос

PATCH /node/api/password-policies/

Права

manage-configuration

Параметры тела запроса

Этот запрос использует модель Парольная политика.

Поле Тип Описание

id

String

ID парольной политики.

name

String

Имя парольной политики.

length

Integer

Минимальное количество символов.

minLowercase

Integer

Минимальное количество строчных параметров.

minCapital

Integer

Минимальное количество заглавных символов.

minDigits

Integer

Минимальное число цифр.

minSpecial

Integer

Минимальное количество специальных символов. Специальными символами являются все символы, кроме букв и цифр.

changePasswordOnFirstLogin

Boolean

Запрашивать смену пароля при следующем входе.

passwordLifetime

Integer

Время, через которое пароль станет недействительным.

passwordExpiredNotificationPeriod

Integer

Время уведомления пользователя о том, что пароль становится недействительным.

uniquePasswordsNumber

Integer

Количество уникальных паролей, после которых пользователь может использовать старый пароль.

Тело запроса

Тело запроса содержит новую парольную политику.

{
    "name": "Default",
    "length": 3,
    "minLowercase": 5,
    "minCapital": 1,
    "minDigits": 1,
    "minSpecial": 1,
    "changePasswordOnFirstLogin": true,
    "passwordExpiredNotificationPeriod": 1,
    "passwordLifetime": 7,
    "uniquePasswordsNumber": 1
}

Можно исключить все поля кроме поля name. Всем не указанным полям будет присвоено значение 0.

{
    "name": "New Policy",
    "length": 32
}

Ответ

Этот запрос возвращает созданную парольную политику. Подробная информация о модели доступна в статье Парольная политика.

{
    "id": "635a91e0374904480417ef84",
    "name": "New Policy",
    "length": 32,
    "minLowercase": 0,
    "minCapital": 0,
    "minDigits": 0,
    "minSpecial": 0
}

Примеры

Этот пример создаёт новую парольную политику с минимальной длиной пароля в 32 символа.

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/password-policies/

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
        "name": "New Policy",
        "length": 32
    }
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/password-policies/";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
        "name": "New Policy",
        "length": 32
    });

let requestOptions = {
    method: "PATCH",
    headers: headers,
    body: data
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/password-policies/";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PATCH",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

let data = JSON.stringify({
        "name": "New Policy",
        "length": 32
    });

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/password-policies/"

body = {
        "name": "New Policy",
        "length": 32
    }

response = requests.request("PATCH", url, json=body, auth=(login, password))
print(response.text)

Ответ

Только поле length было определено в запросе. Всем остальным полям было присвоено значение 0.

{
    "id": "635a5b5425bb8a49371f3f92",
    "name": "New Policy",
    "length": 32,
    "minLowercase": 0,
    "minCapital": 0,
    "minDigits": 0,
    "minSpecial": 0
}