Creación de un entorno

Dentro de su proyecto, cree un entorno para agrupar configuraciones relacionadas y compartir valores entre ellas para facilitar las implementaciones. Las propiedades que añades a un entorno se añaden automáticamente a las configuraciones que utilizan ese entorno. Dentro de la configuración, puede modificar los valores proporcionados por el entorno. Para obtener más información, consulte las ventajas de utilizar entornos.

Cuando edita una configuración, puede seleccionar un entorno para la configuración que se utilizará en la sección Definir detalles.

Antes de empezar

Debe tener el rol de editor o superior en el servicio IBM Cloud® Projects para crear y editar entornos. Para obtener más información sobre el acceso y los permisos, consulte Asignación de acceso a proyectos a los usuarios.

Creación de un entorno mediante la consola

Para crear un entorno a partir de tu proyecto, sigue estos pasos:

  1. En la consola IBM Cloud, haga clic en el icono del menú de navegación Menú de > Proyectos y seleccione un proyecto.
  2. En la pestaña Administrar, seleccione Entornos.
  3. Pulse Crear.
  4. Asigne un nombre a su entorno y, a continuación, haga clic en Agregar para agregar propiedades.

Hay tres categorías de propiedades que se pueden añadir a un entorno: autenticación, cumplimiento y entrada. Puede añadir estas propiedades manualmente o añadir varias propiedades a la vez desde una configuración en su proyecto.

Añadir propiedades manualmente

Si añades propiedades manualmente, considera añadir primero el método de autenticación. El método de autenticación de la cuenta de destino es necesario para autorizar una implementación en dicha cuenta. El método de autenticación también se utiliza si desea incorporar una política de « Workload Protection » (autenticación de dos factores) desde su cuenta de destino. Solo se puede añadir una propiedad de autenticación a un entorno, y solo se puede añadir una propiedad de cumplimiento a un entorno si se dispone de una instancia, zona y política de Workload Protection en la cuenta de destino que se desea utilizar. Su instancia de Workload Protection también debe estar habilitada para CSPM. No se puede agregar una propiedad de cumplimiento que utilice los controles predeterminados de la arquitectura implementable, ya que dichos controles predeterminados varían de una arquitectura a otra.

Si desea añadir una propiedad de cumplimiento y especificar una política de Workload Protection, primero debe proporcionar una propiedad de autenticación en su entorno con datos de autenticación válidos. Puedes utilizar una clave API con Secrets Manager o puedes utilizar un perfil de confianza para autenticarte con la cuenta de destino que contiene tu archivo adjunto Workload Protection.

La información de autenticación y cumplimiento se utiliza en todas las configuraciones, por lo que si añade una propiedad de autenticación o una propiedad de cumplimiento a su entorno, se añadirá automáticamente a cualquier configuración que utilice ese entorno.

Los valores de entrada también se pueden añadir como propiedades a tu entorno. Cuando añades una entrada a un entorno, el nombre de tu entrada en el entorno debe coincidir con el nombre de la entrada en las configuraciones que utilizan el entorno. Si los nombres no coinciden, el valor del entorno no se utiliza en la configuración. Por ejemplo, si añades una entrada a tu entorno y la llamas resource_group, pero una configuración que utiliza ese entorno tiene una entrada llamada, resourcegroup el valor del entorno no se utilizará en esa configuración.

Varias arquitecturas pueden utilizar el mismo entorno, pero no todas las arquitecturas tienen los mismos nombres de entrada para valores similares. Puede añadir varias entradas a su entorno con el mismo valor, pero con nombres diferentes. Por ejemplo, puede añadir dos propiedades de entrada y nombrar una resource_group y la otra resourcegroup. Mantenga los mismos valores para ambas propiedades. Cualquier configuración que utilice el entorno y tenga un nombre resource_group de entrada o un nombre resourcegroup de entrada utilizará el mismo valor del entorno.

Para añadir una propiedad manualmente, siga estos pasos:

  1. Después de crear su entorno, haga clic en el icono Editar Editar para el entorno.

  2. Haga clic en Añadir > Añadir manualmente...

  3. Seleccione la categoría de propiedad que desea añadir.

    Considere añadir primero una propiedad de autenticación con datos de autenticación válidos para su cuenta de destino.

  4. Proporcione los detalles de la propiedad y haga clic en Añadir.

  5. Pulse Guardar.

Añadir propiedades desde una configuración

Ahorre tiempo y reduzca los errores añadiendo múltiples propiedades a su entorno desde una configuración. Al hacerlo, usted ayuda a garantizar que las propiedades sean precisas en su entorno, ya que los nombres y valores de entrada se extraen directamente de la configuración que usted selecciona. Después de añadir las propiedades de una configuración, puede editarlas en el entorno sin afectar a su configuración. Las modificaciones futuras de la configuración no afectan a las propiedades del entorno.

Para añadir varias propiedades desde una configuración, siga estos pasos:

  1. Después de crear su entorno, haga clic en el icono Editar Editar para el entorno.
  2. Haga clic en Añadir > Añadir desde una configuración...
  3. Seleccione la configuración que desea utilizar para añadir propiedades a su entorno.
  4. Seleccione los elementos de la configuración que desea añadir a su entorno y haga clic en Añadir.

Creación de un entorno mediante la CLI

Para crear un entorno mediante la CLI, ejecute el siguiente ibmcloud project environment-create comando :

ibmcloud project environment-create --project-id PROJECT-ID [--definition DEFINITION]

Dentro del definition, puede especificar las propiedades de entrada que desea incluir en su entorno utilizando la inputs opción. Del mismo modo, puede especificar una propiedad de autenticación en su entorno utilizando la authorizations opción dentro de definition. Además, puede añadir una propiedad de conformidad incluyendo la compliance-profile opción dentro de la definition también.

Por ejemplo, el siguiente comando crea un entorno denominado development y tiene una propiedad de entrada que define el grupo de recursos:

ibmcloud project environment-create \
     --project-id exampleString \
     --definition '{"name": "development", "inputs": {"resource_group" : "stage"}}'

Del mismo modo, el siguiente comando crea un entorno denominado development y tiene una propiedad de entrada que define el grupo de recursos. También se proporciona un perfil de confianza como propiedad de autenticación:

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>"
    }
  }'

Para obtener más información sobre los parámetros comando, consulte ibmcloud project environment-create.

Creación de un entorno mediante la API

Puede crear un entorno mediante programación llamando a la API de proyectos, tal y como se muestra en la siguiente solicitud de ejemplo. El ejemplo crea un entorno denominado development y tiene dos propiedades de entrada, una para definir el grupo de recursos y otra para definir la región:

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"