Creación de plantillas de configuración gestionadas por la empresa
En una empresa en la que se tienen muchas cuentas secundarias, configurar manualmente los ajustes de IAM para cada cuenta puede llevar mucho tiempo y ser propenso a errores. Asegúrese de que todas las cuentas de su empresa cumplan con los requisitos de seguridad de su organización mediante el uso de plantillas de configuración.
Solo puede asignar una plantilla de configuración a una cuenta o grupo de cuentas. Cree una plantilla de configuración que se aplique a la mayoría de las cuentas y cree una nueva solo para las cuentas que tengan requisitos especiales. Por ejemplo, es posible que tenga requisitos de autenticación multifactor (MFA) más estrictos en las cuentas del entorno de producción.
Cuando asignas una plantilla de configuración, los usuarios de cuentas secundarias con el rol de Administrador en el servicio de identidad IAM pueden seguir gestionando la configuración de su cuenta. Si hay configuraciones contradictorias entre las configuraciones definidas por la plantilla y las configuraciones que se gestionan dentro de la cuenta, se aplica a la cuenta la configuración más estricta. Esto significa que la configuración más restrictiva tiene prioridad y se aplica a esa cuenta en particular.
Antes de empezar
-
Para saber cómo las plantillas de IAM gestionadas por la empresa hacen que su empresa sea más segura, consulte Cómo funciona el acceso a IAM gestionado por la empresa.
-
Sea miembro de la cuenta de empresa para crear y asignar plantillas de IAM gestionadas por la empresa.
-
Para crear una plantilla de IAM gestionada por la empresa, asegúrese de que se le ha asignado el siguiente acceso:
- Una política con el rol de «Administrador de plantillas» en todos los servicios de gestión de cuentas de IAM
-
Para asignar una plantilla de IAM gestionada por la empresa a cuentas secundarias, asegúrese de que se le ha asignado el siguiente acceso:
- Una política con el rol de Administrador de asignación de plantillas en todos los servicios de Gestión de cuentas de IAM
- Una política con al menos el rol de Visor en el servicio Enterprise
De forma predeterminada, ningún usuario tiene los roles de Administrador de plantillas o Administrador de asignaciones de plantillas, incluido el propietario de la cuenta.
-
Las cuentas nuevas y existentes de su empresa deben optar por el IAM gestionado por la empresa. Para obtener más información, consulte Optar por la IAM gestionada por la empresa.
-
La configuración definida a nivel de la cuenta secundaria se aplica si la configuración gestionada por la empresa es menos estricta o se elimina.
Creación de una plantilla de configuración
Considere la posibilidad de utilizar plantillas de configuración cuando tenga muchas cuentas secundarias que requieran la misma configuración de IAM. Por ejemplo, su organización podría tener normas internas o exigir el cumplimiento de la normativa del sector.
Para crear una plantilla de configuración, sigue estos pasos:
- Ve a «Gestionar» > «Acceso (IAM)» > «Plantillas» en IBM Cloud.
- Haga clic en Configuración > Crear.
- Introduzca un nombre y una descripción para la plantilla de configuración que describa su propósito para los usuarios empresariales.
- Pulse Crear.
(Opcional) Añadir la configuración de la cuenta de IAM
Personalice su empresa para cumplir con los requisitos comerciales y normativos definiendo la configuración de la cuenta IAM en las cuentas secundarias.
Restricción de dominios para invitaciones de cuentas
Por defecto, puedes enviar invitaciones de cuenta a direcciones de correo electrónico de cualquier dominio. Sin embargo, si activas la opción Restringir invitaciones de usuarios, podrás limitar las invitaciones sólo a aquellas direcciones de correo electrónico que pertenezcan a los dominios permitidos especificados. Para activar las restricciones en dominios concretos, sigue estos pasos:
- Active la opción Restringir invitaciones de usuarios en la sección Cuenta. Cuando esta opción está activada, la página Invitar usuario de las subcuentas limita las invitaciones a las direcciones de correo electrónico de los dominios permitidos especificados.
- Seleccione Más estricto o Más flexible para determinar cómo se aplican los ajustes de plantillas y subcuentas.
- Haga clic en Editar para modificar el dominio existente o añadir nuevos dominios a la lista permitida. Esta función mejora la seguridad de su cuenta al tiempo que le ofrece la flexibilidad de actualizarla en cualquier momento y añadir más dominios según sea necesario.
Las restricciones de dominio se implementan estableciendo patrones de correo electrónico. Por ejemplo, **@ibm.com, **@*.ibm.com, **@?.ibm.com. Un único asterisco * representa cualquier
secuencia de cero o más caracteres en una serie, excepto que la secuencia finaliza si se encuentra un punto . o el signo de arroba @. Un asterisco doble ** representa cualquier secuencia de cero o
más caracteres en la serie sin límite. Un signo de interrogación ? representa cualquier carácter individual.
Si observamos con más detenimiento el ejemplo **@*.ibm.com. La parte del nombre de usuario de la dirección de correo electrónico especifica **. Puesto que la secuencia no está limitada por ., una dirección
de correo electrónico como my.name.is.bob@us.ibm.com es válida. El subdominio us también es válido porque es una serie de letras, donde la secuencia finaliza con ..
Restringir la visibilidad de los usuarios
Por defecto, todos los usuarios de una cuenta pueden ver a todos los demás usuarios en la página Usuarios. Sin embargo, si activa la opción Restringir visibilidad de la lista de usuarios, podrá controlar qué usuarios son visibles, de modo que cada usuario vea los miembros de la cuenta con los que está directamente asociado.
Para aplicar restricciones a usuarios específicos, active la opción Restringir la visibilidad de la lista de usuarios en la sección Cuenta. Le permite controlar cómo los usuarios ven a otros miembros a través de las subcuentas donde se asigna esta plantilla.
Restricción de usuarios para crear claves de API
De forma predeterminada, todos los miembros de una cuenta pueden crear claves de API de IBM Cloud®. Sin embargo, mediante el uso de la configuración de creación de claves API, ese acceso puede restringirse para que solo los miembros con el acceso correcto puedan crear estas claves API de usuario.
Limitar la posibilidad de crear claves API tiene sentido si quieres que los usuarios de una cuenta secundaria concreta siempre inicien sesión de forma interactiva, es decir, si no quieres que se ejecuten scripts de automatización que puedan iniciar sesión automáticamente utilizando una clave API. Para obtener más información sobre las claves de API, consulte Gestión de claves de API de usuario.
Si activas la opción «Restringir la creación de claves API», los usuarios de tu cuenta necesitarán un permiso específico para crear claves API, incluido el titular de la cuenta. Para restringir quién puede crear claves de API, siga estos pasos:
La habilitación de este valor solo afecta a la creación de claves de API de usuario. No afecta a las claves de API para los ID de servicio.
- Habilite la configuración Restringir creación de claves API en la sección Cuenta.
- Pulse Sí para confirmar.
Ahora que se ha activado la configuración para impedir que los usuarios creen claves de API, puedes crear una plantilla de grupo de acceso que conceda los permisos necesarios para que determinados usuarios puedan seguir creando claves de API de usuario. Recuerda que el titular de la cuenta también debe disponer de este acceso explícito. Para obtener más información, consulte Asignación de acceso para crear claves API con restricciones habilitadas.
Restringir a los usuarios la creación de ID de servicio
De forma predeterminada, todos los miembros de una cuenta pueden crear ID de servicio. Sin embargo, mediante el ajuste de creación de ID de servicio, se puede restringir el acceso para que solo los miembros con el acceso correcto puedan crear ID de servicio. Para obtener más información sobre los ID de servicio, consulte Creación y trabajo con los ID de servicio.
Si activas la configuración de creación de identificadores de servicio, los usuarios de las cuentas secundarias necesitarán un acceso específico para crear identificadores de servicio, incluido el titular de la cuenta. Para restringir quién puede crear los ID de servicio, siga estos pasos:
- Habilite la configuración Restringir la creación de ID de servicio en la sección Cuenta.
- Pulse Sí para confirmar.
Ahora que la configuración está habilitada para impedir que los usuarios creen identificadores de servicio, puedes crear una plantilla de grupo de acceso que conceda los permisos necesarios para que determinados usuarios puedan seguir creando identificadores de servicio. Recuerda que el titular de la cuenta también debe disponer de este acceso explícito. Para obtener más información, consulta « Asignación de acceso para crear identificadores de servicio con restricciones activadas ».
Cómo permitir direcciones IP específicas
De forma predeterminada, todas las direcciones IP se pueden utilizar para iniciar una sesión en la consola de IBM Cloud® y acceder a las API de la infraestructura clásica. Puedes especificar qué direcciones IP tienen acceso y cuáles están restringidas. Puede especificar este acceso para cuentas infantiles. Actualmente, solo se da soporte a las direcciones IP públicas.
Cuando solo permite que direcciones IP específicas accedan a una cuenta de IBM Cloud, los usuarios no pueden acceder a la CLI de Shell de IBM Cloud. Esto se debe a que Cloud Shell está alojado en una plataforma compartida que no puede satisfacer la lista de direcciones IP permitidas.
Los administradores de cuentas infantiles pueden establecer una restricción de dirección IP para usuarios individuales. Cuando se define una restricción de dirección IP tanto para la cuenta como para el usuario, la dirección IP debe cumplir ambas especificaciones para poder generar un token de IAM.
Para restringir a que todos los usuarios utilicen solo direcciones IP específicas, siga los pasos siguientes:
-
En la sección «Cuenta», activa la opción « Restringir el acceso por dirección IP ».
-
Especifique las direcciones IP. Las direcciones IP que figuran en la lista son las únicas desde las que los usuarios de las cuentas secundarias pueden iniciar sesión en IBM Cloud®.
Puede especificar una única dirección IP
17.5.7.8, un rango de direcciones IP17.5.7.8 - 17.5.9.5, subredes IP17.5.7.8.0/16o una zona de rednetworkZoneName. Asegúrese de utilizar direcciones IPv4 o IPv6 y de separar varios valores con una coma. Si ya existe una restricción de dirección IP, el recurso altera temporalmente la restricción. -
Pulse Guardar.
La cuenta infantil puede restringir el acceso a un subconjunto de IPs dentro de la lista gestionada por la empresa. Por ejemplo, el administrador de una cuenta secundaria de producción podría especificar una lista de permitidos más detallada.
(Opcional) Añadir configuración de autenticación
Es útil tener en cuenta la siguiente información antes de habilitar la MFA en cuentas infantiles para asegurarse de que sabe cómo afecta a todos los usuarios de las cuentas infantiles:
- Activar la autenticación multifactorial (MFA) para todos los usuarios de tu cuenta afecta a todos los miembros de la cuenta. Si los usuarios de su cuenta son miembros de varias cuentas de IBM Cloud, deben inscribirse en MFA en su próximo inicio de sesión, incluso si no tienen la intención de utilizar recursos en la cuenta donde MFA está habilitado.
- Las claves de API para los usuarios y los ID de servicio seguirán funcionando cuando la MFA esté habilitada.
- El MFA para las cuentas de sus hijos se aplica a los inicios de sesión de los usuarios, pero no a las llamadas a la API. Si un usuario tiene permiso para realizar llamadas a la API a los recursos de la cuenta, podrá hacerlo sin necesidad de completar la autenticación de dos factores (MFA). Si el usuario pertenece a otras cuentas, el usuario puede realizar llamadas de API a los recursos de su cuenta utilizando una clave de API de una cuenta que no requiera MFA.
- Planifique una estrategia de soporte y comunicación para los usuarios de su cuenta:
- Elija la fecha y la hora en habilitar la MFA que produzca el menor impacto en su empresa.
- Una vez que hayas activado la autenticación multifactorial (MFA), envía un aviso a los usuarios de tu cuenta con información sobre cómo configurarla.
Habilitar MFA no afecta a los usuarios que ya han iniciado sesión porque MFA solo entra en vigor en el momento del inicio de sesión. Asegúrate de informar a los usuarios de las cuentas secundarias de que se ha activado la autenticación multifactorial (MFA) y explícales las consecuencias que esto tendrá para ellos la próxima vez que inicien sesión.
Para habilitar MFA en una plantilla de configuración, complete los siguientes pasos:
- Ve a la sección «Autenticación».
- Selecciona el tipo de autenticación multifactorial (MFA) que deseas activar en tu cuenta. Para obtener más información sobre las opciones de MFA, consulte Opciones de MFA.
El nivel de MFA definido por la cuenta infantil se aplica si la configuración gestionada por la empresa es menos estricta o se elimina. Por ejemplo, el administrador de una cuenta secundaria de producción puede especificar un nivel de MFA más estricto que el definido por la plantilla de configuración gestionada por la empresa.
(Opcional) Añadir configuración de sesión de inicio de sesión
Mejora la seguridad de las cuentas de tu empresa exigiendo a los usuarios que introduzcan sus credenciales de acceso a intervalos personalizados. Puede seleccionar el tiempo que puede durar la sesión activa de un usuario antes de que tenga que volver a introducir sus credenciales. También puede elegir el intervalo que un usuario puede estar inactivo antes de que se cierre su sesión y tenga que volver a especificar sus credenciales.
Si un usuario es miembro de varias cuentas, el valor más bajo de cada opción se aplica a su sesión. Por ejemplo, un usuario es titular de dos cuentas: dev account y prod account. Si prod account tiene
un tiempo de espera por inactividad de 15 minutos y dev account tiene uno de 30 minutos, se aplica el tiempo de espera de 15 minutos a ambas cuentas.
Establecer la duración de las sesiones activas
Una sesión activa es el intervalo en el que un usuario está trabajando continuamente en su cuenta. La forma en que se mide una sesión activa también depende de la duración del cierre de la sesión por límite de inactividad. Por ejemplo, si establece el cierre de sesión en 2 horas, el usuario debería interactuar con la cuenta una vez entre esas 2 horas.
Para definir la configuración de las sesiones activas, siga estos pasos:
- Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
- Selecciona tu plantilla de configuración.
- Haga clic en Sesiones de inicio de sesión.
- Ve a la sección «Sesiones de inicio de sesión», haz clic en el icono «Ed
desde el mosaico «Sesiones activas».
- Especifique el límite de tiempo. Lo máximo que puede durar una sesión es 720 horas.
- Pulse en Guardar.
Revisar su plantilla de configuración
Revise la plantilla de configuración y confírmela para que no se puedan realizar más cambios en la versión. De esta manera, el administrador de asignación de plantillas puede estar seguro de que asigna la versión cuando usted confirma que está lista.
- Haga clic en Resumen > Revisar.
- Verifique que la plantilla de configuración esté configurada según sus expectativas.
- Haga clic en la casilla de verificación para confirmar que no puede editar la versión.
- Pulse Confirmar.
Asignación de una plantilla de configuración a cuentas secundarias
En tu empresa solo puedes asignar las versiones de una única plantilla de configuración a la vez. Puede asignar diferentes versiones de la misma plantilla de configuración, pero no puede utilizar varias plantillas de configuración en una empresa. Puede que desee asignar versiones diferentes a cuentas con requisitos diferentes, como cuentas de producción y de prueba.
No puede asignar una plantilla de IAM a la cuenta de empresa, solo a las cuentas secundarias.
Para asignar una plantilla de configuración, sigue estos pasos:
- Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
- Selecciona tu plantilla de configuración.
- Haga clic en Asignar cuentas.
- Seleccione cuentas específicas o grupos de cuentas completos en su empresa.
Cuando selecciona un grupo de cuentas, todas las cuentas futuras que añada a ese grupo de cuentas heredan la configuración que usted asigne.
- Haga clic en Asignar cuentas.
Si una asignación falla, haga clic en Reintentar.
Crear una nueva versión
Para crear una nueva versión de una plantilla de configuración, sigue estos pasos:
-
Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
-
Selecciona tu plantilla de configuración.
-
Haga clic en el icono Nueva versión.
.
-
Introduzca un nuevo nombre y descripción de plantilla o mantenga los que ya está utilizando.
Al introducir un nuevo nombre de plantilla, se actualiza el nombre de la plantilla para esta versión y todas las versiones anteriores. La descripción de la plantilla se almacena por separado para cada versión.
-
Seleccione la configuración que desea transferir a su nueva versión.
-
Pulse Crear.
-
Realiza cualquier otro ajuste en la configuración.
-
Haga clic en Revisar y confirme la nueva versión. Para obtener más información, consulte Revisar su plantilla de grupo de acceso.
Para asignar una nueva versión de una plantilla de configuración, sigue estos pasos:
- Ve a «Gestionar» > «Acceso (IAM)» > «Plantillas» en la consola de IBM Cloud.
- Pulse Valores.
- Haga clic en el icono de Expandir tabla
en la plantilla con la que desea trabajar.
- Seleccione la versión asignada a las cuentas secundarias.
- Haga clic en Asignaciones.
- Haga clic en Actualizar en la cuenta o en la asignación de grupo de cuentas donde desee asignar una versión diferente.
- Haz clic en « Seleccionar una versión ».
- Seleccione la versión que desea reemplazar por la versión actual.
- Pulse Actualizar.
- Repita estos pasos para cada cuenta o grupo de cuentas a las que desee asignar una versión diferente.
La nueva versión de plantilla que asignas reemplaza a la versión antigua. Más información sobre Asignación de una nueva versión.
Eliminar una asignación
Puede eliminar la asignación de una plantilla de una cuenta o grupo de cuentas a la que esté asignada. Puede que desee hacerlo si la plantilla no funciona como debería. Cuando eliminas una asignación de plantilla de una cuenta, por defecto se restablece la versión anterior de la plantilla. Si la asignación que eliminas es para la primera o única versión de una plantilla, se eliminan las preferencias de configuración asignadas en la cuenta secundaria.
Para eliminar una asignación, sigue estos pasos:
- Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
- Haga clic en Configuración y seleccione su plantilla de configuración.
- Haga clic en Asignaciones.
- Haga clic en el icono
> Eliminar en la cuenta o grupo de cuentas donde desea eliminar la asignación.
Cuando elimina todas las asignaciones de plantillas de configuración, se restablece la configuración definida en el nivel de la cuenta secundaria.
Eliminar una plantilla de configuración
Antes de poder eliminar una plantilla de configuración, debe eliminar todas las asignaciones de todas las versiones de la plantilla. Al eliminar una plantilla de configuración se eliminan todas las versiones.
Para eliminar una plantilla de configuración, sigue estos pasos:
- Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
- Pulse Valores.
- Haga clic en el icono
en la plantilla de configuración que desea eliminar.
- Haga clic en Eliminar plantilla.
- Confirma que deseas eliminar la plantilla de configuración.
Supresión de una versión
También puede eliminar una versión específica siguiendo estos pasos: Para eliminar una plantilla de configuración, sigue estos pasos:
- Haga clic en Administrar > Acceso (IAM) > Plantillas > Configuración en la consola de IBM Cloud®.
- Pulse Valores.
- Haga clic en el icono de Expandir tabla
en la plantilla con la que desea trabajar.
- Haga clic en el icono
en la versión que desea eliminar.
- Haga clic en Eliminar versión.
- Confirma que deseas eliminar la versión.
Creación de una plantilla de configuración mediante la CLI
Considere la posibilidad de utilizar plantillas de configuración cuando tenga muchas cuentas secundarias que requieran la misma configuración de IAM. Por ejemplo, su organización podría tener normas internas o exigir el cumplimiento de la normativa del sector.
Para crear una plantilla de configuración mediante la CLI, sigue estos pasos:
-
Cree un archivo JSON que configure la definición de la plantilla de ajustes. Para obtener más información sobre los atributos que puede utilizar en su archivo JSON, consulte la API de identidad IAM.
El siguiente archivo JSON de ejemplo especifica el
account_idde la cuenta de empresa, elnamede la plantilla y elaccount_settings. La creación de claves API está restringida a usuarios con el rol de creador de claves API en el servicio de identidad. La creación de ID de servicio no está restringida, por lo que todos los miembros pueden crear ID de servicio en las cuentas a las que se haya asignado la plantilla de configuración. El número máximo de sesiones por identidad se ha establecido en5, y la autenticación multifactor se ha establecido enLEVEL3, lo que requiere que todos los usuarios utilicen la autenticación multifactor (MFA) de U2F.{ "account_id": "5bbe28be34524sdbdaa34d37d1f2294a", "name": "AccountSettingsTemplate", "account_settings": { "restrict_create_platform_apikey": "RESTRICTED", "restrict_create_service_id": "NOT_RESTRICTED", "max_sessions_per_identity": 5, "mfa": "LEVEL3", } } -
Cree la plantilla de configuración utilizando el comando
account-settings-template-createcomo se muestra en la siguiente solicitud de ejemplo:ibmcloud iam account-settings-template-create AccountSettingsTemplate --file /path/to/account_settings_template.json
Actualización de una plantilla de configuración mediante la CLI
Puede actualizar una plantilla de configuración en cualquier momento antes de confirmarla. Para actualizar una versión específica de una plantilla de configuración de cuenta, siga estos pasos:
-
Actualice su archivo JSON con la nueva configuración de plantilla de ajustes. Para obtener más información sobre los atributos que puede utilizar en su archivo JSON, consulte la API de identidad IAM.
El siguiente archivo JSON de ejemplo especifica el
account_idde la cuenta de empresa, elnamede la plantilla y elaccount_settings. La nueva configuración restablece MFA aNONEy elimina los demás ajustes.{ "account_id": "5bbe28be34524sdbdaa34d37d1f2294a", "name": "AccountSettingsTemplateUpdated", "account_settings": { "mfa": "NONE", }, }Cuando actualizas el nombre de la plantilla, se actualiza el nombre de todas las versiones.
-
Para actualizar una versión específica de una plantilla de configuración de cuenta, utilice el comando
account-settings-template-version-updatecomo se muestra en la siguiente solicitud de muestra:ibmcloud iam account-settings-template-version-update AccountSettingsTemplateUpdated 1 --file /path/to/account_settings_template.json
Configurar una plantilla de ajustes
Revise la plantilla de configuración y confírmela para que no se puedan realizar más cambios en la versión. Comprometer una versión es un paso necesario antes de poder asignarla a cuentas secundarias. De esta manera, el administrador de asignación de plantillas puede estar seguro de que asigna la versión solo cuando usted haya confirmado que está lista.
La siguiente solicitud de muestra compromete la versión 1 de la plantilla de configuración denominada AccountSettingsTemplateUpdated:
ibmcloud iam account-settings-template-commit AccountSettingsTemplateUpdated 1
Asignación de una plantilla de configuración a cuentas secundarias mediante la CLI
En tu empresa solo puedes asignar las versiones de una única plantilla de configuración a la vez. Puede asignar diferentes versiones de la misma plantilla de configuración, pero no puede utilizar varias plantillas de configuración en una empresa. Puede que desee asignar versiones diferentes a cuentas con requisitos diferentes, como cuentas de producción y de prueba.
No puede asignar una plantilla de IAM a la cuenta de empresa, solo a las cuentas secundarias.
Para crear una asignación para una plantilla de configuración de cuenta, siga estos pasos:
-
Enumere las plantillas de configuración en su cuenta de empresa y anote el nombre de la plantilla y el número de versión de la plantilla de configuración que desea asignar a las cuentas secundarias:
ibmcloud iam account-settings-templates -
Asigne la plantilla a un
AccountoAccountGroupmediante el comandoaccount-settings-assignment-create.ibmcloud iam account-settings-assignment-create AccountSettingsTemplateUpdated 1 AccountGroup 955fc2274567474f8da802d5c376504b
Si una asignación falla, utilice el método account-settings-assigment-update para volver a intentarlo.
Creación de una nueva versión mediante la CLI
Cree una nueva versión de una plantilla de configuración de cuenta cuando necesite realizar actualizaciones en una versión confirmada. Para crear una nueva versión, sigue estos pasos.
-
Actualice su archivo JSON con la nueva configuración de plantilla de ajustes. Para obtener más información sobre los atributos que puede utilizar en su archivo JSON, consulte la API de identidad IAM.
-
Utilice el método
account-settings-template-version-createpara crear una nueva versión. La siguiente solicitud de muestra crea una nueva versión de la plantillaAccountSettingsUpdated.ibmcloud iam account-settings-template-version-create AccountSettingsUpdated --file /path/to/account_settings_template.json
Actualización de una asignación mediante la CLI
Actualizar una asignación para reintentar una asignación fallida o migrar a una nueva versión.
La nueva versión de plantilla que asignas reemplaza a la versión antigua. Más información sobre Asignación de una nueva versión.
-
Enumere las asignaciones en la cuenta utilizando el método de asignación de tareas (
account-settings-assignments). Tome nota de la dirección de correo electrónico (ASSIGNMENT_ID) de la tarea que desea actualizar. -
Actualiza la asignación de la configuración de la cuenta. Si vuelve a intentar una tarea, utilice el mismo número de versión. La siguiente solicitud de muestra migra la asignación
AccountSettingsAssignment-63d65ed159ff463b8ec09ea77d22a05ba la versión 2.ibmcloud iam account-settings-assignment-update AccountSettingsAssignment-63d65ed159ff463b8ec09ea77d22a05b 2
Eliminar una asignación mediante la CLI
Puede eliminar la asignación de una plantilla de una cuenta o grupo de cuentas a la que esté asignada. Puede que desee hacerlo si la plantilla no funciona como debería. Cuando eliminas una asignación de plantilla de una cuenta, por defecto se restablece la versión anterior de la plantilla. Si la asignación que eliminas es para la primera o única versión de una plantilla, se eliminan las preferencias de configuración gestionadas por la empresa en la cuenta secundaria.
Para eliminar una asignación, sigue estos pasos:
-
Enumere las asignaciones en la cuenta utilizando el método de asignación de tareas (
account-settings-assignments). Tome nota de la dirección de correo electrónico (ASSIGNMENT_ID) de la tarea que desea eliminar. -
Elimine la asignación mediante el método
account-settings-assigment-delete. La siguiente solicitud de muestra elimina la asignaciónAccountSettingsAssignment-63d65ed159ff463b8ec09ea77d22a05b.ibmcloud iam account-settings-assignment-delete AccountSettingsAssignment-63d65ed159ff463b8ec09ea77d22a05b
Cómo eliminar una versión mediante la CLI
Antes de poder eliminar una versión de plantilla de configuración, debe eliminar todas las asignaciones de esa versión de la plantilla. Para eliminar una versión específica, siga estos pasos:
-
Enumere las plantillas de configuración en su cuenta de empresa y anote el nombre de la plantilla y el número de versión de la versión que desea eliminar:
ibmcloud iam account-settings-templates -
Eliminar la versión:
ibmcloud iam account-settings-template-delete AccountSettingsTemplateUpdated 2 -
Para eliminar todas las versiones, repita estos pasos. Asegúrese de eliminar primero las asignaciones de cada versión.
Creación de una plantilla de configuración mediante la API
Considere la posibilidad de utilizar plantillas de configuración cuando tenga muchas cuentas secundarias que requieran la misma configuración de IAM. Por ejemplo, su organización podría tener normas internas o exigir el cumplimiento de la normativa del sector.
Para crear una plantilla de configuración mediante la API, sigue estos pasos:
-
Configurar la definición de la plantilla de ajustes. Para obtener más información sobre los atributos que puede utilizar en su archivo JSON, consulte la API de identidad IAM.
El siguiente archivo JSON de ejemplo especifica el
account_idde la cuenta de empresa, elnamede la plantilla y elaccount_settings. La creación de claves API está restringida a usuarios con el rol de creador de claves API en el servicio de identidad. La creación de ID de servicio no está restringida, por lo que todos los miembros pueden crear ID de servicio en las cuentas a las que se haya asignado la plantilla de configuración. El número máximo de sesiones por identidad se ha establecido en5, y la autenticación multifactor se ha establecido enLEVEL3, lo que requiere que todos los usuarios utilicen la autenticación multifactor (MFA) de U2F.curl -X POST 'https://iam.cloud.ibm.com/v1/account_settings_templates' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN' -d '{ "account_id": "5bbe28be34524sdbdaa34d37d1f2294a", "name": "my template", "account_settings": { "restrict_create_platform_apikey": "RESTRICTED", "restrict_create_service_id": "NOT_RESTRICTED", "max_sessions_per_identity": 5, "mfa": "LEVEL3", }, }'AccountSettingsComponent accountSettings = new AccountSettingsComponent.Builder() .mfa("LEVEL1") .systemAccessTokenExpirationInSeconds("3000") .build(); CreateAccountSettingsTemplateOptions createOptions = new CreateAccountSettingsTemplateOptions.Builder() .accountId(enterpriseAccountId) .name(accountSettingsTemplateName) .description("IAM enterprise account settings template example") .accountSettings(accountSettings) .build(); Response<AccountSettingsTemplateResponse> createResponse = service.createAccountSettingsTemplate(createOptions).execute(); AccountSettingsTemplateResponse createResult = createResponse.getResult(); // Save the id for use by other test methods. accountSettingsTemplateId = createResult.getId(); accountSettingsTemplateVersion = createResult.getVersion().longValue(); System.out.println(createResult);const settings = { mfa: "LEVEL1", system_access_token_expiration_in_seconds: "3000", } const templateParams = { name: "Example-Account-Settings-Template", description: "IAM enterprise account settings template example", accountId: enterpriseAccountId, accountSettings: settings, } try { const res = await iamIdentityService.createAccountSettingsTemplate(templateParams); accountSettingsTemplateEtag = res.headers.etag; const { result } = res; accountSettingsTemplateId = result.id; accountSettingsTemplateVersion = result.version; console.log(JSON.stringify(result, null, 2)); } catch (err) { console.warn(err); }account_settings = {} account_settings['mfa'] = 'LEVEL1' account_settings['system_access_token_expiration_in_seconds'] = 3000 create_response = iam_identity_service.create_account_settings_template( name='Example-Account-Settings-Template', description='IAM enterprise account settings template example', account_id=enterprise_account_id, account_settings=account_settings, ) account_settings_template = create_response.get_result() print('\ncreate_account_settings_template() response: ', json.dumps(account_settings_template, indent=2)) global account_settings_template_id account_settings_template_id = account_settings_template['id'] global account_settings_template_version account_settings_template_version = account_settings_template['version']settings := &iamidentityv1.AccountSettingsComponent{ Mfa: core.StringPtr("LEVEL1"), SystemAccessTokenExpirationInSeconds: core.StringPtr("3000"), } createOptions := &iamidentityv1.CreateAccountSettingsTemplateOptions{ Name: &accountSettingsTemplateName, Description: core.StringPtr("GoSDK test Account Settings Template"), AccountID: &enterpriseAccountID, AccountSettings: settings, } createResponse, response, err := iamIdentityService.CreateAccountSettingsTemplate(createOptions) b, _ := json.MarshalIndent(createResponse, "", " ") fmt.Println(string(b)) // Grab the ID and Etag value from the response for use in the update operation. accountSettingsTemplateId = *createResponse.ID accountSettingsTemplateVersion = *createResponse.Version accountSettingsTemplateEtag = response.GetHeaders().Get("Etag")
Actualización de una plantilla de configuración mediante la API
Puede actualizar una plantilla de configuración en cualquier momento antes de confirmarla. Para actualizar una versión específica de una plantilla de configuración de cuenta, siga estos pasos:
-
Enumere las plantillas de configuración en su cuenta de empresa y anote el ID de
AccountSettingsTemplatey el ETag en la respuesta para la versión de plantilla que desea actualizar.curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_templates?account_id=5bbe28be34524sdbdaa34d37d1f2294a' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'ListAccountSettingsTemplatesOptions listOptions = new ListAccountSettingsTemplatesOptions.Builder() .accountId(enterpriseAccountId) .build(); Response<AccountSettingsTemplateList> response = service.listAccountSettingsTemplates(listOptions).execute(); AccountSettingsTemplateList result = response.getResult(); System.out.println(result);const params = { accountId: enterpriseAccountId, } try { const res = await iamIdentityService.listAccountSettingsTemplates(params); console.log(JSON.stringify(res.result, null, 2)); } catch (err) { console.warn(err); }list_response = iam_identity_service.list_account_settings_templates(account_id=enterprise_account_id) account_settings_template_list = list_response.get_result() print('\nlist_account_settings_templates response: ', json.dumps(account_settings_template_list, indent=2))listOptions := &iamidentityv1.ListAccountSettingsTemplatesOptions{ AccountID: &enterpriseAccountID, } listResponse, response, err := iamIdentityService.ListAccountSettingsTemplates(listOptions) b, _ := json.MarshalIndent(listResponse, "", " ") fmt.Println(string(b)) -
Actualizar la definición de la plantilla de configuración.
Cuando actualizas el nombre de la plantilla, se actualiza el nombre de todas las versiones.
curl -X POST 'https://iam.cloud.ibm.com/v1/account_settings_templates/{template_id}/version' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN' -d '{ "account_id": "5bbe28be34524sdbdaa34d37d1f2294a", "name": "my template name", "account_settings": { "mfa": "NONE", }, }'AccountSettingsComponent accountSettings = new AccountSettingsComponent.Builder() .mfa("LEVEL1") .systemAccessTokenExpirationInSeconds("3000") .build(); UpdateAccountSettingsTemplateVersionOptions updateOptions = new UpdateAccountSettingsTemplateVersionOptions.Builder() .accountId(enterpriseAccountId) .templateId(accountSettingsTemplateId) .version(Long.toString(accountSettingsTemplateVersion)) .ifMatch(accountSettingsTemplateEtag) .name(accountSettingsTemplateName) .description("IAM enterprise account settings template example - updated") .accountSettings(accountSettings) .build(); Response<AccountSettingsTemplateResponse> updateResponse = service.updateAccountSettingsTemplateVersion(updateOptions).execute(); AccountSettingsTemplateResponse updateResult = updateResponse.getResult(); accountSettingsTemplateEtag = updateResponse.getHeaders().values("Etag").get(0); System.out.println(updateResult);const settings = { mfa: "LEVEL1", system_access_token_expiration_in_seconds: "3000", } const params = { accountId: enterpriseAccountId, templateId: accountSettingsTemplateId, version: accountSettingsTemplateVersion, ifMatch: accountSettingsTemplateEtag, name: "Example-Account-Settings-Template", description: "IAM enterprise account settings template example - updated", accountSettings: settings, } try { const res = await iamIdentityService.updateAccountSettingsTemplateVersion(params); accountSettingsTemplateEtag = res.headers.etag; console.log(JSON.stringify(res.result, null, 2)); } catch (err) { console.warn(err); }account_settings = {} account_settings['mfa'] = 'LEVEL1' account_settings['system_access_token_expiration_in_seconds'] = 3000 update_response = iam_identity_service.update_account_settings_template_version( account_id=enterprise_account_id, template_id=account_settings_template_id, version=str(account_settings_template_version), if_match=account_settings_template_etag, name='Example-Account-Settings-Template', description='IAM enterprise account settings template example - updated', account_settings=account_settings, ) account_settings_template = update_response.get_result() print('\nupdate_account_settings_template() response: ', json.dumps(account_settings_template, indent=2)) account_settings_template_etag = update_response.get_headers()['Etag']settings := &iamidentityv1.AccountSettingsComponent{ Mfa: core.StringPtr("LEVEL1"), SystemAccessTokenExpirationInSeconds: core.StringPtr("3000"), } updateOptions := &iamidentityv1.UpdateAccountSettingsTemplateVersionOptions{ AccountID: &enterpriseAccountID, TemplateID: &accountSettingsTemplateId, Version: core.StringPtr(strconv.FormatInt(accountSettingsTemplateVersion, 10)), IfMatch: &accountSettingsTemplateEtag, Name: &accountSettingsTemplateName, Description: core.StringPtr("GoSDK test Account Settings Template - updated"), AccountSettings: settings, } updateResponse, response, err := iamIdentityService.UpdateAccountSettingsTemplateVersion(updateOptions) b, _ := json.MarshalIndent(updateResponse, "", " ") fmt.Println(string(b)) accountSettingsTemplateEtag = response.GetHeaders().Get("Etag")
Configurar una plantilla de configuración mediante la API
Revise la plantilla de configuración y confírmela para que no se puedan realizar más cambios en la versión. Comprometer una versión es un paso necesario antes de poder asignarla a cuentas secundarias. De esta manera, el administrador de asignación de plantillas puede estar seguro de que asigna la versión solo cuando usted haya confirmado que está lista.
-
Obtenga la versión de una plantilla de perfil de confianza que desee revisar y confirmar.
curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_templates/AccountSettingsTemplate-767fc1f6-c77c-4196-b3d6-a009a5a536e9/versions/1' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'GetAccountSettingsTemplateVersionOptions getOptions = new GetAccountSettingsTemplateVersionOptions.Builder() .templateId(accountSettingsTemplateId) .version(Long.toString(accountSettingsTemplateVersion)) .build(); Response<AccountSettingsTemplateResponse> response = service.getAccountSettingsTemplateVersion(getOptions).execute(); AccountSettingsTemplateResponse getResult = response.getResult(); // Grab the Etag value from the response for use in the update operation. accountSettingsTemplateEtag = response.getHeaders().values("Etag").get(0); System.out.println(getResult);get_response = iam_identity_service.get_account_settings_template_version( template_id=account_settings_template_id, version=str(account_settings_template_version) ) account_settings_template = get_response.get_result() print('\nget_account_settings_template response: ', json.dumps(account_settings_template, indent=2)) global account_settings_template_etag account_settings_template_etag = get_response.get_headers()['Etag']get_response = iam_identity_service.get_account_settings_template_version( template_id=account_settings_template_id, version=str(account_settings_template_version) ) account_settings_template = get_response.get_result() print('\nget_account_settings_template response: ', json.dumps(account_settings_template, indent=2)) global account_settings_template_etag account_settings_template_etag = get_response.get_headers()['Etag']getOptions := &iamidentityv1.GetAccountSettingsTemplateVersionOptions{ TemplateID: &accountSettingsTemplateId, Version: core.StringPtr(strconv.FormatInt(accountSettingsTemplateVersion, 10)), } getResponse, response, err := iamIdentityService.GetAccountSettingsTemplateVersion(getOptions) b, _ := json.MarshalIndent(getResponse, "", " ") fmt.Println(string(b)) // Grab the Etag value from the response for use in the update operation. accountSettingsTemplateEtag = response.GetHeaders().Get("Etag") -
Revise la respuesta para confirmar que está listo para confirmar.
-
Comprometer la versión de la plantilla de perfil de confianza.
curl -X POST 'https://iam.cloud.ibm.com/v1/account_settings_templates/{template_id}/{version}/commit' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'CommitAccountSettingsTemplateOptions commitOptions = new CommitAccountSettingsTemplateOptions.Builder() .templateId(accountSettingsTemplateId) .version(Long.toString(accountSettingsTemplateVersion)) .build(); Response<Void> commitResponse = service.commitAccountSettingsTemplate(commitOptions).execute();const commitParams = { templateId: accountSettingsTemplateId, version: accountSettingsTemplateVersion, } try { const res = await iamIdentityService.commitAccountSettingsTemplate(commitParams); } catch (err) { console.warn(err); }commit_response = iam_identity_service.commit_account_settings_template( template_id=account_settings_template_id, version=str(account_settings_template_version) )commitOptions := &iamidentityv1.CommitAccountSettingsTemplateOptions{ TemplateID: &accountSettingsTemplateId, Version: core.StringPtr(strconv.FormatInt(accountSettingsTemplateVersion, 10)), } response, err := iamIdentityService.CommitAccountSettingsTemplate(commitOptions)
Asignación de una plantilla de configuración a cuentas secundarias mediante el uso de la API
En tu empresa solo puedes asignar las versiones de una única plantilla de configuración a la vez. Puede asignar diferentes versiones de la misma plantilla de configuración, pero no puede utilizar varias plantillas de configuración en una empresa. Puede que desee asignar versiones diferentes a cuentas con requisitos diferentes, como cuentas de producción y de prueba.
No puede asignar una plantilla de IAM a la cuenta de empresa, solo a las cuentas secundarias.
Para crear una asignación para una plantilla de configuración de cuenta, siga estos pasos:
-
Enumere las plantillas de configuración en su cuenta de empresa y anote el ID de
AccountSettingsTemplatey el ETag en la respuesta para la versión de plantilla que desea asignar a las cuentas secundarias.curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_templates?account_id=5bbe28be34524sdbdaa34d37d1f2294a' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'ListAccountSettingsTemplatesOptions listOptions = new ListAccountSettingsTemplatesOptions.Builder() .accountId(enterpriseAccountId) .build(); Response<AccountSettingsTemplateList> response = service.listAccountSettingsTemplates(listOptions).execute(); AccountSettingsTemplateList result = response.getResult(); System.out.println(result);const params = { accountId: enterpriseAccountId, } try { const res = await iamIdentityService.listAccountSettingsTemplates(params); console.log(JSON.stringify(res.result, null, 2)); } catch (err) { console.warn(err); }list_response = iam_identity_service.list_account_settings_templates(account_id=enterprise_account_id) account_settings_template_list = list_response.get_result() print('\nlist_account_settings_templates response: ', json.dumps(account_settings_template_list, indent=2))listOptions := &iamidentityv1.ListAccountSettingsTemplatesOptions{ AccountID: &enterpriseAccountID, } listResponse, response, err := iamIdentityService.ListAccountSettingsTemplates(listOptions) b, _ := json.MarshalIndent(listResponse, "", " ") fmt.Println(string(b)) -
Asigne la plantilla de configuración a un
AccountoAccountGroup.curl -X POST 'https://iam.cloud.ibm.com/v1/account_settings_assignments' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN' -d '{ "template_id": "AccountSettingsTemplate-cac1b203-5956-4981-bdec-0a4af4feab4d", "template_version": 1, "target_type": "Account", "target": "5bbe28be34524e88a34d37d1f2294a8a" }'CreateAccountSettingsAssignmentOptions assignOptions = new CreateAccountSettingsAssignmentOptions.Builder() .templateId(accountSettingsTemplateId) .templateVersion(accountSettingsTemplateVersion) .targetType("Account") .target(enterpriseSubAccountId) .build(); Response<TemplateAssignmentResponse> assignResponse = service.createAccountSettingsAssignment(assignOptions).execute(); TemplateAssignmentResponse assignmentResult = assignResponse.getResult(); // Save the id for use by other test methods. accountSettingsTemplateAssignmentId = assignmentResult.getId(); // Grab the Etag value from the response for use in the update operation. accountSettingsTemplateAssignmentEtag = assignResponse.getHeaders().values("Etag").get(0); System.out.println(assignmentResult);const assignParams = { templateId: accountSettingsTemplateId, templateVersion: accountSettingsTemplateVersion, targetType: "Account", target: enterpriseSubAccountId, } try { const assRes = await iamIdentityService.createAccountSettingsAssignment(assignParams); const { result } = assRes; accountSettingsTemplateAssignmentId = result.id; accountSettingsTemplateAssignmentEtag= assRes.headers.etag; console.log(JSON.stringify(result, null, 2)); } catch (err) { console.warn(err); }assign_response = iam_identity_service.create_account_settings_assignment( template_id=account_settings_template_id, template_version=account_settings_template_version, target_type='Account', target=enterprise_subaccount_id, ) assignment = assign_response.get_result() print('\ncreate_account_settings_assignment() response: ', json.dumps(assignment, indent=2)) global account_settings_template_assignment_id account_settings_template_assignment_id = assignment['id'] global account_settings_template_assignment_etag account_settings_template_assignment_etag = assign_response.get_headers()['Etag']assignOptions := &iamidentityv1.CreateAccountSettingsAssignmentOptions{ TemplateID: &accountSettingsTemplateId, TemplateVersion: &accountSettingsTemplateVersion, TargetType: core.StringPtr("Account"), Target: &enterpriseSubAccountID, } assignResponse, response, err := iamIdentityService.CreateAccountSettingsAssignment(assignOptions) b, _ := json.MarshalIndent(assignResponse, "", " ") fmt.Println(string(b)) accountSettingsTemplateAssignmentEtag = response.GetHeaders().Get("Etag") accountSettingsTemplateAssignmentId = *assignResponse.ID
Si una asignación falla, utilice el método account-settings-assigment-update para volver a intentarlo.
Creación de una nueva versión mediante la API
Si desea realizar cambios en una plantilla de configuración que está confirmada o asignada, cree una nueva versión.
settings := &iamidentityv1.AccountSettingsComponent{
Mfa: core.StringPtr("LEVEL1"),
SystemAccessTokenExpirationInSeconds: core.StringPtr("2600"),
RestrictCreatePlatformApikey: core.StringPtr("RESTRICTED"),
RestrictCreateServiceID: core.StringPtr("RESTRICTED"),
}
createOptions := &iamidentityv1.CreateAccountSettingsTemplateVersionOptions{
Name: &accountSettingsTemplateName,
Description: core.StringPtr("GoSDK test Account Settings Template - new version"),
AccountID: &enterpriseAccountID,
TemplateID: &accountSettingsTemplateId,
AccountSettings: settings,
}
createResponse, response, err := iamIdentityService.CreateAccountSettingsTemplateVersion(createOptions)
b, _ := json.MarshalIndent(createResponse, "", " ")
fmt.Println(string(b))
accountSettingsTemplateVersion = *createResponse.Version
Guarde el ID de AccountSettingsTemplate y la versión de la nueva versión para usarla en llamadas posteriores.
Actualización de una tarea mediante la API
Actualizar una asignación para migrar a una nueva versión o reintentar una asignación fallida.
La nueva versión de plantilla que asignas reemplaza a la versión antigua. Más información sobre Asignación de una nueva versión.
- Enumere las asignaciones de plantillas de configuración en su cuenta de empresa y anote el ID de asignación, el ETag y la versión de la asignación que desea actualizar:
curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_assignments?account_id=5bbe28be34524sdbdaa34d37d1f2294a' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'
ListAccountSettingsTemplatesOptions listOptions = new ListAccountSettingsTemplatesOptions.Builder()
.accountId(enterpriseAccountId)
.build();
Response<AccountSettingsTemplateList> listResponse = service.listAccountSettingsTemplates(listOptions).execute();
AccountSettingsTemplateList listResult = listResponse.getResult();
System.out.println(listResult);
const params = {
accountId: enterpriseAccountId,
templateId: accountSettingsTemplateId,
}
try {
const res = await iamIdentityService.listAccountSettingsAssignments(params);
console.log(JSON.stringify(res.result, null, 2));
} catch (err) {
console.warn(err);
}
list_response = iam_identity_service.list_account_settings_assignments(
account_id=enterprise_account_id, template_id=account_settings_template_id
)
assignment_list = list_response.get_result()
print('\ncreate_account_settings_assignment() response: ', json.dumps(assignment_list, indent=2))
listOptions := &iamidentityv1.ListAccountSettingsAssignmentsOptions{
AccountID: &enterpriseAccountID,
TemplateID: &accountSettingsTemplateId,
}
listResponse, response, err := iamIdentityService.ListAccountSettingsAssignments(listOptions)
b, _ := json.MarshalIndent(listResponse, "", " ")
fmt.Println(string(b))
- Actualiza la asignación de la configuración de la cuenta. Si vuelve a intentar una tarea, utilice el mismo número de versión.
curl -X PATCH 'https://iam.cloud.ibm.com/v1/account_settings_assignments/<assignment_id>' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN' -d '{
"template_version": 2
}'
UpdateAccountSettingsAssignmentOptions updateOptions = new UpdateAccountSettingsAssignmentOptions.Builder()
.assignmentId(accountSettingsTemplateAssignmentId)
.templateVersion(accountSettingsTemplateVersion)
.ifMatch(accountSettingsTemplateAssignmentEtag)
.build();
Response<TemplateAssignmentResponse> updateResponse = service.updateAccountSettingsAssignment(updateOptions).execute();
TemplateAssignmentResponse updateResult = updateResponse.getResult();
// Grab the Etag value from the response for use in the update operation.
accountSettingsTemplateAssignmentEtag = updateResponse.getHeaders().values("Etag").get(0);
System.out.println(updateResult);
const assignParams = {
assignmentId: accountSettingsTemplateAssignmentId,
templateVersion: accountSettingsTemplateVersion,
ifMatch: accountSettingsTemplateAssignmentEtag,
}
try {
const assRes = await iamIdentityService.updateAccountSettingsAssignment(assignParams);
console.log(JSON.stringify(assRes.result, null, 2));
} catch (err) {
console.warn(err);
}
assign_response = iam_identity_service.update_account_settings_assignment(
assignment_id=account_settings_template_assignment_id,
template_version=account_settings_template_version,
if_match=account_settings_template_assignment_etag,
)
assignment = assign_response.get_result()
print('\nupdate_account_settings_template_assignment response: ', json.dumps(assignment, indent=2))
account_settings_template_assignment_etag = assign_response.get_headers()['Etag']
updateOptions := &iamidentityv1.UpdateAccountSettingsAssignmentOptions{
AssignmentID: &accountSettingsTemplateAssignmentId,
TemplateVersion: &accountSettingsTemplateVersion,
IfMatch: &accountSettingsTemplateAssignmentEtag,
}
updateResponse, response, err := iamIdentityService.UpdateAccountSettingsAssignment(updateOptions)
b, _ := json.MarshalIndent(updateResponse, "", " ")
fmt.Println(string(b))
Eliminar una asignación mediante la API
Puede eliminar la asignación de una plantilla de una cuenta o grupo de cuentas a la que esté asignada. Puede que desee hacerlo si la plantilla no funciona como debería. Cuando eliminas una asignación de plantilla de una cuenta, por defecto se restablece la versión anterior de la plantilla. Si la asignación que eliminas es para la primera o única versión de una plantilla, se eliminan las preferencias de configuración gestionadas por la empresa en la cuenta secundaria.
Para eliminar una asignación, sigue estos pasos:
- Enumere las asignaciones en la cuenta y anote el ID de la asignación que desea eliminar.
curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_assignments?account_id=5bbe28be34524sdbdaa34d37d1f2294a' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'
ListAccountSettingsTemplatesOptions listOptions = new ListAccountSettingsTemplatesOptions.Builder()
.accountId(enterpriseAccountId)
.build();
Response<AccountSettingsTemplateList> listResponse = service.listAccountSettingsTemplates(listOptions).execute();
AccountSettingsTemplateList listResult = listResponse.getResult();
System.out.println(listResult);
const params = {
accountId: enterpriseAccountId,
templateId: accountSettingsTemplateId,
}
try {
const res = await iamIdentityService.listAccountSettingsAssignments(params);
console.log(JSON.stringify(res.result, null, 2));
} catch (err) {
console.warn(err);
}
list_response = iam_identity_service.list_account_settings_assignments(
account_id=enterprise_account_id, template_id=account_settings_template_id
)
assignment_list = list_response.get_result()
print('\ncreate_account_settings_assignment() response: ', json.dumps(assignment_list, indent=2))
listOptions := &iamidentityv1.ListAccountSettingsAssignmentsOptions{
AccountID: &enterpriseAccountID,
TemplateID: &accountSettingsTemplateId,
}
listResponse, response, err := iamIdentityService.ListAccountSettingsAssignments(listOptions)
b, _ := json.MarshalIndent(listResponse, "", " ")
fmt.Println(string(b))
- Elimine la asignación.
Al eliminar una asignación, es posible que se active una asignación anterior. Para obtener más información, consulte Trabajar con versiones de plantilla.
curl -X DELETE 'https://iam.cloud.ibm.com/v1/account_settings_assignments/<assignment_id>' -H 'Authorization: Bearer $TOKEN' }'
DeleteAccountSettingsAssignmentOptions deleteOptions = new DeleteAccountSettingsAssignmentOptions.Builder()
.assignmentId(accountSettingsTemplateAssignmentId)
.build();
Response<ExceptionResponse> deleteResponse = service.deleteAccountSettingsAssignment(deleteOptions).execute();
const params = {
assignmentId: accountSettingsTemplateAssignmentId,
}
try {
const res = await iamIdentityService.deleteAccountSettingsAssignment(params);
} catch (err) {
console.warn(err);
}
delete_response = iam_identity_service.delete_account_settings_assignment(
assignment_id=account_settings_template_assignment_id
)
deleteOptions := &iamidentityv1.DeleteAccountSettingsAssignmentOptions{
AssignmentID: &accountSettingsTemplateAssignmentId,
}
excResponse, response, err := iamIdentityService.DeleteAccountSettingsAssignment(deleteOptions)
Eliminar una versión mediante la API
Antes de poder eliminar una versión de plantilla de configuración, debe eliminar todas las asignaciones de esa versión de la plantilla. Para eliminar una versión específica, siga estos pasos:
- Enumere las plantillas de configuración en su cuenta de empresa y anote el ID de la plantilla de configuración y el número de versión de la versión que desea eliminar:
curl -X GET 'https://iam.cloud.ibm.com/v1/account_settings_templates?account_id=5bbe28be34524sdbdaa34d37d1f2294a' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'
ListAccountSettingsTemplatesOptions listOptions = new ListAccountSettingsTemplatesOptions.Builder()
.accountId(enterpriseAccountId)
.build();
Response<AccountSettingsTemplateList> response = service.listAccountSettingsTemplates(listOptions).execute();
AccountSettingsTemplateList result = response.getResult();
System.out.println(result);
const params = {
accountId: enterpriseAccountId,
}
try {
const res = await iamIdentityService.listAccountSettingsTemplates(params);
console.log(JSON.stringify(res.result, null, 2));
} catch (err) {
console.warn(err);
}
list_response = iam_identity_service.list_account_settings_templates(account_id=enterprise_account_id)
account_settings_template_list = list_response.get_result()
print('\nlist_account_settings_templates response: ', json.dumps(account_settings_template_list, indent=2))
listOptions := &iamidentityv1.ListAccountSettingsTemplatesOptions{
AccountID: &enterpriseAccountID,
}
listResponse, response, err := iamIdentityService.ListAccountSettingsTemplates(listOptions)
b, _ := json.MarshalIndent(listResponse, "", " ")
fmt.Println(string(b))
- Eliminar la versión:
Eliminar todas las versiones mediante el uso de la API
Asegúrese de eliminar primero las asignaciones de cada versión.
curl -X DELETE 'https://iam.cloud.ibm.com/v1/account_settings_templates/AccountSettingsTemplate-767fc1f6-c77c-4196-b3d6-a009a5a536e9' -H 'Content-Type: application/json' -H 'Authorization: Bearer $TOKEN'
DeleteAllVersionsOfAccountSettingsTemplateOptions deleteTeplateOptions = new DeleteAllVersionsOfAccountSettingsTemplateOptions.Builder()
.templateId(accountSettingsTemplateId)
.build();
Response<Void> deleteResponse = service.deleteAllVersionsOfAccountSettingsTemplate(deleteTeplateOptions).execute();
const params = {
templateId: accountSettingsTemplateId,
}
try {
const res = await iamIdentityService.deleteAllVersionsOfAccountSettingsTemplate(params);
} catch (err) {
console.warn(err);
}
delete_response = iam_identity_service.delete_all_versions_of_account_settings_template(
template_id=account_settings_template_id
)
deleteOptions := &iamidentityv1.DeleteAllVersionsOfAccountSettingsTemplateOptions{
TemplateID: &accountSettingsTemplateId,
}
response, err := iamIdentityService.DeleteAllVersionsOfAccountSettingsTemplate(deleteOptions)
Limitaciones de la plantilla de configuración
Solo se puede asignar una plantilla de configuración en una empresa. Puede asignar varias versiones de la plantilla, pero no plantillas diferentes.