Acerca de las cookies de este sitio Nuestros sitios web necesitan algunas cookies para funcionar correctamente (necesarias). Además, se pueden utilizar otras cookies con su consentimiento para analizar el uso del sitio, para mejorar la experiencia del usuario y para publicidad. Para obtener más información, consulte sus opciones de. Al visitar nuestro sitio web, acepta que procesemos la información tal y como se describe en ladeclaración de privacidad de IBM. Para facilitar la navegación, sus preferencias de cookies se compartirán entre los dominios web de IBM que se muestran aquí.
Gestión de usuarios en una cuenta
Utilice IBM Cloud® Identity and Access Management (IAM) para gestionar los usuarios de su cuenta. Puede invitar a usuarios, cancelar invitaciones, eliminar un usuario de una cuenta o actualizar IBMid de un usuario.
Todos los usuarios deben aceptar una invitación para convertirse en un usuario activo dentro de una nueva cuenta. Para más información, consulte Cancelación o reenvío de invitaciones pendientes
Antes de empezar
Invitar usuarios a una cuenta
Para invitar a usuarios y gestionar invitaciones pendientes, debe tener al menos uno de los siguientes tipos de acceso. Solo los usuarios que pueden invitar a otros. Si utiliza un ID de servicio para autenticarse, no puede invitar a nuevos usuarios a la cuenta.
- Propietario de la cuenta
- Una política de IAM con el rol de Editor o superior sobre el servicio de gestión de cuentas de gestión de usuarios
- El permiso de infraestructura clásica Gestionar usuarios para poder añadir usuarios
En función del nivel de acceso, puede invitar a nuevos usuarios y asignar todos los tipos de acceso o solo algunos.
Antes de poder invitar a usuarios mediante Terraform, asegúrese de haber completado lo siguiente:
- Instale la CLI de Terraform y configure el complemento de proveedor ' IBM Cloud ' para Terraform. Para obtener más información, consulte el tutorial de Introducción a Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.
- Cree un archivo de configuración de Terraform denominado
main.tf
. En este archivo, se definen los recursos utilizando el Lenguaje de Configuración HashiCorp. Para más información, consulte la documentación de Terraform.
Eliminar usuarios de una cuenta
Sólo los propietarios de cuentas y los usuarios con el acceso correcto pueden eliminar a otros. Si utiliza un ID de servicio para autenticarse, no puede eliminar usuarios de la cuenta. El siguiente acceso es necesario para eliminar usuarios de una cuenta:
- Una política de gestión de identidades y accesos (IAM) para el servicio de gestión de cuentas de gestión de usuarios con el rol de Administrador asignado.
- Si tiene infraestructura clásica en su cuenta, un usuario debe tener una política IAM para el servicio de gestión de cuentas Gestión de usuarios con el rol Administrador asignado y ser un ancestro del usuario en la jerarquía de usuarios de infraestructura clásica con el permiso Gestionar usuario infraestructura clásica asignado.
Cambiar el ID de IBM de un usuario
Para cambiar un ID de IBM, el ID de sustitución debe existir previamente. Si no está seguro de si el nuevo ID de IBM existe, los usuarios pueden ir a Mi IBM y pulsar Crear un ID de IBM. Si especifica una dirección de correo electrónico que corresponde a un dominio de proveedor de identidad federado (IdP), el ID de IBM le redirige a la página de inicio de sesión de ese IdP. Los inicios de sesión por primera vez en IBM® utilizando un IdP federado desencadenan la creación de un nuevo ID de IBM. De lo contrario, siga los pasos para crear el ID. La dirección de correo electrónico que se utiliza se convierte en el nuevo ID de IBM de repuesto del usuario.
Invitar a los usuarios de la consola
Para invitar a usuarios, siga estos pasos:
- En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios.
- Pulse Invitar a usuarios.
- Especifique las direcciones de correo electrónico de los usuarios. Si está invitando a más de un usuario con una única invitación, a todos se les asigna el mismo acceso. Puede restringir la pertenencia a su cuenta basándose en el dominio de los usuarios invitados. De esta manera, solo los usuarios de un dominio específico pueden ser invitados a la cuenta. Para obtener más información, consulte Restringir dominios de usuario para invitaciones de cuentas.
Los usuarios no pueden ser invitados automáticamente en las cuentas gestionadas por la empresa y deben ser añadidos manualmente.
- Añada una o varias de las opciones de acceso que gestionará. Debe asignar al menos una opción de acceso. Para las opciones de acceso que no añada y configure, se asigna el valor predeterminado Sin acceso. Según las opciones
que esté autorizado a gestionar, puede asignar los siguientes tipos de acceso:
- Añadir usuarios a grupos de acceso. Pulse Añadir para cada grupo de acceso al que desee que pertenezcan los usuarios.
- Asignar manualmente acceso de usuario. Amplíe la sección para asignar políticas de acceso IAM individuales o permisos de infraestructura clásicos.
- Seleccione Infraestructura clásica y luego elija uno de los tres conjuntos de permisos.
- Seleccione un grupo de servicios, como Todos los servicios habilitados para identidad y acceso, Todos los servicios de gestión de cuentas y Todos los servicios de gestión de cuentas de IAM, o un servicio específico. A continuación, puede limitar el acceso a toda la cuenta o solo a un grupo de recursos. A continuación, seleccione todos los roles que desee aplicar. Para ver las acciones que se correlacionan con cada rol, pulse los números que se muestran junto a cada rol. Algunos servicios permiten el uso de operadores avanzados para otorgar acceso a recursos que satisfagan convenios de denominación específicos. Consulte Asignación de acceso mediante el uso de políticas comodín para obtener más información.
- Seleccione Gestión de cuenta y luego elija la opción de todos servicios de gestión de cuenta o seleccione un servicio específico. A continuación, seleccione todos los roles que desee aplicar.
- Seleccione Añadir para guardar la asignación de acceso a la invitación.
- Después de añadir todas las asignaciones de acceso necesarias, pulse Invitar.
Puede cancelar una invitación para cualquier usuario que se muestre en un estado de Proceso o Pendiente en la columna Estado de Página Usuarios. Si un usuario invitado no ha recibido una invitación, puede volver a enviar la invitación a cualquier usuario en estado Pendiente. Puede añadir más políticas y permisos solo después de que un usuario haya aceptado la invitación.
Adición de usuarios de solo VPN
Cualquier usuario con los siguientes permisos puede añadir un usuario solo VPN:
- Para la infraestructura clásica, debe tener el permiso para gestionar usuarios en la cuenta.
- Para el acceso de IAM, debe tener el rol de Administrador o Editor en el servicio de gestión de cuentas de gestión de usuarios.
Para añadir un usuario solo VPN, siga los siguientes pasos:
- En la página Usuarios, pulse Añadir usuario solo VPN.
- Especifique los detalles de la información personal del usuario.
- Pulse Guardar.
Invitación a usuarios mediante la CLI
Para invitar a los usuarios utilizando la CLI, ejecute el mandato siguiente:
ibmcloud account user-invite USER_EMAIL [--access-groups ACCESS_GROUP_1,ACCESS_GROUP_2...]
Mediante la CLI, puede optar por no asignar el acceso y trabajar en la asignación de acceso más tarde. Para obtener más información sobre los parámetros del mandato, consulte ibmcloud account user-invite
.
Invitación a usuarios mediante la API
Puede utilizar la API para invitar a usuarios de forma masiva. A todos los usuarios incluidos en una sola invitación se les asigna el mismo acceso. Cuando invita usuarios mediante una API, debe especificar los correos electrónicos en una lista separada por comas y debe especificar cada entrada entre comillas. Este ejemplo asigna acceso añadiendo el usuario a un grupo de acceso.
curl -X POST https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users -H 'Authorization: Bearer <IAM_TOKEN>'
-H 'Content-Type: application/json' -d '{
"users": [
{
"email": "cloud_api_example_member@ibm.com",
"account_role": "Member"
}],
"iam_policy": [{
"type": "access",
"roles": [{
"role_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}],
"resources": [{
"attributes": [{
"name": "accountId",
"value": "987d4cfd77b04e9b9e1a6asdcc861234"
},
{
"name": "resourceType",
"value": "resource-group"
},
{
"name": "resource",
"value": "2c7449dd871049c29ec3a53853ce123e"
}
]
}]
}],
"access_groups":[
"AccessGroupId-******-0f54-4d4f-89c2-e5fdc0b9a28c",
"AccessGroupId-******-3087-4395-a382-a8e8ff9ccc23"
]
}'
InviteUser inviteUserModel = new InviteUser.Builder()
.email(memberEmail)
.accountRole("Member")
.build();
Role roleModel = new Role.Builder()
.roleId(viewerRoleId)
.build();
Attribute attributeModel = new Attribute.Builder()
.name("accountId")
.value(accountId)
.build();
Attribute attributeModel2 = new Attribute.Builder()
.name("resourceGroupId")
.value("*")
.build();
Resource resourceModel = new Resource.Builder()
.addAttributes(attributeModel)
.addAttributes(attributeModel2)
.build();
InviteUserIamPolicy inviteUserIamPolicyModel = new InviteUserIamPolicy.Builder()
.type("access")
.addRoles(roleModel)
.addResources(resourceModel)
.build();
InviteUsersOptions inviteUsersOptions = new InviteUsersOptions.Builder()
.accountId(accountId)
.addUsers(inviteUserModel)
.addIamPolicy(inviteUserIamPolicyModel)
.addAccessGroups(accessGroupId)
.build();
Response<InvitedUserList> response = adminService.inviteUsers(inviteUsersOptions).execute();
InvitedUserList invitedUserList = response.getResult();
System.out.println(invitedUserList);
const inviteUserModel = {
email: memberEmail,
account_role: 'Member',
};
const roleModel = {
role_id: viewerRoleId,
};
const attributeModel = {
name: 'accountId',
value: accountId,
};
const attributeModel2 = {
name: 'resourceGroupId',
value: '*',
};
const resourceModel = {
attributes: [attributeModel, attributeModel2],
};
const inviteUserIamPolicyModel = {
type: 'access',
roles: [roleModel],
resources: [resourceModel],
};
const params = {
accountId: accountId,
users: [inviteUserModel],
iamPolicy: [inviteUserIamPolicyModel],
accessGroups: [accessGroupId],
};
userManagementAdminService.inviteUsers(params)
.then(res => {
deleteUserId = res.result.resources[0].id;
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
invite_user_model = {
'email': member_email,
'account_role': 'Member'
}
role_model = {'role_id': viewer_role_id}
attribute_model = {'name': 'accountId', 'value': account_id}
attribute_model2 = {'name': 'resourceGroupId', 'value': '*'}
resource_model = {'attributes': [attribute_model, attribute_model2]}
invite_user_iam_policy_model = {
'type': 'access',
'roles': [role_model],
'resources': [resource_model]
}
invite_user_response = user_management_admin_service.invite_users(
account_id=account_id,
users=[invite_user_model],
iam_policy=[invite_user_iam_policy_model],
access_groups=[access_group_id]
).get_result()
print(json.dumps(invite_user_response, indent=2))
inviteUserModel := &usermanagementv1.InviteUser{
Email: &memberEmail,
AccountRole: core.StringPtr("Member"),
}
roleModel := &usermanagementv1.Role{
RoleID: &viewerRoleID,
}
attributeModel := &usermanagementv1.Attribute{
Name: core.StringPtr("accountId"),
Value: &accountID,
}
attributeModel2 := &usermanagementv1.Attribute{
Name: core.StringPtr("resourceGroupId"),
Value: core.StringPtr("*"),
}
resourceModel := &usermanagementv1.Resource{
Attributes: []usermanagementv1.Attribute{*attributeModel, *attributeModel2},
}
inviteUserIamPolicyModel := &usermanagementv1.InviteUserIamPolicy{
Type: core.StringPtr("access"),
Roles: []usermanagementv1.Role{*roleModel},
Resources: []usermanagementv1.Resource{*resourceModel},
}
inviteUsersOptions := &usermanagementv1.InviteUsersOptions{
AccountID: &accountID,
Users: []usermanagementv1.InviteUser{*inviteUserModel},
IamPolicy: []usermanagementv1.InviteUserIamPolicy{*inviteUserIamPolicyModel},
AccessGroups: []string{accessGroupID},
}
invitedUserList, response, err := userManagementAdminService.InviteUsers(inviteUsersOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(invitedUserList, "", " ")
fmt.Println(string(b))
Puede asignar acceso a un grupo de servicios. Para asignar acceso a todos los servicios habilitados para Identidad y Acceso, especifique " serviceType
" para el atributo " name
"
y utilice " value
" " service
. Para asignar el acceso a todos los servicios de gestión de cuentas, especifique " serviceType
" para el atributo " name
" y utilice " value
" " platform_service
. Para asignar acceso al subconjunto de servicios de gestión de cuentas Todos los servicios de gestión de cuentas IAM, especifique "
service_group_id
" para el atributo " name
" y utilice " value
" " IAM
.
Invitación a los usuarios utilizando Terraform
Puede invitar a los usuarios a su cuenta de IBM Cloud utilizando Terraform.
- Crea un argumento en tu archivo '
main.tf
'. El siguiente ejemplo invita a usuarios utilizando el recursoibm_iam_user_invite
, dondeusers
es la lista de ID de correo electrónico de usuarios a los que invitar.
Para obtener más información, consulte los detalles de referencia de los argumentos en la página de Terraform Identity and Access Management(IAM).resource "ibm_iam_user_invite" "invite_user" { users = ["test@in.ibm.com"] }
- Aprovisiona los recursos del archivo '
main.tf
'. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.- Ejecute '
terraform plan
para generar un plan de ejecución Terraform para previsualizar las acciones propuestas.terraform plan
- Ejecute '
terraform apply
' para crear los recursos definidos en el plan.terraform apply
- Ejecute '
Cancelación o reenvío de invitaciones pendientes
Después de invitar a nuevos usuarios a unirse a su cuenta, IBM Cloud requiere que todos los usuarios, excepto los de VPN, acepten la invitación para convertirse en un usuario activo en su cuenta.
La invitación caduca después de 30 días. Los nuevos usuarios de IBM Cloud pueden aceptar una invitación sólo utilizando el enlace de invitación que han recibido a través del correo electrónico.
Puede cancelar una invitación para cualquier usuario que se muestre en un estado de Proceso o Pendiente en la columna Estado de Página Usuarios. Si un usuario invitado no ha recibido una invitación, puede volver a enviar la invitación a cualquier usuario en estado Pendiente.
- Vaya a la Página Usuarios.
- Localice la fila para el usuario en estado
Processing
oPending
. - Pulse el icono Acciones
y, a continuación, seleccione Reenviar invitación o Cancelar invitación.
Aceptación de invitaciones en la consola
Si el usuario invitado ya es miembro de IBM Cloud, recibe un enlace de invitación en sus notificaciones y por correo electrónico. En la página de Notificaciones,
los usuarios pueden utilizar el campo de búsqueda para localizar una invitación o filtrar por el tipo de notificación denominada account
. Para obtener más información, consulte Gestión de notificaciones de invitación y Visualización de notificaciones.
Aceptación de invitaciones utilizando la CLI
Si el usuario invitado ya es miembro de IBM Cloud, puede aceptar invitaciones utilizando la CLI. En el siguiente mandato ibmcloud login
, el ACCOUNT_ID
es el ID de la cuenta de destino a la que se invita al usuario a unirse.
ibmcloud login -c ACCOUNT_ID --accept
Aceptación de invitaciones utilizando la API
Si el usuario invitado ya es miembro de IBM Cloud, puede aceptar invitaciones utilizando la API. En el ejemplo siguiente, ACCOUNT_ID
es el ID de la cuenta de destino a la que se invita al usuario a unirse y IAM_TOKEN
pertenece al invitado.
curl -X POST \
'https://iam.cloud.ibm.com/v2/users/accept' \
--header 'Authorization: Bearer <IAM_TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
"account_id": "<ACCOUNT ID>"
}
Eliminación de un usuario de una cuenta mediante la consola
Cuando elimina un usuario de una cuenta, el usuario deja de poder iniciar una sesión en la consola, cambiar a su cuenta y acceder a los recursos de la cuenta. Al eliminar un usuario de una cuenta, no se suprime el IBMid de dicho usuario.
Para eliminar un usuario de una cuenta, realice estos pasos:
- En la consola de IBM Cloud®, pulse Gestionar > Acceso (IAM) y seleccione Usuarios.
- En la fila correspondiente al usuario que desea eliminar, pulse el icono Acciones
> Eliminar usuario.
Todos los recursos creados por el usuario permanecen en la cuenta, pero se eliminan todas las claves de API de IBM Cloud que el usuario ha creado. El usuario ya no tiene acceso a trabajar con los recursos creados. El propietario de la cuenta o un administrador del servicio o de la instancia de servicio puede asignar a otros usuarios para que trabajen con los recursos o los supriman de la cuenta.
Si recibe un mensaje de error que indica que un usuario de infraestructura clásica no se puede eliminar, asegúrese de los descendientes de dicho usuario en la jerarquía de usuarios tengan un nuevo padre asignado, estén inhabilitados en la cuenta o se hayan suprimido. A continuación, vuelva a intentarlo.
Como alternativa a la eliminación de un usuario de su cuenta, puede asignarle una política de acceso con una condición temporal basada en el tiempo. De este modo, el usuario puede iniciar sesión en la consola y ver la cuenta en su lista de cuentas, pero no puede acceder a los recursos de la cuenta antes de que comience la política ni después de que expire. Para obtener más información, consulte Creación de una condición temporal basada en el tiempo.
Eliminación de un usuario de una cuenta mediante la CLI
Para eliminar un usuario de una cuenta, ejecute el mandato siguiente:
ibmcloud account user-remove USER_ID [-c ACCOUNT_ID] [-f, --force]
Para conocer las opciones de comandos, consulte Administrar cuentas y usuarios comandos CLI.
Eliminación de un usuario de una cuenta mediante la API
Para eliminar un usuario de una cuenta, llame a la API de gestión de usuarios, tal como se muestra en la solicitud de ejemplo siguiente.
Sustituya las variables por el ID de IAM del usuario. Debe utilizar una señal de usuario para la autorización. Los ID de servicio no pueden eliminar usuarios de una cuenta.
curl -X DELETE https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000 -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json'
RemoveUserOptions removeUserOptions = new RemoveUserOptions.Builder()
.accountId(accountId)
.iamId(deleteUserId)
.build();
service.removeUser(removeUserOptions).execute();
const params = {
accountId: accountId,
iamId: deleteUserId,
};
userManagementAdminService.removeUser(params)
.then(res => {
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
response = user_management_admin_service.remove_user(
account_id=account_id,
iam_id=delete_user_id,
).get_result()
print(json.dumps(response, indent=2))
removeUserOptions := userManagementService.NewRemoveUserOptions(
accountID,
deleteUserID,
)
response, err := userManagementAdminService.RemoveUser(removeUserOptions)
if err != nil {
panic(err)
}
También puede eliminar un usuario por su ID de usuario o por su dirección de correo electrónico y dominio. Se requiere el ID de usuario o el correo electrónico y el dominio. Para obtener más información, consulte Eliminar usuario de una cuenta por ID de usuario o correo electrónico.
curl -X DELETE https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users?user_id=user%40ibm.com&email=user.email%40ibm.com&realm=ibmid -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json'
Cambiar el IBMid de un usuario mediante la consola
Como propietario de una cuenta, puede actualizar el ID de IBM de un usuario. El nuevo ID de IBM que se utiliza para sustituir el ID de IBM actual debe existir previamente. El ID de IBM que está sustituyendo se elimina de la cuenta. Si necesita que el ID de IBM existente continúe siendo miembro de la cuenta, debe volver a invitar al usuario y restablecer su acceso.
Los propietarios de cuentas no pueden cambiar su propio ID de IBM.
Después de que el usuario se asegure de que el nuevo IBMid existe, complete los siguientes pasos para cambiar el IBMid del usuario:
- Vaya a Gestionar > Acceso (IAM) > Usuarios en la consola de IBM Cloud® y seleccione el usuario cuyo IBMid desea actualizar.
- En la sección Detalles, haga clic en Actualizar IBMid.
- Especifique el nuevo ID de IBM y pulse Actualizar.
Ahora el usuario puede iniciar sesión en ibm.com con su nuevo IBMid y continuar trabajando en la cuenta de IBM Cloud con el acceso asignado a su IBMid utilizado anteriormente.