Gestión del acceso a los recursos

Para gestionar el acceso para usuarios o ID de servicio mediante políticas de IAM, debe ser el propietario de la cuenta o tener asignado el acceso correcto. Para asignar el acceso de usuario a recursos debe ser administrador en todos los servicios de la cuenta o estar asignado como administrador para el servicio o instancia de servicio en particular. Para asignar acceso a un ID de servicio, debe ser administrador en el servicio de identidad o el ID de servicio específico.

Asignación de acceso a recursos

Puede asignar acceso a recursos mediante dos tipos de política:

  • Acceso a recursos de la cuenta, incluida la opción de seleccionar un tipo o todos ellos
  • Acceso a los recursos dentro de un grupo de recursos, incluida la opción de sólo un recurso o todos los recursos

Si elimina o edita una política existente para un ID de servicio que se está utilizando actualmente, podría causar la interrupción del servicio.

Si desea habilitar un acceso de administrador completo de usuario para completar tareas de gestión, como por ejemplo invitar y eliminar usuarios, ver la facturación y el uso, gestionar los ID de servicio, gestionar grupos de acceso, gestionar el acceso de usuario y acceder a todos los recursos habilitados para IAM, debe asignar a un usuario el acceso siguiente:

  • Una política para los servicios habilitados de Identidad y Acceso con las funciones de Administrador y Gestor.
  • Una política con el rol de Administrador en todos los servicios de Gestión de Cuentas.

También puede establecer etiquetas de gestión de acceso para gestionar el acceso. Para obtener más información, consulte Control del acceso a los recursos mediante etiquetas.

Los usuarios con la función de administrador de los servicios de gestión de cuentas pueden cambiar el acceso de otros usuarios y eliminar usuarios del recurso, incluidos otros usuarios con la función de administrador.

Asignación del acceso a recursos en la consola

Para asignar acceso a un recurso individual en la cuenta o acceso a todos los recursos de la cuenta, complete los siguientes pasos:

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios o Gestionar > Acceso (IAM) y seleccione ID de servicio, en función de la identidad a la que desee asignar acceso.
  2. Pulse el icono Acciones Icono Lista de acciones > Asignar acceso para el ID de usuario o servicio al que desea asignar acceso.
  3. Seleccione un grupo de servicios o un único servicio. A continuación, pulse Siguiente.
  4. Limite el acceso a todos los recursos de la cuenta o seleccione recursos específicos basados en atributos.
  5. Pulse Siguiente.
  6. Seleccione la combinación que desee de roles que asignar y pulse Revisar.
  7. Pulse Añadir para añadir la configuración de política a su resumen de políticas.
  8. (Opcional) Añada usuarios o ID de servicio a Grupos de acceso.
    1. Seleccione los grupos de acceso a los que desea que pertenezca el ID de usuario o de servicio.
    2. Pulse Añadir
  9. Pulse Asignar.

Si un usuario no tiene un rol sobre el grupo de recursos que contiene los recursos, puede ver los recursos, pero no puede acceder a los recursos desde la página Lista de recursos en la cuenta para comenzar a trabajar con los mismos. Asigne el rol de Visor o superior sobre el propio grupo de recursos para asegurarse de que un usuario puede acceder al recurso.

En determinadas cuentas se pueden aumentar los límites de la póliza para las identificaciones de servicio. Para aprovechar el aumento de los límites de la póliza, asigne el acceso a los servicios Event Streams o IBM Cloud Object Storage. También debe delimitar las políticas de acceso a una instancia de servicio, tipo de recurso e ID de recurso específicos.

Asignación de acceso dentro de un grupo de recursos en la consola

Para asignar acceso a todos los recursos de un grupo de recursos o solo a un servicio del grupo, complete los siguientes pasos:

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios o ID de servicio, en función de la identidad a la que desee asignar acceso.
  2. Haga clic en el ID de usuario o servicio al que desea asignar acceso y, a continuación, haga clic en Acceso > Asignar acceso.
  3. Seleccione un grupo de servicios o un único servicio. A continuación, pulse Siguiente.
  4. Limite el acceso a Recursos específicos. Seleccione el tipo de atributo Grupo de recursos e introduzca un grupo de recursos.
  5. Pulse Siguiente.
  6. Seleccione las funciones de acceso para gestionar el grupo de recursos. A continuación, pulse Siguiente.
  7. Seleccione la combinación que desee de roles que asignar y pulse Revisar.
  8. Pulse Añadir para añadir la configuración de política a su resumen de políticas.
  9. Pulse Asignar.

Asignación de acceso para gestionar un grupo de recursos

Puede asignar acceso para ver o gestionar un grupo de recursos sin asignar acceso de servicio.

Como administrador, es posible que desee crear un grupo de acceso con el rol de Visor en todos los grupos de recursos. De este modo, cuando asigne acceso a recursos de servicio no tendrá que crear políticas adicionales para ver los grupos de recursos. El rol de Visor en un grupo de recursos es necesario para que un usuario pueda crear una instancia de servicio en ese grupo de recursos.

Para asignar acceso a un grupo de recursos sin asignar acceso de servicio, complete los siguientes pasos:

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios o ID de servicio, en función de la identidad a la que desee asignar acceso.
  2. Haga clic en el ID de usuario o servicio al que desea asignar acceso y, a continuación, haga clic en Acceso > Asignar acceso.
  3. Seleccione Sólo grupo de recursos.
  4. Seleccione Añadir una condición.
  5. Seleccione el tipo de atributo Grupo de recursos e introduzca un grupo de recursos.
  6. Pulse Siguiente.
  7. Seleccione las funciones de acceso para ver o gestionar el grupo de recursos. A continuación, haga clic en Revisar.
  8. Pulse Añadir para añadir la configuración de política a su resumen de políticas.
  9. Pulse Asignar.

Puede repetir este tipo de política según sea necesario para cada grupo de recursos disponible en la cuenta a fin de asignar acceso para gestionar todos los grupos de recursos de la cuenta.

Asignación de acceso a recursos mediante la CLI

  1. Inicie sesión en la CLI de IBM Cloud®. Si tiene varias cuentas, se le solicitará que seleccione qué cuenta desea utilizar. Si no especifica una región con el distintivo -r, también deberá seleccionar una región.

    ibmcloud login
    

    Si se rechazan sus credenciales, puede que esté utilizando un ID federado. Para iniciar sesión con un ID federado, utilice el distintivo --sso. Consulte Inicio de sesión con un ID federado para obtener más detalles.

    Si es la primera vez que utiliza la CLI de IBM Cloud, consulte la Guía de aprendizaje de iniciación.

  2. Cree una política de acceso y asígnela a un usuario o a un ID de servicio mediante el comando ibmcloud iam user-policy-create.

    • Este ejemplo asigna acceso a un recurso individual en la cuenta con el rol Administrator para todas las instancias del servicio sample-service:
    ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name sample-service
    
    • En este ejemplo se asigna acceso a los servicios de Gestión de todas las cuentas con la función Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --account-management
    
    • Este ejemplo asigna acceso a Todos los servicios habilitados de Identidad y Acceso con el rol Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes serviceType=service
    
    • Este ejemplo asigna acceso a todos los servicios de gestión de cuentas IAM con el rol Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes service_group_id=IAM
    

    En determinadas cuentas se pueden aumentar los límites de la póliza para las identificaciones de servicio. Para aprovechar el aumento de los límites de la póliza, asigne el acceso a los servicios Event Streams o IBM Cloud Object Storage. También debe delimitar las políticas de acceso a una instancia de servicio, tipo de recurso e ID de recurso específicos.

    • Este ejemplo asigna acceso a Object Storage con el rol Manager. Abarca el acceso a una instancia de servicio, un tipo de recurso y un ID de recurso específicos:
    ibmcloud iam service-policy-create SERVICE_ID service-name cloud-object-storage --service-instance SERVICE_INSTANCE_GUID --resource-type RESOURCE_TYPE --resource RESOURCE --roles Manager
    

Asignación de acceso dentro de un grupo de recursos mediante la CLI

Especifique el mandato ibmcloud user-policy-create para asignar acceso a todos los recursos de un grupo de recursos o solo a un servicio dentro de un grupo de recursos. En este ejemplo se proporciona a name@example.com el rol de Operator sobre el grupo de recursos con el ID dda27e49d2a1efca58083a01dfde18f6:

ibmcloud iam user-policy-create name@example.com --roles Operator --resource-type resource-group --resource dda27e49d2a1efca58083a01dfde18f6

Especifique el mandato ibmcloud iam service-policy-create para asignar acceso a todos los recursos de un grupo de recursos o solo a un servicio dentro de un grupo de recursos. En este ejemplo se proporciona al servicio test el rol de Administrator sobre el grupo de recursos denominado sample-resource-group:

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

Asignación de acceso para gestionar un grupo de recursos mediante la CLI

Puede asignar acceso para ver o gestionar un grupo de recursos sin asignar acceso de servicio.

Como administrador, es posible que desee crear un grupo de acceso con el rol de Visor en todos los grupos de recursos. De este modo, cuando asigne acceso a recursos de servicio no tendrá que crear políticas adicionales para ver los grupos de recursos. El rol de Visor en un grupo de recursos es necesario para que un usuario pueda crear una instancia de servicio en ese grupo de recursos.

El siguiente ejemplo crea una política para Viewer de un grupo de recursos específico:

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group --resource fec6c95e6a0a44c5bcca138bfe5a1f9e

El siguiente ejemplo crea una política para Visor de todos los grupos de recursos de la cuenta.

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

El siguiente ejemplo crea una política para Visor de todos los recursos de un grupo de recursos

iam user-policy-create name@example.com --roles Viewer --resource-group-name satellite-test

Asignación de acceso a recursos mediante la API

Puede asignar acceso a un recurso individual de la cuenta o acceso a una lista de recursos de la cuenta llamando a la API de gestión de políticas IBM Cloud® Identity and Access Management(IAM), como se muestra en la siguiente solicitud de ejemplo. En la solicitud de ejemplo se asigna acceso con el rol de Administrator sobre una instancia de un servicio:

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Administrator role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "IBMid-123453user"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "$SERVICE_NAME"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
      .name("iam_id")
      .value("EXAMPLE_USER_ID")
      .build();

PolicySubject policySubjects = new PolicySubject.Builder()
      .addAttributes(subjectAttribute)
      .build();

PolicyRole policyRoles = new PolicyRole.Builder()
      .roleId("crn:v1:bluemix:public:iam::::role:Administrator")
      .build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
      .name("accountId")
      .value(exampleAccountId)
      .operator("stringEquals")
      .build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
      .name("serviceName")
      .value("service")
      .operator("stringEquals")
      .build();

PolicyResource policyResources = new PolicyResource.Builder()
      .addAttributes(accountIdResourceAttribute)
      .addAttributes(serviceNameResourceAttribute)
      .build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
      .type("access")
      .subjects(Arrays.asList(policySubjects))
      .roles(Arrays.asList(policyRoles))
      .resources(Arrays.asList(policyResources))
      .build();

Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();

System.out.println(policy);
const policySubjects = [
  {
    attributes: [
      {
        name: 'iam_id',
        value: 'exampleUserId',
      },
    ],
  },
];
const policyRoles = [
  {
    role_id: 'crn:v1:bluemix:public:iam::::role:Administrator',
  },
];
const accountIdResourceAttribute = {
  name: 'accountId',
  value: exampleAccountId,
  operator: 'stringEquals',
};
const serviceNameResourceAttribute = {
  name: 'serviceName',
  value: 'service',
  operator: 'stringEquals',
};
const policyResources = [
  {
    attributes: [accountIdResourceAttribute, serviceNameResourceAttribute]
  },
];
const params = {
  type: 'access',
  subjects: policySubjects,
  roles: policyRoles,
  resources: policyResources,
};

iamPolicyManagementService.createPolicy(params)
  .then(res => {
    examplePolicyId = res.result.id;
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
policy_subjects = PolicySubject(
  attributes=[SubjectAttribute(name='iam_id', value='example_user_id')])
policy_roles = PolicyRole(
  role_id='crn:v1:bluemix:public:iam::::role:Administrator')
account_id_resource_attribute = ResourceAttribute(
  name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
  name='serviceName', value='service')
policy_resources = PolicyResource(
  attributes=[account_id_resource_attribute,
        service_name_resource_attribute])

policy = iam_policy_management_service.create_policy(
  type='access',
  subjects=[policy_subjects],
  roles=[policy_roles],
  resources=[policy_resources]
).get_result()

print(json.dumps(policy, indent=2))
subjectAttribute := &iampolicymanagementv1.SubjectAttribute{
  Name:  core.StringPtr("iam_id"),
  Value: core.StringPtr("exampleUserID"),
}
policySubjects := &iampolicymanagementv1.PolicySubject{
  Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
  RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Administrator"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("accountId"),
  Value:    core.StringPtr(exampleAccountID),
  Operator: core.StringPtr("stringEquals"),
}
serviceNameResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("serviceName"),
  Value:    core.StringPtr("service"),
  Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
  Attributes: []iampolicymanagementv1.ResourceAttribute{
    *accountIDResourceAttribute, *serviceNameResourceAttribute}
}

options := iamPolicyManagementService.NewCreatePolicyOptions(
  "access",
  []iampolicymanagementv1.PolicySubject{*policySubjects},
  []iampolicymanagementv1.PolicyRole{*policyRoles},
  []iampolicymanagementv1.PolicyResource{*policyResources},
)

policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(policy, "", "  ")
fmt.Println(string(b))

Puede asignar acceso a un grupo de servicios. Para asignar acceso a todos los servicios habilitados de Identidad y Acceso, especifique serviceType para el atributo name, y utilice el atributo value service. Para asignar acceso a los servicios de gestión de todas las cuentas, especifique serviceType para el atributo name y utilice el atributo 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 el atributo value IAM.

En determinadas cuentas se pueden aumentar los límites de la póliza para las identificaciones de servicio. Para aprovechar el aumento de los límites de la póliza, asigne el acceso a los servicios Event Streams o IBM Cloud Object Storage. También debe delimitar las políticas de acceso a una instancia de servicio, tipo de recurso e ID de recurso específicos.

La siguiente solicitud de ejemplo da acceso a una instancia de Object Storage a un rol con ID de servicio Reader. Abarca el acceso a una instancia de servicio, un tipo de recurso y un ID de recurso específicos:

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Reader role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "$SERVICE_ID"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "cloud-object-storage"
        },,
        {
          "name": "serviceInstance",
          "value": "$INSTANCE_ID",
          "operator": "stringEquals"
        }
        {
          "name": "resourceType",
          "value": "$RESOURCE_TYPE",
          "operator": "stringEquals"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'

Asignación de acceso dentro de un grupo de recursos mediante la API

Esta acción solo se puede realizar a través de la interfaz de usuario o de la CLI. Para ver los pasos, vaya a la interfaz de usuario o a las instrucciones de la CLI.

Antes de empezar

Antes de poder asignar acceso a los recursos mediante Terraform, asegúrese de haber completado lo siguiente:

  • Instale Terraform CLI y configure el complemento IBM Cloud Provider para Terraform. Para 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.

Asignación de acceso a recursos utilizando Terraform

Para asignar acceso a los recursos mediante Terraform, siga estos pasos:

  1. Asigne acceso a los recursos utilizando el argumento de recursos ibm_iam_user_policy en su archivo main.tf.

    En el siguiente ejemplo se asigna la función test@in.ibm.com Viewer a todas las instancias del servicio kms mediante ibm_iam_user_policy.

    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service = "kms"
    }
    }
    

    En determinadas cuentas se pueden aumentar los límites de la póliza para las identificaciones de servicio. Para aprovechar el aumento de los límites de la póliza, asigne el acceso a los servicios Event Streams o IBM Cloud Object Storage. También debe delimitar las políticas de acceso a una instancia de servicio, tipo de recurso e ID de recurso específicos.

    El siguiente ejemplo otorga a un ID de servicio el rol Reader acceso a una instancia de Object Storage mediante ibm_iam_user_policy. Abarca el acceso a una instancia de servicio, un tipo de recurso y un ID de recurso específicos:

    resource "ibm_iam_service_policy" "policy" {
     iam_service_id = "$SERVICE_ID"
     roles          = ["Reader"]
    
    resources {
     service              = "cloud_object_storage"
     resource_instance_id = "$SERVICE_INSTANCE_ID"
     resource_type = "$RESOURCE_TYPE"
     resource      = "$RESOURCE"
    }
    }
    

    Puede especificar el nombre del servicio para el que desea asignar acceso a la opción service. 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).

    Controle el acceso a los recursos con el módulo IAM Access Groups para obtener permisos basados en políticas. Conozca los módulos de Terraform IBM para estrategias de acceso.

  2. Después de terminar de crear el archivo de configuración, inicializa Terraform CLI. Para más información, consulte Inicializar directorios de trabajo.

    terraform init
    
  3. Aprovisione los recursos desde el archivo main.tf. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.

    1. Ejecute terraform plan para generar un plan de ejecución Terraform para previsualizar las acciones propuestas.

      terraform plan
      
    2. Ejecute terraform apply para crear los recursos definidos en el plan.

      terraform apply
      

Asignación de acceso dentro de un grupo de recursos utilizando Terraform

Para asignar el acceso dentro de un grupo de recursos mediante Terraform, siga estos pasos.

  1. Asigne acceso dentro de un grupo de recursos utilizando el recurso ibm_iam_user_policy en su archivo main.tf.

    En el siguiente ejemplo se asigna la función test@in.ibm.com Viewer al grupo de recursos con el ID data.ibm_resource_group.group.id mediante ibm_iam_user_policy.

    data "ibm_resource_group" "group" {
     name = "default"
    }
    
    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service           = "containers-kubernetes"
     resource_group_id = data.ibm_resource_group.group.id
    }
    }
    

    Puede especificar el ID del grupo de recursos al que desea asignar acceso en la opción resource_group_id. 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).

    Alcance el acceso a los grupos de recursos utilizando el módulo IAM Access Groups para un control granular. Revise los módulos de Terraform IBM para conocer las políticas de los grupos de recursos.

  2. Después de terminar de crear el archivo de configuración, inicializa Terraform CLI. Para más información, consulte Inicializar directorios de trabajo.

    terraform init
    
  3. Aprovisione los recursos desde el archivo main.tf. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.

    1. Ejecute terraform plan para generar un plan de ejecución Terraform para previsualizar las acciones propuestas.

      terraform plan
      
    2. Ejecute terraform apply para crear los recursos definidos en el plan.

      terraform apply
      

Eliminación de acceso en la consola

La acción de eliminar el acceso para un usuario o un ID de servicio puede tardar unos 10 minutos en entrar en vigor.

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios o ID de servicio, en función de la identidad que desee gestionar.
  2. Seleccione el nombre del usuario o el ID de servicio del que desea eliminar el acceso.
  3. En la pestaña Acceda a, haga clic en el icono Acciones Icono Acciones > Eliminar en la fila de la política que desea eliminar.
  4. Revise los detalles de la política que está a punto de eliminar y confirme pulsando Eliminar.

También puede eliminar usuarios e ID de servicio de los grupos de acceso marcando el recuadro de selección de usuario o de ID de servicio que desea eliminar y pulsando Eliminar. A continuación, vuelva a pulsar Eliminar para aprobar el proceso.

Eliminación de acceso mediante la CLI

Para eliminar una política de usuario mediante la CLI, puede utilizar el mandato ibmcloud iam user-policy-delete.

ibmcloud iam user-policy-delete USER_ID POLICY_ID [-f, --force]

Para eliminar una política de ID de servicio mediante la CLI, puede utilizar el mandato ibmcloud iam service-policy-delete.

ibmcloud iam service-policy-delete SERVICE_ID POLICY_ID [-f, --force]

Eliminación del acceso mediante la API

Elimine una política proporcionando un ID de política y llamando a la API de gestión de políticas IBM Cloud® Identity and Access Management(IAM), como se muestra en la siguiente solicitud de ejemplo:

curl -X DELETE 'https://iam.cloud.ibm.com/v1/policies/$POLICY_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
DeletePolicyOptions options = new DeletePolicyOptions.Builder()
      .policyId(examplePolicyId)
      .build();

service.deletePolicy(options).execute();
const params = {
  policyId: examplePolicyId,
};

iamPolicyManagementService.deletePolicy(params)
.then(res => {
  console.log(JSON.stringify(res, null, 2));
})
.catch(err => {
  console.warn(err)
});
response = iam_policy_management_service.delete_policy(
  policy_id=example_policy_id
).get_result()

print(json.dumps(response, indent=2))
options := iamPolicyManagementService.NewDeletePolicyOptions(
  examplePolicyID,
)

response, err := iamPolicyManagementService.DeletePolicy(options)
if err != nil {
  panic(err)
}

No se puede suprimir una política si el ID de asunto contiene un ID de servicio bloqueado.

Revisión del acceso asignado en la consola

Si necesita revisar su acceso asignado en una cuenta a la que ha sido añadido, complete los siguientes pasos:

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Usuarios o ID de servicio, en función de la identidad que desee revisar.
  2. Seleccione su nombre o ID de servicio.
  3. Revise el acceso asignado en la pestaña Acceso.

Si necesita más acceso, debe ponerse en contacto con el propietario de la cuenta para actualizar su acceso o con el administrador del servicio o la instancia de servicio para que actualice la política de acceso.

Revisión del acceso asignado mediante la CLI

Si tiene que revisar el acceso asignado en una cuenta a la que se le ha añadido, puede utilizar el mandato ibmcloud iam user-policies. En este ejemplo se muestra una lista de las políticas del usuario name@example.com:

ibmcloud iam user-policies name@example.com

Revisión del acceso asignado mediante la API

Mediante la API, solo puede recuperar todas las políticas de la cuenta y filtrar por valores de atributo. Puede comprobar el acceso que tiene asignado en una cuenta yendo a Gestionar > Usuarios > su_nombre > Acceso en la consola IBM Cloud. Para recuperar políticas, llame a la API de gestión de políticas IBM Cloud® Identity and Access Management(IAM ) como se muestra en el siguiente ejemplo de solicitud:

curl -X GET 'https://iam.cloud.ibm.com/v1/policies?account_id=$ACCOUNT_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
ListPoliciesOptions options = new ListPoliciesOptions.Builder()
    .accountId(exampleAccountId)
    .iamId(EXAMPLE_USER_ID)
    .build();

Response<PolicyList> response = service.listPolicies(options).execute();
PolicyList policyList = response.getResult();

System.out.println(policyList);
const params = {
  accountId: exampleAccountId,
  iamId: exampleUserId
};

iamPolicyManagementService.listPolicies(params)
 .then(res => {
   console.log(JSON.stringify(res.result, null, 2));
 })
 .catch(err => {
   console.warn(err)
 });
policy_list = iam_policy_management_service.list_policies(
 account_id=example_account_id, iam_id=example_user_id
).get_result()

print(json.dumps(policy_list, indent=2))
options := iamPolicyManagementService.NewListPoliciesOptions(
 exampleAccountID,
)
options.SetIamID(exampleUserID)

policyList, response, err := iamPolicyManagementService.ListPolicies(options)
if err != nil {
 panic(err)
}
b, _ := json.MarshalIndent(policyList, "", "  ")
fmt.Println(string(b))