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

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

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

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

NOTE

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

Запрос ​

HTTP Запрос ​

text
PATCH /node/api/password-policies/

Права ​

text
manage-configuration

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

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

ПолеТипОписание
idStringID парольной политики.
nameStringИмя парольной политики.
lengthIntegerМинимальное количество символов.
minLowercaseIntegerМинимальное количество строчных параметров.
minCapitalIntegerМинимальное количество заглавных символов.
minDigitsIntegerМинимальное число цифр.
minSpecialIntegerМинимальное количество специальных символов. Специальными символами являются все символы, кроме букв и цифр.
changePasswordOnFirstLoginBooleanЗапрашивать смену пароля при следующем входе.
passwordLifetimeIntegerВремя, через которое пароль станет недействительным.
passwordExpiredNotificationPeriodIntegerВремя уведомления пользователя о том, что пароль становится недействительным.
uniquePasswordsNumberIntegerКоличество уникальных паролей, после которых пользователь может использовать старый пароль.

Тело запроса ​

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

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

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

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

Ответ ​

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

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

Примеры ​

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

Запрос ​

  • Bash
  • JavaScript
  • NodeJS
  • Python
bash
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
javascript
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));
javascript
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();
python
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.

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

Смотрите также ​