Creazione di regole dinamiche per i gruppi di accesso

Puoi creare delle regole dinamiche per aggiungere automaticamente gli utenti federati ai gruppi di accesso in base a specifici attributi di identità. Quando gli utenti accedono con un ID federato, i dati del provider di identità ( IdP ) mappano dinamicamente gli utenti in un gruppo di accesso in base alle regole impostate.

Gli utenti dispongono già di informazioni di identità specifiche all'interno del dominio della tua azienda e, quando accedono con un ID federato, questi dati possono essere passati utilizzando le asserzioni SAML. Le asserzioni o le dichiarazioni di attributo di SAML configurate all'interno di IdP forniscono i dati utilizzati per creare ogni regola. Ad esempio, potresti avere un'istruzione di attributo true o false che definisce gli utenti come gestore. Queste informazioni possono essere utilizzate per aggiungere tutti gli utenti che sono gestori a un gruppo di accesso specifico per i gestori da te creato nel tuo account IBM Cloud®. Per ulteriori informazioni, consultare l'esercitazione su come Controllare l'accesso alle risorse cloud e una regola di esempio.

Solo gli utenti che sono già invitati all'account possono essere associati ai gruppi di accesso utilizzando le regole dinamiche.

Impostazione delle regole tramite la console

Le regole dinamiche vengono create impostando condizioni che devono essere soddisfatte dai dati configurati all'interno di IdP e trasmessi con l'ID federato dell'utente durante il login. Puoi aggiungere più di una condizione per una regola. Tutte le condizioni impostate nella regola devono essere soddisfatte affinché un utente venga aggiunto a un gruppo di accesso.

Per creare una regola, attieniti alla seguente procedura:

  1. Nella console IBM Cloud, fare clic su Gestisci > Accesso (IAM) e selezionare Gruppi di accesso.
  2. Selezionare il nome del gruppo di accesso per il quale si desidera creare una regola. Questa azione apre la pagina dei dettagli del gruppo.
  3. Selezionare Regole dinamiche.
  4. Fai clic su Aggiungi regola.
  5. Inserire le informazioni del sito IdP che vengono fornite dinamicamente nella pagina Aggiungi regola. Il seguente elenco fornisce i dettagli per ogni campo obbligatorio.

Si può pensare a una regola di gruppo di accesso come a una coppia chiave:valore. La chiave è ciò che si aggiunge nel campo Add users when, mentre il valore è ciò che si inserisce nel campo Values.

Per ulteriori informazioni sui campi utilizzati per creare regole dinamiche, vedere Proprietà delle condizioni IAM.

Impostazione delle regole con Terraform

Prima di impostare le regole con Terraform, assicuratevi di aver completato quanto segue:

  • Installare la CLI di Terraform e configurare il plug-in IBM Cloud Provider per Terraform. Per ulteriori informazioni, vedere il tutorial su Come iniziare con Terraform su IBM Cloud®. Il plug-in astrae le API di IBM Cloud che vengono utilizzate per completare questo compito.
  • Creare un file di configurazione di Terraform chiamato main.tf. In questo file si definiscono le risorse utilizzando HashiCorp Configuration Language. Per ulteriori informazioni, consultare il sito Documentazione di Terraform.

Le regole dinamiche vengono create impostando condizioni che devono essere soddisfatte dai dati configurati all'interno di IdP e trasmessi con l'ID federato dell'utente durante il login. Puoi aggiungere più di una condizione per una regola. Tutte le condizioni impostate nella regola devono essere soddisfatte affinché un utente venga aggiunto a un gruppo di accesso.

Per creare una regola utilizzando Terraform, procedere come segue:

  1. Creare un argomento nel file main.tf. L'esempio seguente crea una nuova regola dinamica per un gruppo di accesso utilizzando la risorsa ibm_iam_access_group_dynamic_rule, dove name è un nome unico per identificare la regola dinamica.

     resource "ibm_iam_access_group_dynamic_rule" "rule1" {
       name              = "newrule"
       access_group_id   = "AccessGroupId-dsnd4bvsaf"
       expiration        = 4
       identity_provider = "test-idp.com"
       conditions {
         claim    = "blueGroups"
         operator = "CONTAINS"
         value    = "\"test-bluegroup-saml\""
       }
     }
    

    Per ulteriori informazioni, vedere i dettagli di riferimento degli argomenti nella pagina Documentazione di Terraform.

Automatizzate l'adesione dinamica con il modulo IAM Access Groups per la gestione federata degli utenti. Conoscere i moduli Terraform IBM.

L'esempio seguente dimostra l'uso dei moduli Terraform IBM (TIM) per creare un gruppo di accesso con regole dinamiche:

module "access_group" {
  source  = "terraform-ibm-modules/iam-access-group/ibm"
  version = "X.X.X" # Replace with the latest version

  access_group_name        = "federated-managers"
  access_group_description = "Access group for federated managers"

  dynamic_rules = [
    {
      name              = "manager-rule"
      expiration        = 12
      identity_provider = "https://idp.example.org/SAML2"
      conditions = [
        {
          claim    = "isManager"
          operator = "EQUALS"
          value    = "true"
        }
      ]
    }
  ]
}

Per ulteriori opzioni di configurazione ed esempi, consultare il sito Documentazione del modulo Gruppi di accesso IAM.

  1. Dopo aver completato la creazione del file di configurazione, inizializzare la CLI di Terraform. Per ulteriori informazioni, vedere Inizializzazione delle directory di lavoro.

    terraform init
    
  2. Predisporre le risorse dal file main.tf. Per ulteriori informazioni, vedere Provisioning dell'infrastruttura con Terraform.

    1. Eseguire terraform plan per generare un piano di esecuzione di Terraform per visualizzare in anteprima le azioni proposte.

      terraform plan
      
    2. Eseguire terraform apply per creare le risorse definite nel piano.

      terraform apply
      

Per ulteriori informazioni sui campi utilizzati per creare regole dinamiche, vedere Proprietà delle condizioni IAM.

Visualizzazione dei membri dinamici dei gruppi di accesso

È possibile visualizzare gli utenti aggiunti a un gruppo di accesso utilizzando le regole dinamiche. Per visualizzare i membri dinamici dei gruppi di accesso, andare su Gestione > Accesso (IAM) > Gruppi di accesso nella console IBM Cloud. Selezionare un gruppo di accesso e fare clic su Utenti. Gli utenti aggiunti dinamicamente sono indicati dal tipo Dynamic.

I seguenti utenti non vengono visualizzati nella tabella:

  • Aggiunta dinamica di utenti che non hanno ancora effettuato il login.
  • Aggiunta dinamica di utenti la cui sessione è scaduta.

Gli utenti dinamici che si sono disconnessi ma le cui sessioni sono ancora valide continuano a comparire nella tabella fino alla scadenza delle loro sessioni.

Non è possibile rimuovere manualmente un utente dinamico. Per rimuovere un utente dinamico, regolare le regole dinamiche.

Visualizzazione dell'appartenenza dinamica di un utente

È inoltre possibile visualizzare un elenco di gruppi di accesso a cui un utente viene aggiunto in base a regole dinamiche, completando i seguenti passaggi:

  1. Andare su Gestione > Accesso (IAM) > Utenti nella console IBM Cloud.
  2. Fare clic su un utente.
  3. Fare clic su Accesso.
  4. I gruppi di accesso di cui un utente è membro dinamico sono indicati dal tipo Dynamic.

Regola di esempio

L'esempio seguente include i valori di ciascun campo per una regola dinamica. In questa regola, gli utenti identificati come manager all'interno del sito federato IdP sono mappati su un gruppo di accesso IBM Cloud che ha un accesso specifico per i soli manager.

Esempio di regola dinamica per i gruppi di accesso
Campo Valore
Nome Regola del gruppo gestori
Provider di identità https://idp.example.org/SAML2
Scadenza (in ore) 12
Aggiungi utenti quando (nome attributo) isManager
Criteri di confronto Uguale
Valore true