Trabajo con parámetros compartidos - AWS Systems Manager

Trabajo con parámetros compartidos

Compartir parámetros avanzados simplifica la administración de los datos de configuración en un entorno con varias cuentas. Puede almacenar y administrar de forma centralizada los parámetros y compartirlos con otras Cuentas de AWS que necesiten hacer referencia a ellos.

Parameter Store se integra con AWS Resource Access Manager (AWS RAM) para permitir el intercambio avanzado de parámetros. AWS RAM es un servicio que permite compartir recursos con otras Cuentas de AWS o a través de AWS Organizations.

Con AWS RAM, puede compartir recursos de su propiedad creando un uso compartido de recursos. Un uso compartido de recursos especifica los recursos que compartir, los permisos que dar y los consumidores con quienes compartir. Los consumidores pueden incluir lo siguiente:

  • Cuentas de AWS específicas dentro o fuera de su organización en AWS Organizations

  • Una unidad organizativa dentro de la organización en AWS Organizations

  • Toda la organización en AWS Organizations

Para obtener más información sobre AWS RAM, consulte la Guía del usuario de AWS RAM.

En este tema se explica cómo compartir los parámetros que le pertenecen y cómo utilizar los parámetros que se comparten.

Requisitos previos para compartir parámetros

Se deben cumplir los siguientes requisitos previos para poder compartir los parámetros de una cuenta:

  • Para compartir un parámetro, debe ser el propietario en su Cuenta de AWS. No puede compartir un parámetro que se ha compartido con usted.

  • Para compartir un parámetro, debe estar en el nivel de parámetros avanzado. Para obtener información los niveles de los parámetros, consulte Administración de niveles de parámetros. Para obtener información sobre el cambio de un parámetro estándar existente a un parámetro avanzado, consulte Cambio de un parámetro estándar a un parámetro avanzado.

  • Para compartir un parámetro de SecureString, debe estar cifrado con una clave administrada por el cliente y usted debe compartir la clave por separado a través de AWS Key Management Service. Claves administradas por AWS no se puede compartir. Los parámetros cifrados con el valor predeterminado Clave administrada de AWS se puede actualizar para utilizar una clave administrada por el cliente en su lugar. Para ver las definiciones de la clave AWS KMS, consulte los Conceptos de AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

  • Para compartir un parámetro con la organización o con una unidad organizativa en AWS Organizations, debe habilitar el uso compartido con AWS Organizations. Para obtener más información, consulte Habilitar el uso compartido con AWS Organizations en la Guía del usuario de AWS RAM.

Compartir un parámetro

Para compartir un parámetro, debe agregarlo al recurso compartido. Un uso compartido de recursos es un recurso de AWS RAM que le permite compartir los recursos a través de Cuentas de AWS. Un uso compartido de recursos especifica los recursos que compartir y los consumidores con quienes se comparten.

Al compartir un parámetro propio con otras Cuentas de AWS, se puede elegir entre dos permisos administrados por AWS para concederlos a los consumidores. Para obtener más información, consulte Conjuntos de permisos para compartir parámetros.

Si forma parte de una organización de AWS Organizations y esta permite el uso compartido, puede conceder a los consumidores de la organización acceso desde la consola de AWS RAM al parámetro compartido. De lo contrario, los consumidores reciben una invitación para unirse al recurso compartido y se les concede acceso al parámetro compartido después de aceptar la invitación.

Puede compartir un parámetro proprio con la consola de AWS RAM o AWS CLI.

nota

Si bien puede compartir un parámetro mediante la operación de la API PutResourcePolicy de Systems Manager, se recomienda utilizar AWS Resource Access Manager (AWS RAM) en su lugar. Esto se debe a la utilización de PutResourcePolicy requiere el paso adicional de convertir el parámetro en un recurso compartido estándar mediante la operación de API de AWS RAM PromoteResourceShareCreatedFromPolicy. De lo contrario, la operación de la API DescribeParameters de Systems Manager no devolverá el parámetro con la opción --shared.

Para compartir un parámetro propio con la consola de AWS RAM

Consulte Creating a resource share in AWS RAM en la Guía del usuario de AWS RAM.

Haga las siguientes selecciones a medida que completa el procedimiento:

  • En la página del paso 1, en Recursos, seleccione Parameter Store Advanced Parameter y, a continuación, seleccione la casilla de cada parámetro del nivel de parámetros avanzado que desee compartir.

  • En la página del paso 2, en Permisos administrados, seleccione el permiso que se va a conceder a los consumidores, tal y como se describe en Conjuntos de permisos para compartir parámetros más adelante en este tema.

Seleccione otras opciones en función de sus objetivos de uso compartido de parámetros.

Para compartir un parámetro propio con AWS CLI

Utilice el comando create-resource-share para agregar parámetros a un recurso compartido nuevo.

Utilice el comando associate-resource-share para agregar parámetros a un recurso compartido existente.

En el siguiente ejemplo, se crea un nuevo recurso compartido para compartir los parámetros con los consumidores de una organización y de una cuenta individual.

aws ram create-resource-share \ --name "MyParameter" \ --resource-arns "arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter" \ --principals "arn:aws:organizations::123456789012:ou/o-63bEXAMPLE/ou-46xi-rEXAMPLE" "987654321098"

Detención del uso compartido de un parámetro

Cuando deja de compartir un parámetro, la cuenta del consumidor ya no podrá acceder al parámetro.

Para dejar de compartir un parámetro propio, debe quitarlo del recurso compartido. Para ello, puede utilizar la consola de Systems Manager, la consola de AWS RAM o la AWS CLI.

Para dejar de compartir un parámetro propio con la consola de AWS RAM

Consulte Actualización de un recurso compartido en AWS RAM en la Guía del usuario de AWS RAM.

Para dejar de compartir un parámetro propio con AWS CLI

Utilice el comando disassociate-resource-share.

Identificación de los parámetros compartidos

Los propietarios y los consumidores pueden identificar los parámetros compartidos con AWS CLI.

Para identificar los parámetros compartidos con AWS CLI

Para identificar los parámetros compartidos con la AWS CLI, puede elegir entre el comando describe-parameters de Systems Manager y el comando de AWS RAM list-resources.

Si utiliza la opción --shared con describe-parameters, el comando devuelve los parámetros que se comparten con usted.

A continuación, se muestra un ejemplo:

aws ssm describe-parameters --shared

Acceder a los parámetros compartidos

Los consumidores pueden acceder a los parámetros compartidos con las herramientas de línea de comandos de AWS y los SDK de AWS. En el caso de las cuentas de consumidores, los parámetros compartidos con esa cuenta no se incluyen en la página Mis parámetros.

Ejemplo de CLI: acceso a los detalles de los parámetros compartidos con AWS CLI

Para acceder a los detalles de los parámetros compartidos con AWS CLI, puede utilizar los comandos get-parameter o get-parameters. Debe especificar el ARN completo del parámetro como el --name para poder recuperar el parámetro de otra cuenta.

A continuación, se muestra un ejemplo.

aws ssm get-parameter \ --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter

Integraciones compatibles y no compatibles para los parámetros compartidos

Actualmente, puede utilizar parámetros compartidos en los siguientes escenarios de integración:

Actualmente, los siguientes escenarios y servicios integrados no son compatibles con el uso de los parámetros compartidos:

Conjuntos de permisos para compartir parámetros

Las cuentas de consumidor solo reciben acceso de lectura a los parámetros que compartas con ellas. El consumidor no puede actualizar ni eliminar el parámetro. El consumidor no puede compartir el parámetro con una cuenta de terceros.

Al crear un recurso compartido en AWS Resource Access Manager para compartir sus parámetros, puede elegir entre dos conjuntos de permisos administrados de AWS para concederle acceso de solo lectura:

AWSRAMDefaultPermissionSSMParameterReadOnly

Acciones permitidas: DescribeParameters, GetParameter y GetParameters

AWSRAMPermissionSSMParameterReadOnlyWithHistory

Acciones permitidas: DescribeParameters, GetParameter, GetParameters y GetParameterHistory

Cuando siga los pasos que se indican en Creating a resource share in AWS RAM en la Guía del usuario de AWS RAM, seleccione Parameter Store Advanced Parameters como tipo de recurso y uno de estos permisos administrados, en función de si desea que los usuarios vean el historial de parámetros o no.

Rendimiento máximo para los parámetros compartidos

Systems Manager limita el rendimiento máximo (las transacciones por segundo) para las operaciones GetParameter y GetParameters. El rendimiento se aplica a nivel de cuenta individual. Por lo tanto, cada cuenta que consuma un parámetro compartido puede utilizar el rendimiento máximo permitido sin verse afectada por otras cuentas. Para obtener más información sobre el rendimiento máximo de los parámetros, consulte los siguientes temas:

Precios de los parámetros compartidos

El uso compartido entre cuentas solo está disponible en el nivel de parámetros avanzados. En el caso de los parámetros avanzados, se cobra al precio actual por el almacenamiento y la utilización de las API por cada parámetro avanzado. Los cargos de almacenamiento del parámetro avanzado se cobran a la cuenta propietaria. A cualquier cuenta consumidora que realice una llamada a la API a un parámetro avanzado compartido se le cobrará por el uso del parámetro.

Por ejemplo, si la cuenta A crea el parámetro avanzado MyAdvancedParameter, se le cobrarán 0,05 USD al mes por almacenar el parámetro.

A continuación, la cuenta A comparte el parámetro MyAdvancedParameter con la cuenta B y la cuenta C. Durante un mes, las tres cuentas realizan llamadas a MyAdvancedParameter. En la siguiente tabla se muestran los cargos en los que incurrirían según el número de llamadas que realice cada cuenta.

nota

Los cargos de la siguiente tabla son solo ilustrativos. Para verificar los precios actuales, consulte Precios de AWS Systems Manager para Parameter Store.

Cuenta Número de llamadas Cargos
Cuenta A (cuenta propietaria) 10 000 llamadas
  • Almacenamiento avanzado de parámetros durante un mes: 0,05 USD

  • 10 000 llamadas a MyAdvancedParameter: 0,05 USD

  • Total: 0,10 USD

Cuenta B (cuenta consumidora) 20 000 llamadas
  • 20 000 llamadas a MyAdvancedParameter: 0,10 USD

  • Total: 0,10 USD

Cuenta C (cuenta consumidora) 30 000 llamadas
  • 30 000 llamadas a MyAdvancedParameter: 0,15 USD

  • Total: 0,15 USD

Acceso entre cuentas para Cuentas de AWS cerradas

Si se cierra la Cuenta de AWS propietaria de un parámetro compartido, todas las cuentas consumidoras pierden el acceso al parámetro compartido. Si la cuenta propietaria se vuelve a abrir dentro de los 90 días siguientes al cierre de la cuenta, las cuentas consumidoras recuperan el acceso a los parámetros compartidos anteriormente. Para obtener más información sobre la reapertura de una cuenta durante el periodo posterior al cierre, consulte Acceso a la Cuenta de AWS después de cerrarla en la Guía de referencia de AWS Account Management.