Обновить API-ключ

Обновить параметры API-ключа можно с помощью curl-запроса. Возможно обновить название, описание, ограничения и статус активности API-ключа.

Пример запроса:

curl --location --request PUT 'https://iam-gw-platform-v1-dev.iam.sbercloud.dev/api/v1/service-accounts/credentials/api-keys' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Cookie: SERVERID=s1' \
--data '{
  "key": {
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "api-key-test",
    "description": "переименованный API-ключ для monaas",
    "products": [
      "monaas",
      "logaas"
    ],
    "restrictions": {
      "ipAddresses": {
        "ipAddresses": [
          "xxx.xxx.x.x",
          "xxx.xxx.xxx.xxx",
          "xxx.xxx.xxx.xxx"
        ]
      },
      "timeRange": {
        "timeSlots": [
          {
            "start": 18,
            "end": 19
          },
          {
            "start": 21,
            "end": 22
          }
        ],
        "timezone": 4
      }
    },
    "enabled": false
  },
  "paths": "name,products,description,enabled,restrictions"
}'

Где:

  • $TOKEN — авторизационный токен.

  • id — идентификатор API-ключа, передается при создании API-ключа.

  • name — название API-ключа.

  • description — описание ключа, которое поможет идентифицировать его среди других API-ключей.

  • products — сервис или несколько сервисов, для которых будет использоваться API-ключ. Необходимо добавить значение поля name из ответа на запрос списка сервисов.

  • restrictions — список ограничений.

    • ipAddresses — перечень IP-адресов и подсетей, из которых может использоваться API-ключ. Поддерживаются форматы протоколов IPv4 и IPv6.

    • timeRange — набор интервалов времени (timeSlots), в которые можно использовать API-ключ. Интервалы необходимо указывать в 24-часовом формате, используя целые числа от 0 до 24. Например, чтобы API-ключ работал с 00:00 до 05:00, укажите значение start равное 0 и end равное 5.

      В параметре timezone указывается часовой пояс числом от -12 до 12.

  • enabled — переключатель состояния API-ключа. При значении true ключ активирован, при false — деактивирован.

  • paths — перечень обновляемых параметров через запятую. Допустимые значения: name, description, restrictions, enabled, products.

В ответе возвращается обновленный API-ключ.

Пример ответа:

{
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "api-key-test-1111",
    "description": "переименованный апи ключ для monaas",
    "service_account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "products": [
        "monaas",
        "logaas"
    ],
    "secret": "",
    "restrictions": {
        "ip_addresses": {
            "ip_addresses": [
                "xxx.xxx.x.x",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx"
            ]
        },
        "time_range": {
            "time_slots": [
                {
                    "start": 18,
                    "end": 19
                },
                {
                    "start": 21,
                    "end": 22
                }
            ],
            "timezone": 4
        }
    },
    "enabled": false,
    "created_at": "2024-04-04T06:21:39.749924Z",
    "updated_at": "2024-04-04T06:24:01.144760022Z",
    "expires_at": "2024-04-23T09:32:02.984Z"
}
Запустили Evolution free tier
для Dev & Test
Получить