Protezione delle risorse Secrets Manager con restrizioni basate sul contesto
Dopo aver configurato la tua istanza del servizio IBM Cloud® Secrets Manager, puoi gestire l'accesso utilizzando le restrizioni basate sul contesto(CBR).
Gestione delle impostazioni CBR
Con le restrizioni basate sul contesto, è possibile definire e applicare le restrizioni di accesso degli utenti e dei servizi alle risorse di Secrets Manager in base a criteri specifici.
Puoi controllare le risorse Secrets Manager con restrizioni basate sul contesto e politiche IAM (Identity and Access Management). Queste risorse includono i riferimenti VPC (Virtual Private Cloud) e gli indirizzi IP ( Internet Protocol ) collegati all'istanza Secrets Manager.
Queste restrizioni si affiancano ai tradizionali criteri IAM, che si basano sull'identità, per fornire un ulteriore livello di protezione. A differenza delle politiche IAM, le restrizioni basate sul contesto non assegnano accesso. Le limitazioni basate sui contesti verificano che una richiesta di accesso provenga da un contesto consentito configurato. Poiché sia le restrizioni di accesso IAM che quelle basate sul contesto applicano l'accesso, le restrizioni basate sul contesto offrono protezione anche di fronte a credenziali compromesse o gestite in modo non corretto. Per ulteriori informazioni, consultare Quali sono le limitazioni basate sul contesto.
Un utente deve avere il ruolo Administrator sul servizio Secrets Manager per creare, aggiornare o eliminare le regole. Un utente deve anche avere il ruolo Editor o Administrator sul servizio di restrizioni
basato sul contesto per creare, aggiornare o eliminare zone di rete. Un utente con il ruolo Viewer sul servizio di restrizioni basato sul contesto può aggiungere solo zone di rete a una regola.
Qualsiasi evento IBM Cloud Activity Tracker o log di controllo generato proviene dal servizio di restrizioni basato sul contesto, non Secrets Manager. Per ulteriori informazioni, consultare Monitoraggio delle limitazioni basate sul contesto.
Per iniziare a proteggere le tue risorse Secrets Manager con restrizioni basate sul contesto, vedi l'esercitazione per Utilizzo delle limitazioni basate sul contesto per proteggere le tue risorse.
Integrazione di Secrets Manager con le limitazioni basate sul contesto
Per limitare l'accesso, devi creare le zone e le regole .
Per prima cosa, creare una zona con i dettagli appropriati per le definizioni di rete o di risorsa. Quindi, collegare tale zona alla risorsa specificata per limitare l'accesso. Puoi creare zone e regole utilizzando un' API RESTful o con restrizioni basate sul contesto. Dopo aver creato o aggiornato una zona o una regola, potrebbero essere necessari alcuni minuti perché la modifica diventi effettiva.
Le regole CBR non si applicano ai processi di provisioning o di deprovisioning.
Limitazioni
Quando un utente dispone dell'accesso IAM a livello di istanza, le regole CBR applicate a gruppi di segreti specifici non hanno effetto. Per aggirare questa limitazione, imposta le politiche di accesso IAM dell'utente solo per i gruppi di segreti.
Le limitazioni basate sul contesto proteggono solo le azioni associate all'API Secrets Manager. Le azioni associate alle seguenti API della piattaforma non sono protette da limitazioni basate sul contesto. Fare riferimento alla documentazione API per gli ID azione specifici.
Creazione di zone di rete
Creando zone di rete, è possibile definire un elenco consentito di ubicazioni di rete in cui hanno origine le richieste di accesso per determinare quando è possibile applicare una regola. L'elenco di ubicazioni di rete può essere specificato dai seguenti attributi:
- Gli indirizzi IP, che includono singoli indirizzi, intervalli o sottoreti.
- VPC
- I riferimenti del servizio, che consentono l'accesso da altri servizi IBM Cloud.
Assicurarsi di aggiungere Secrets Manager alle zone di rete per le regole che mirano ad altre risorse di IBM Cloud, altrimenti alcune operazioni del flusso di lavoro potrebbero fallire.
Se è stato creato un server virtuale IBM Cloud sull'infrastruttura classica del Virtual Private Cloud, l'indirizzo IP privato da utilizzare per la regola CBR è un IP del gateway del Virtual Private Cloud. Non utilizzare l'indirizzo IP interno per il server virtuale sull'infrastruttura classica. Per trovare l'indirizzo IP del gateway, selezionare l'indirizzo IP di origine del servizio IBM Cloud nell'infrastruttura Virtual Private Cloud.
Creazione di zone di rete utilizzando l'API
È possibile creare zone di rete utilizzando il comando create - zone. Per ulteriori informazioni, vedi la documentazione API. Puoi aggiungere Secrets Manager alle aree di rete come riferimento del servizio per consentire a Secrets Manager di accedere alle risorse e ai servizi nel tuo account che sono oggetto di una regola.
L'attributo serviceRef per Secrets Manager è secrets-manager.
È possibile stabilire quali servizi sono disponibili controllando le destinazioni di riferimento.
Payload di esempio per aggiungere Secrets Manager a una zona di rete.
{
"name": "Example zone 1",
"description": "",
"addresses": [
{
"type": "serviceRef",
"ref": {
"service_name": "secrets-manager",
"account_id": "ACCOUNT-ID"
}
}
]
}
Payload di esempio per aggiungere più servizi, indirizzi IP e VPC a una zona di rete.
{
"name": "zone",
"description": "",
"addresses": [
{
"type": "ipAddress",
"value": "192.168.0.0"
},
{
"type": "vpc",
"value": "crn:v1:bluemix:public:is:us-east:a/CRN"
},
{
"type": "vpc",
"value": "crn:v1:bluemix:public:is:us-south:a/CRN"
},
{
"type": "serviceRef",
"ref": {
"service_name": "cloud-object-storage",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "codeengine",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "containers-kubernetes",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_type": "platform_service",
"account_id": "ACCOUNT-ID"
}
},
{
"type": "serviceRef",
"ref": {
"service_name": "iam-groups",
"account_id": "ACCOUNT-ID"
}
}
],
"excluded": []
}
Dopo aver creato le zone, è possibile aggiornarle o rimuoverle.
Creazione di zone di rete utilizzando l'IU
Una volta impostati i prerequisiti e i requisiti, è possibile creare zone nell'interfaccia utente. Per ulteriori informazioni, consultare Creazione di restrizioni basate sul contesto.
- Determinare le risorse che si desidera aggiungere alla propria allowlist.
- Attieniti alla procedura per creare restrizioni basate sul contesto nella console. Aggiungi il servizio Secrets Manager alle tue zone di rete per consentire a IBM Cloud® Secrets Manager di accedere a servizi e risorse nel tuo account.
Dopo aver creato le zone, è possibile anche aggiornarle o rimuoverle.
Creazione di zone di rete utilizzando la CLI
Puoi utilizzare il comando cbr-zone-create per aggiungere ubicazioni di rete, VPC e riferimenti di servizio alle zone di rete. Per ulteriori informazioni, consultare il manuale CBR CLI reference.
Aggiungi Secrets Manager alle aree di rete come riferimento di un servizio per consentire a Secrets Manager di accedere alle risorse e ai servizi nel tuo account che sono oggetto di una regola.
- Per creare le aree di rete dalla CLI, installa il plug-in CLI CBR.
- Utilizzare il comando
cbr-zone-createper aggiungere risorse alle zone di rete. Per ulteriori informazioni, consultare il manuale CBR CLI reference. Nota che ilservice_nameper Secrets Manager èsecrets-manager.
Per trovare un elenco di riferimenti di servizi disponibili, eseguire il comando ibmcloud cbr service-ref-targets
.
Comando di esempio per aggiungere il servizio secrets-manager a una zona di rete.
ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=secrets-manager
Informazioni sulle regole
Dopo aver creato le tue zone, puoi collegarle alle tue risorse di rete creando delle regole. Quando si aggiungono risorse a una regola, è possibile scegliere tra tipi di endpoint disponibili specifici per la topologia di rete.
Creare regole utilizzando l'API
Puoi definire le regole con l'API utilizzando le informazioni raccolte dalla creazione delle zone di rete.
Esamina il seguente esempio per informazioni su come creare regole per Secrets Manager. Per ulteriori informazioni, vedi la documentazione API.
Il seguente payload di esempio crea una regola che protegge il cluster CLUSTER-ID. Solo le risorse nella zona NETWORK-ZONE-ID possono accedervi. Dato che non è stato specificato alcun operations, le risorse
nella zona NETWORK-ZONE-ID possono accedere sia alle API cluster che management.
{
"description": "Example rule 1",
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "ACCOUNT-ID"
},
{
"name": "serviceName",
"value": "secrets-manager"
},
{
"name": "serviceInstance",
"value": "CLUSTER-ID"
}
]
}
],
"contexts": [
{
"attributes": [
{
"name": "networkZoneId",
"value": "NETWORK-ZONE-ID"
},
{
"name": "endpointType",
"value": "private"
}
]
}
]
}
Dopo aver creato le regole, è possibile aggiornare ed eliminarle.
Creare regole utilizzando l'interfaccia utente
Dopo aver impostato i prerequisiti e i requisiti, puoi creare le regole nell'IU.
- Determinare le risorse che si desidera aggiungere alla propria allowlist.
- Attieniti alla procedura per creare restrizioni basate sul contesto nella console. Aggiungi il servizio Secrets Manager alle tue zone di rete per consentire a IBM Cloud® Secrets Manager di accedere a servizi e risorse nel tuo account.
Dopo aver creato le regole, è possibile aggiornare ed eliminarle.
Crea regole utilizzando la CLI
Esamina i seguenti esempi per informazioni su come creare regole per Secrets Manager. Per ulteriori informazioni, consultare il manuale CBR CLI reference.
- Per creare regole dalla CLI, installa il plug-in CLI CBR.
- È possibile utilizzare il comando
ibmcloud cbr rule-createper creare le regole CBR. Per ulteriori informazioni, consultare il manuale CBR CLI reference. Nota che ilservice_nameper Secrets Manager èsecrets-manager. Per trovare un elenco di nomi servizio, eseguire il comandoibmcloud cbr service-ref-targets. Per trovare un elenco di tipi di API per un servizio, esegui il comandoibmcloud cbr api-types --service-name SERVICE.
Comando di esempio per creare una regola che utilizza la chiave addresses e il tipo API cluster e il tipo ipAddress.
ibmcloud cbr rule-create my-rule-1 --service-name secrets-manager --api-type crn:v1:bluemix:public:secrets-manager::::api-type:cluster --zone-id ZONE-ID
Il comando seguente crea una regola che protegge il cluster CLUSTER-ID. Solo le risorse nella zona di rete NETWORK-ZONE-ID possono accedere al cluster. Questa regola include sia i tipi di API cluster che management.
ibmcloud cbr rule-create my-rule-2 --service-name secrets-manager --service-instance CLUSTER-ID --zone-id NETWORK-ZONE-ID
Passi successivi
È necessario seguire la creazione o la modifica di zone o regole con test adeguati per garantire l'accesso e la disponibilità.
Gli utenti che tentano di accedere alle risorse al di fuori delle zone definite ricevono HTTP error 401 quando non vengono stabilite le regole appropriate.