Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para que NuGet sea un entorno más seguro para la distribución de paquetes, puede tomar el control de las claves de API agregando ámbitos.
La capacidad de proporcionar alcance a sus claves de API le ofrece un mejor control sobre sus APIs. Ustedes pueden:
- Cree varias claves de API con ámbito que se pueden usar para distintos paquetes con distintos períodos de tiempo de expiración.
- Obtenga claves de API de forma segura.
- Edite las claves de API existentes para cambiar la aplicabilidad del paquete.
- Actualice o elimine las claves de API existentes sin dificultar las operaciones que usan otras claves.
¿Por qué se admiten claves de API con ámbito?
Se admiten ámbitos para las claves de API para permitirle tener permisos más específicos. Anteriormente, NuGet ofrecía una sola clave de API para una cuenta y ese enfoque tenía varios inconvenientes:
- Una clave de API para controlar todos los paquetes. Con una sola clave de API que se usa para administrar todos los paquetes, es difícil compartir de forma segura la clave cuando varios desarrolladores participan en distintos paquetes y cuando comparten una cuenta de publicador.
- Todos los permisos o ninguno. Cualquier persona con acceso a la clave de API tiene todos los permisos (publicar, empujar y retirar de la lista) en los paquetes. Esto a menudo no es deseable en el entorno con varios equipos.
- Único punto de error. Una sola clave de API también significa un único punto de error. Si la clave está en peligro, todos los paquetes asociados a la cuenta podrían estar en peligro. Actualizar la clave de API es la única manera de tapar la fuga y evitar una interrupción en el pipeline de CI/CD. Además, puede haber casos en los que quiera revocar el acceso a la clave de API para un individuo (por ejemplo, cuando un empleado abandona la organización). No hay una manera limpia de manejar esto hoy.
Con las claves de API delimitadas, intentamos solucionar estos problemas mientras nos aseguramos de que ninguno de los flujos de trabajo existentes se interrumpa.
Adquisición de una clave de API
Inicie sesión en su cuenta de nuget.org o cree una cuenta si aún no tiene una.
Seleccione el nombre de usuario en la esquina superior derecha y, a continuación, seleccione Claves de API.
Seleccione Crear y proporcione un nombre para la clave.
En Seleccionar ámbitos, seleccione Push.
En Seleccionar Paquetes>Patrón Global, escriba *.
Selecciona Crear.
Seleccione Copiar para copiar la nueva clave.
Importante
- Mantenga siempre la clave de API en un secreto. La clave de API es como una contraseña que permite a cualquier persona administrar paquetes en su nombre. Elimine o regenere la clave de API si se revela accidentalmente.
- Guarde la clave en una ubicación segura, ya que no puede volver a copiar la clave más adelante. Si vuelve a la página clave de API, debe volver a generar la clave para copiarla. También puede quitar la clave de API si ya no desea insertar paquetes.
Limitación permite crear claves de API independientes con distintos fines. Cada clave tiene un período de tiempo de expiración y puede definir el ámbito de la clave a paquetes o patrones globales específicos. También puede limitar cada clave a operaciones específicas: insertar nuevos paquetes y versiones de paquete, insertar solo nuevas versiones de paquete o anular la lista.
A través del ámbito, puede crear claves de API para diferentes personas que administran paquetes para su organización para que solo tengan los permisos que necesitan.
Crea claves de API con alcance
Puede crear varias claves de API en función de sus requisitos. Una clave de API se puede aplicar a uno o varios paquetes, tener distintos ámbitos que conceden privilegios específicos y tienen asociada una fecha de expiración.
En el ejemplo siguiente, tiene una clave de API denominada Contoso service CI que se puede usar para insertar paquetes para paquetes específicos Contoso.Service y es válida durante 365 días. Se trata de un escenario típico en el que diferentes equipos de la misma organización trabajan en paquetes diferentes y los miembros del equipo se proporcionan la clave que les concede privilegios solo para el paquete en el que trabajan. La expiración sirve como mecanismo para evitar claves obsoletas o olvidadas.
Uso de patrones globales
Si está trabajando en varios paquetes y tiene una gran lista de paquetes que administrar, puede optar por usar patrones globales para seleccionar varios paquetes juntos. Por ejemplo, si desea conceder ámbitos específicos a una clave para todos los paquetes cuyo identificador comienza por Fabrikam.Service, puede hacerlo especificando fabrikam.service.* en el cuadro de texto patrón Glob .
El uso de patrones globales para determinar los permisos de clave de API también se aplica a los nuevos paquetes que coinciden con el patrón global. Por ejemplo, si intenta enviar un nuevo paquete denominado Fabrikam.Service.Framework, puede hacerlo con la clave creada anteriormente, ya que el paquete coincide con el patrón de glob fabrikam.service.*.
Obtención de claves de API de forma segura
Por seguridad, nunca se muestra una clave recién creada en la pantalla y solo está disponible con el botón Copiar . Del mismo modo, no se puede acceder a la clave después de actualizar la página.
Edición de claves de API existentes
También puede actualizar los permisos y ámbitos de clave sin cambiar la propia clave. Si tiene una clave con ámbitos específicos para un único paquete, puede optar por aplicar los mismos ámbitos en uno o muchos otros paquetes.
Actualización o eliminación de claves de API existentes
El propietario de la cuenta puede optar por actualizar la clave, en cuyo caso el permiso (en paquetes), el ámbito y la expiración siguen siendo los mismos, pero se emite una nueva clave que hace que la clave antigua no se pueda usar. Esto resulta útil para administrar las claves obsoletas o donde existe la posibilidad de que se produzca una pérdida de claves de API.
También puede optar por eliminar estas claves si ya no son necesarias. Al eliminar una clave, se quita la clave y se hace inutilizable.
FAQs
¿Qué ocurre con mi clave de API anterior (heredada)?
La clave de API anterior sigue funcionando y puede hacerlo durante el tiempo que desee. Sin embargo, estas claves se retirarán si no se han usado durante más de 365 días para insertar un paquete. Para más información, consulte la entrada de blog Cambios en las claves de API que expiran. Ya no puede actualizar esta clave. En su lugar, debe eliminar la clave heredada y crear una nueva clave con ámbito.
Nota:
Esta clave tiene todos los permisos en todos los paquetes y nunca expira. Debe considerar la posibilidad de eliminar esta clave y crear nuevas claves con permisos delimitados y fecha de expiración definida.
¿Cuántas claves de API puedo crear?
No hay ningún límite en el número de claves de API que puede crear. Sin embargo, le recomendamos que lo mantenga en un recuento manejable para que no termine teniendo muchas claves obsoletas sin conocimiento de dónde y quién las usa.
¿Puedo eliminar mi clave de API heredada o dejar de usar ahora?
Sí. Puede y probablemente debería eliminar la clave de API heredada.
¿Puedo recuperar mi clave de API que eliminé por error?
No. Una vez eliminado, solo puede crear claves nuevas. No hay ninguna recuperación posible para las claves eliminadas accidentalmente.
¿La clave de API antigua sigue funcionando tras la actualización de la clave de API?
No. Una vez que actualice una clave, se genera una nueva clave que tiene el mismo ámbito, permiso y expiración que el anterior. La clave antigua deja de existir.
¿Puedo conceder más permisos a una clave de API existente?
No puede modificar el ámbito, pero puede editar la lista de paquetes a la que se aplica.
¿Cómo sé si alguna de mis claves ha expirado o ha expirado?
Si alguna clave expira, le informaremos a través de un mensaje de advertencia en la parte superior de la página. También enviamos un correo electrónico de advertencia al titular de la cuenta diez días antes de la expiración de la clave para que pueda actuar con antelación.