Ir al contenido
Autenticación

Autenticación

Ver como Markdown

Cada solicitud que envía la CLI lleva una clave de API de su proyecto. Guarde las claves una vez con status200 login, un contexto para cada entorno, o páselas a un comando en opciones o variables de entorno, como hacen los scripts. Esta página muestra cada forma, y cuál usa un comando cuando hay varias.

Antes de empezar

Necesita una clave de API de su proyecto. Cree una en Ajustes del proyecto → Avanzado → Claves de API con Crear Clave de API, y dele el acceso que necesitan sus comandos: consulte Crear una clave de API. Una clave hace lo que sus permisos permiten: una clave que solo puede leer registros puede listarlos y leerlos, pero no cambiarlos.

En Status200 Cloud, las claves de API solo funcionan mientras el proyecto está en el plan Growth o superior. Por debajo, cada comando responde API error (402) con un mensaje que nombra el plan, hasta que el proyecto se mejora; entonces la misma clave vuelve a funcionar. Consulte Claves de API y SCIM por debajo de su plan.

Iniciar sesión

status200 login guarda una clave de API y la dirección de su Status200 como contexto, y lo convierte en el contexto actual:

Bash
status200 login <api-key> <instance-url> [--context-name <name>]
Argumento u opciónQué es
<api-key>Una clave de API de su proyecto
<instance-url>La dirección de su Status200: https://status200.ru, o la de su propio servidor, como https://status200.example.com
--context-name <name>El nombre con el que se guarda el contexto. Predeterminado: default

Por ejemplo, un contexto llamado production:

Bash
status200 login <api-key> https://status200.ru --context-name production

Responde Logged in successfully. Context "production" is now active. Una barra al final de la dirección se elimina, y volver a iniciar sesión con el mismo nombre reemplaza ese contexto.

Nota
login guarda la clave sin consultarla con Status200. Ejecute un comando, como status200 incident count, para ver que la clave funciona.

Contextos

Un contexto es un inicio de sesión guardado: un nombre, una dirección y una clave de API. Guarde uno para cada proyecto o entorno y luego elija uno para todos los comandos que siguen, o para un solo comando.

  1. Guardar un contexto para cada entorno

    Bash
    status200 login <production-api-key> https://status200.ru --context-name production
    status200 login <staging-api-key> https://status200.example.com --context-name staging

    Cada inicio de sesión convierte su contexto en el actual, así que ahora el actual es staging.

  2. Listarlos

    Bash
    status200 context list
    ┌───┬────────────┬───────────────────────────────┐
    │   │ Name       │ URL                           │
    ├───┼────────────┼───────────────────────────────┤
    │   │ production │ https://status200.ru          │
    ├───┼────────────┼───────────────────────────────┤
    │ * │ staging    │ https://status200.example.com │
    └───┴────────────┴───────────────────────────────┘

    El * marca el contexto actual. Las claves de API nunca se listan.

  3. Cambiar a otro contexto

    Bash
    status200 context use production

    Responde Switched to context "production". y los comandos que siguen lo usan.

  4. Usar un contexto para un solo comando

    Bash
    status200 incident list --context staging

    El contexto actual queda como estaba.

ComandoQué hace
status200 context listLista los contextos guardados; * marca el actual. Con -o json, el name, apiUrl e isCurrent de cada contexto, nunca su clave
status200 context use <name>Convierte un contexto guardado en el actual
status200 context currentMuestra el nombre, la URL y la clave de API del contexto actual, con la clave oculta salvo sus cuatro primeros y cuatro últimos caracteres
status200 context delete <name>Elimina un contexto guardado. Si era el actual, el primer contexto que queda pasa a ser el actual

Qué credenciales usa un comando

Un comando necesita una clave de API y una URL. Toma cada una de las dos del primero de estos lugares que la tenga:

flowchart TB F["1. Opciones del comando:<br/>--api-key y --url"] --> E["2. Variables de entorno:<br/>STATUS200_API_KEY<br/>y STATUS200_URL"] E --> N["3. El contexto nombrado<br/>con --context"] N --> C["4. El contexto actual"] C --> X["No está en ninguno:<br/>el comando se detiene"]

Dónde encuentra un comando su clave de API y su URL

Así que puede combinarlos: por ejemplo, una clave de API de una variable de entorno con la URL del contexto actual. Las variables de entorno se adaptan a los scripts y a los trabajos de CI, que no tienen contextos guardados:

Linux

Bash
export STATUS200_API_KEY=<api-key>
export STATUS200_URL=https://status200.ru
status200 incident list

macOS

Bash
export STATUS200_API_KEY=<api-key>
export STATUS200_URL=https://status200.ru
status200 incident list

Windows

PowerShell
$env:STATUS200_API_KEY = "<api-key>"
$env:STATUS200_URL = "https://status200.ru"
status200 incident list

Las opciones van antes que todo lo demás, para un solo comando:

Bash
status200 --api-key <api-key> --url https://status200.ru incident list
Advertencia

Una clave pasada como opción queda en el historial de su shell, y otros usuarios de la máquina pueden verla en la lista de procesos. En una máquina compartida, use en su lugar un contexto o una variable de entorno.

Comprobar qué usará la CLI

status200 whoami muestra la URL y la clave de API que usará el siguiente comando, y el contexto del que proceden:

Bash
status200 whoami
URL:     https://status200.ru
API Key: 4f1c****0a13
Context: production

Solo se muestran los cuatro primeros y los cuatro últimos caracteres de la clave. La línea Context aparece solo cuando la URL y la clave son las del propio contexto, no valores que una opción o una variable de entorno reemplazó. whoami lee su configuración sin llamar a Status200: muestra lo que enviará un comando, no si Status200 lo acepta. Sin nada guardado ni definido, responde:

Not authenticated. Run `status200 login` to authenticate.

El archivo de configuración

status200 login guarda los contextos en ~/.oneuptime/config.json, en su carpeta de inicio (%USERPROFILE%\.oneuptime\config.json en Windows). La CLI lo crea de modo que solo su usuario pueda leerlo y escribirlo (modo 0600):

~/.oneuptime/config.jsonJSON
{
  "currentContext": "production",
  "contexts": {
    "production": {
      "name": "production",
      "apiUrl": "https://status200.ru",
      "apiKey": "<api-key>"
    },
    "staging": {
      "name": "staging",
      "apiUrl": "https://status200.example.com",
      "apiKey": "<api-key>"
    }
  }
}

El archivo contiene las claves de API tal cual: manténgalo fuera de carpetas compartidas, copias de seguridad y repositorios. Para cerrar la sesión de un contexto, elimínelo con status200 context delete <name>; para cerrar la de todos, elimine el archivo. Una clave que pueda haberse filtrado sigue siendo válida hasta que la elimine en Status200, en Ajustes del proyecto → Avanzado → Claves de API.

Los formatos de salida y los tamaños de lista no se guardan aquí: pase -o y --limit a cada comando.

Solución de problemas

El mensaje "No credentials found"

Authentication error: No credentials found. significa que ninguna opción, variable de entorno ni contexto guardado dio al comando su clave de API y su URL. Ejecute status200 login, o defina tanto STATUS200_API_KEY como STATUS200_URL. El comando termina con el código 2.

El mensaje "API error (400): Invalid API Key"

La clave no es una clave de API de Status200, ha caducado o se restableció. Cópiela de nuevo desde su página en Ajustes del proyecto → Avanzado → Claves de API, donde también está su fecha en Caduca, y vuelva a iniciar sesión con el mismo nombre de contexto. El comando termina con el código 2.

El mensaje "API error (402): API keys need the Growth plan"

En Status200 Cloud, el proyecto está por debajo del plan Growth, así que sus claves de API dejaron de funcionar. Mejore el plan del proyecto, y la misma clave vuelve a funcionar: no hay nada que cambiar en la CLI.

El mensaje "API error (422): You do not have permissions"

Los permisos de la clave no alcanzan lo que pide el comando. Dé a la clave un rol o un permiso en su página en Ajustes del proyecto → Avanzado → Claves de API: el mensaje nombra los permisos que dejarían pasar la solicitud.

El mensaje "Context "staging" does not exist"

No hay ningún contexto guardado con ese nombre. status200 context list muestra los nombres que existen.

whoami muestra una URL o una clave distintas de las del contexto

Una variable de entorno o una opción reemplaza el valor del contexto. env | grep ONEUPTIME muestra las variables definidas, y unset STATUS200_API_KEY STATUS200_URL vuelve a sus contextos.

La solicitud a la dirección falla

Error: Request failed to https://... significa que la CLI no pudo llegar a Status200 en esa dirección. Compruebe la URL con status200 whoami: es la dirección en la que abre Status200, con https://, como https://status200.ru.

Próximos pasos