Creazione di un ambiente
All'interno del progetto, creare un ambiente in cui raggruppare le configurazioni correlate e condividere i valori tra di esse per semplificare le implementazioni. Le proprietà aggiunte a un ambiente vengono automaticamente aggiunte alle configurazioni che utilizzano tale ambiente. All'interno della configurazione, è possibile sovrascrivere qualsiasi valore fornito dall'ambiente. Per ulteriori informazioni, consulta i vantaggi dell'utilizzo degli ambienti.
Quando modifichi una configurazione, puoi selezionare un ambiente da utilizzare nella sezione Definisci dettagli.
Prima di iniziare
Per creare e modificare gli ambienti, è necessario disporre del ruolo di Editor o superiore nel servizio Progetti di IBM Cloud®. Per ulteriori informazioni sull'accesso e le autorizzazioni, consulta Assegnazione dell'accesso agli utenti ai progetti.
Creazione di un ambiente utilizzando la console
Per creare un ambiente dal tuo progetto, completa i seguenti passaggi:
- Nella console di gestione di Active Directory ( IBM Cloud ), fare clic sull'icona del menu di navigazione (
) Menu > Progetti(Projects) e selezionare un progetto.
- Dalla scheda Gestisci, seleziona Ambienti.
- Fai clic su Crea.
- Assegna un nome al tuo ambiente, quindi fai clic su Aggiungi per aggiungere le proprietà.
Esistono tre categorie di proprietà che è possibile aggiungere a un ambiente: autenticazione, conformità e input. È possibile aggiungere queste proprietà manualmente oppure aggiungere più proprietà contemporaneamente da una configurazione nel proprio progetto.
Aggiunta manuale delle proprietà
Se aggiungi le proprietà manualmente, considera di aggiungere prima il metodo di autenticazione. Il metodo di autenticazione per l'account di destinazione è necessario per autorizzare una distribuzione su tale account. Il metodo di autenticazione viene utilizzato anche se si desidera importare una politica di controllo dell'accesso basata sui ruoli ( Workload Protection ) dall'account di destinazione. È possibile aggiungere solo una proprietà di autenticazione a un ambiente ed è possibile aggiungere una proprietà di conformità a un ambiente solo se si dispone di un'istanza, una zona e una politica di Workload Protection nell'account di destinazione che si desidera utilizzare. Anche l'istanza di Workload Protection deve essere abilitata per CSPM. Non è possibile aggiungere una proprietà di conformità che utilizza i controlli predefiniti dall'architettura distribuibile, poiché tali controlli predefiniti variano da un'architettura all'altra.
Se desideri aggiungere una proprietà di conformità e specificare una politica da Workload Protection, devi prima fornire una proprietà di autenticazione nel tuo ambiente con dettagli di autenticazione validi. È possibile utilizzare una chiave API con Secrets Manager oppure un profilo attendibile per autenticarsi con l'account di destinazione che contiene l'allegato Workload Protection.
Le informazioni relative all'autenticazione e alla conformità vengono utilizzate in tutte le configurazioni, quindi se aggiungi una proprietà di autenticazione o una proprietà di conformità al tuo ambiente, questa viene automaticamente aggiunta a qualsiasi configurazione che utilizza tale ambiente.
I valori di input possono anche essere aggiunti come proprietà al proprio ambiente. Quando si aggiunge un input a un ambiente, il nome dell'input nell'ambiente deve corrispondere al nome dell'input nelle configurazioni che utilizzano l'ambiente.
Se i nomi non corrispondono, il valore dell'ambiente non viene utilizzato nella configurazione. Ad esempio, se aggiungi un input al tuo ambiente e lo chiami resource_group, ma una configurazione che utilizza quell'ambiente ha
un input chiamato, resourcegroup il valore dell'ambiente non viene utilizzato in quella configurazione.
Più architetture possono utilizzare lo stesso ambiente, ma non tutte le architetture hanno gli stessi nomi di input per valori simili. È possibile aggiungere più input all'ambiente con lo stesso valore, ma nomi diversi. Ad esempio, è possibile
aggiungere due proprietà di input e denominare una resource_group e l'altra resourcegroup. Mantieni gli stessi valori per entrambe le proprietà. Qualsiasi configurazione che utilizza l'ambiente e ha un nome resource_group di input o un nome resourcegroup di input utilizzerà lo stesso valore dall'ambiente.
Per aggiungere manualmente una proprietà, completare i seguenti passaggi:
-
Dopo aver creato l'ambiente, fai clic sull'icona Modifica
per l'ambiente.
-
Fare clic su Aggiungi > Aggiungi manualmente...
-
Seleziona la categoria di immobile che desideri aggiungere.
Considera l'aggiunta di una proprietà di autenticazione con dettagli di autenticazione validi per il tuo account di destinazione.
-
Fornisci i dettagli relativi alla proprietà e clicca su Aggiungi.
-
Fare clic su Salva.
Aggiunta di proprietà da una configurazione
Risparmia tempo e riduci gli errori aggiungendo più proprietà al tuo ambiente da una configurazione. In questo modo, contribuisci a garantire che le proprietà siano accurate nel tuo ambiente, poiché i nomi e i valori immessi vengono estratti direttamente dalla configurazione selezionata. Dopo aver aggiunto le proprietà da una configurazione, è possibile modificarle nell'ambiente senza influire sulla configurazione. Le modifiche future alla configurazione non hanno alcun impatto sulle proprietà dell'ambiente.
Per aggiungere più proprietà da una configurazione, completare i seguenti passaggi:
- Dopo aver creato l'ambiente, fai clic sull'icona Modifica
per l'ambiente.
- Fai clic su Aggiungi > Aggiungi da una configurazione...
- Seleziona la configurazione che desideri utilizzare per aggiungere proprietà al tuo ambiente.
- Seleziona gli elementi dalla configurazione che desideri aggiungere al tuo ambiente e fai clic su Aggiungi.
Creare un ambiente utilizzando la CLI
Per creare un ambiente utilizzando la CLI, eseguire il seguente ibmcloud project environment-create comando:
ibmcloud project environment-create --project-id PROJECT-ID [--definition DEFINITION]
All'interno del definition, è possibile specificare le proprietà di input che si desidera includere nel proprio ambiente utilizzando inputs l'opzione. Allo stesso modo, è possibile specificare una proprietà di autenticazione
nel proprio ambiente utilizzando authorizations l'opzione all'interno di definition. Inoltre, è possibile aggiungere una proprietà di conformità includendo compliance-profile l'opzione all'interno di
definition.
Ad esempio, il comando seguente crea un ambiente denominato development con una proprietà di input che definisce il gruppo di risorse:
ibmcloud project environment-create \
--project-id exampleString \
--definition '{"name": "development", "inputs": {"resource_group" : "stage"}}'
Allo stesso modo, il comando seguente crea un ambiente denominato development e con una proprietà di input che definisce il gruppo di risorse. Viene fornito anche un profilo attendibile come proprietà di autenticazione:
ibmcloud project environment-create \
--project-id exampleString \
--definition '{
"name": "development",
"authorizations": {
"method": "trusted_profile",
"trusted_profile_id": "<trusted-profile-id>"
},
"inputs": {
"resource_group": "stage"
},
"compliance_profile": {
"id": "<profile-id>",
"instance_id": "<instance-id>",
"instance_location": "us-south",
"profile_name": "{\"instance_crn\":\"crn:v1:staging:public:compliance:us-south:a/<account>:<instance-id>::\",\"instance_label\":\"compliance\",\"name\":\"Basic Control\",\"version\":\"1.0.0\",\"attachment_label\":\"basic\"}",
"attachment_id": "<attachment-id>"
}
}'
Per ulteriori informazioni sui parametri del comando, vedere ibmcloud project environment-create.
Creare un ambiente utilizzando l'API
È possibile creare un ambiente a livello di programmazione richiamando l 'API Progetti come mostrato nella seguente richiesta di esempio. L'esempio crea
un ambiente denominato development e con due proprietà di input, una per definire il gruppo di risorse e una per definire la regione:
curl -X POST --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{ "definition": { "name": "development", "description": "The environment 'development'", "authorizations": { "method": "api_key", "api_key": "TbcdlprpFODhkpns9e0daOWnAwd2tXwSYtPn8rpEd8d9" }, "inputs": { "resource_group": "stage", "region": "us-south" }, "compliance_profile": { "id": "some-profile-id", "instance_id": "some-instance-id", "instance_location": "us-south", "profile_name": "some-profile-name", "attachment_id": "some-attachment-id" } } }' \
"{base_url}/v1/projects/{project_id}/environments"