avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta característica se proporciona actualmente como parte de un programa de vista previa de conformidad con nuestras políticas de prelanzamiento.
Autoriza la automatización del flujo de trabajo de New Relic para que realice acciones en tu cuenta de AWS. Configurarás un método de autenticación que permita a flujo de trabajo interactuar de forma segura con servicios de AWS como EC2, SQS, DynamoDB y más, sin codificar las credenciales ni comprometer la seguridad.
Requisitos previos
Antes de configurar las credenciales de AWS, cerciorar de tener lo siguiente:
- Una cuenta AWS con licencia para crear roles o usuarios de IAM.
- Su ID de cuenta de New Relic.
- Acceso de administrador a la consola de AWS IAM.
Comprender las licencias necesarias
Antes de crear las credenciales, comprenda qué licencias necesita su flujo de trabajo. Otorgue únicamente las licencias que su flujo de trabajo realmente emplee; esto sigue el principio de mínimo privilegio y minimiza el riesgo de seguridad.
Licencias comunes del flujo de trabajo
Tipo de flujo de trabajo | Licencias de AWS necesarios | Descripción |
|---|---|---|
Gestión de EC2 |
| Detener, iniciar o modificar instancias EC2 en respuesta a alertas |
Mensajería SQS |
| Enviar mensajes a las colas SQS para su posterior procesamiento. |
Puerta de enlace API |
| Revertir el despliegue o configuración de API Gateway |
Gerente de sistemas |
| Ejecutar manuales de automatización |
DinamoDB |
| Leer o escribir en tablas de DynamoDB |
Sugerencia
Comience con licencias de solo lectura (Describe*, Get*, List*), luego agregue licencias de escritura (Put*, Create*, Delete*) solo según sea necesario. Esto evita acciones destructivas accidentales durante las pruebas.
Consulte los ejemplos de políticas a continuación para ver plantillas completas de políticas de IAM.
Configurar la autenticación
Elija el método que mejor se ajuste a su caso de uso en la tabla anterior:
Un rol de IAM permite a New Relic asumir credenciales temporales en su cuenta de AWS sin necesidad de claves de acceso permanentes.
Características del rol de IAM:
Las credenciales rotan automáticamente
El acceso está limitado en el tiempo por diseño.
Todas las acciones se registran en AWS CloudTrail.
Se alinea con las mejores prácticas de seguridad AWS
Crea el rol en AWS
Inicia sesión en la consola de AWS IAM
Navegue a Roles > Crear rol > Tipo de entidad de confianza y seleccione Cuenta de AWS > otra cuenta de AWS
En el campo Account ID, introduzca:
253490767857En Options, marque la casilla Require external ID.
En el campo External ID, ingrese su ID de cuenta de New Relic y haga clic en Next.
- ¿No lo tienes? Encuentra tu ID de cuenta aquí.
En la página Add permissions, anexe políticas basadas en su flujo de trabajo:
- Para flujo de trabajo EC2: anexe
AmazonEC2ReadOnlyAccesso cree una política personalizada - Para flujo de trabajo SQS: anexe
AmazonSQSFullAccesso limite a colas específicas - Para otros servicios: Consulte las licencias de AWS necesarios.
- Para flujo de trabajo EC2: anexe
Haga clic en Next.
Introduzca un nombre para el rol:
NewRelicWorkflowAutomationRole(o el nombre que prefiera)Opcionalmente, agregue una descripción: "Permite que la automatización del flujo de trabajo de New Relic realice acciones en AWS", y haga clic en Create role.
Verifique la política de confianza
Tras crear el rol, verifique la relación de confianza:
En la consola de IAM, seleccione el rol que acaba de crear.
Haz clic en la pestaña Trust relationships
Confirme que la política coincide con esta estructura (reemplace
<YOUR_NR_ACCOUNT_ID>con su ID de cuenta real):{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": "sts:AssumeRole","Principal": {"AWS": "arn:aws:iam::253490767857:root"},"Condition": {"StringEquals": {"sts:ExternalId": "<YOUR_NR_ACCOUNT_ID>"}}}]}Copia tu ARN de rol
Necesitarás el ARN del rol para configurar el flujo de trabajo:
En la consola de IAM, seleccione su rol.
En la sección Summary, localice el campo ARN
Copia el ARN completo; tiene el siguiente aspecto:
arn:aws:iam::123456789012:role/NewRelicWorkflowAutomationRoleAlmacene este ARN de forma segura: lo pegará directamente en la configuración de flujo de trabajo
Sugerencia
Importante: Los ARN de rol van directamente en las entradas del flujo de trabajo; no los almacene en el administrador de secretos. No son credenciales confidenciales; son identificadores de recursos.
El rol ya está configurado. Emplee el ARN en la configuración de flujo de trabajo que requiera acceso AWS.
Emplee este método para entornos de prueba o cuando no se admitan roles de IAM. Las claves de acceso son credenciales de larga duración que requieren rotación manual.
Casos de uso:
Entornos de prueba y desarrollo
Configuración AWS que no admite la asunción de roles entre cuentas
Autenticación simplificada flujo de trabajo
Advertencia
Las claves de acceso son credenciales de larga duración. Rótelos de manera regular (cada 90 días) y limite las licencias solo a lo que su flujo de trabajo necesita.
Crea el usuario de IAM
Inicia sesión en la consola de AWS IAM
Navegue a Users > Create user e ingrese un nombre de usuario:
workflow-automation-user(o su nombre preferido)Haga clic en Next
En la página Set permissions, seleccione Attach policies directly.
Busque y seleccione pólizas en función de su flujo de trabajo:
- Para SQS: Seleccionar
AmazonSQSFullAccess - Para EC2: Seleccione
AmazonEC2ReadOnlyAccess - O bien, cree una política personalizada con licencias limitadas (recomendado).
- Para SQS: Seleccionar
Haz clic en Next y luego en Create user
Generar claves de acceso
En la lista de usuarios, seleccione el usuario que acaba de crear.
Haz clic en la pestaña Security credentials
En la sección Access keys, seleccione Create access key
Seleccione Application running outside AWS y haga clic en Next.
(Opcional) Agregue una etiqueta de descripción: "Automatización del flujo de trabajo de New Relic"
Seleccione Create access key
Copie ambas credenciales inmediatamente:
- ID de clave de acceso (comienza con
AKIA...) - Clave de acceso secreta (se muestra solo una vez)
Importante
AWS muestra la clave de acceso secreta solo una vez durante la creación. Si no lo almacenas, tendrás que generar un nuevo par de claves.
Almacena las credenciales de forma segura.
Nunca codifique las credenciales AWS en el flujo de trabajo. En su lugar, almacénelos en el administrador de secretos de New Relic.
- ID de clave de acceso (comienza con
Abre el explorador GraphiQL de NerdGraph
Ejecuta esta mutación para almacenar tu ID de clave de acceso (reemplaza los valores de marcador de posición):
mutation {secretsManagementCreateSecret(scope: { type: ACCOUNT, id: "YOUR_NR_ACCOUNT_ID" }namespace: "aws"key: "awsAccessKeyId"description: "AWS Access Key ID for workflow automation"value: "YOUR_AWS_ACCESS_KEY_ID") {key}}Ejecuta otra mutación para tu clave de acceso secreta:
mutation {secretsManagementCreateSecret(scope: { type: ACCOUNT, id: "YOUR_NR_ACCOUNT_ID" }namespace: "aws"key: "awsSecretAccessKey"description: "AWS Secret Access Key for workflow automation"value: "YOUR_AWS_SECRET_ACCESS_KEY") {key}}Haga referencia a estos secretos en el flujo de trabajo empleando la sintaxis:
${{ :secrets:awsAccessKeyId }}Sugerencia
Emplee el campo
namespacepara organizar los secretos por entorno (aws-prod,aws-staging) o nombre del equipo.
El token de sesión proporciona credenciales temporales con caducidad automática.
Casos de uso:
Desarrollo y pruebas locales
Pipeline de CI/CD que requiere rotación de credenciales
Entornos con requisitos de cumplimiento para el acceso limitado en el tiempo (normalmente de 1 a 12 horas).
Requisitos previos
Un rol de IAM existente que puedes asumir
Generar credenciales temporales
Abre tu terminal y ejecuta este comando (reemplaza con el ARN de tu rol):
bash$aws sts assume-role \>--role-arn "arn:aws:iam::YOUR_ACCOUNT:role/YOUR_ROLE" \>--role-session-name "WorkflowAutomationSession"Si es la primera vez que emplea la CLI de AWS, es posible que deba configurarla con
aws configuree ingresar sus credenciales de acceso:
AWS devuelve tres valores; necesitas los tres:
{"Credentials": {"AccessKeyId": "ASIAIOSFODNN7EXAMPLE","SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY","SessionToken": "FQoGZXIvYXdzEBk...","Expiration": "2025-01-25T12:00:00Z"}}Almacena las tres credenciales en el administrador de secretos:
AccessKeyIdalmacenar comoawsAccessKeyIdSecretAccessKeyalmacenar comoawsSecretAccessKeySessionTokenalmacenar comoawsSessionTokenAdvertencia
El token de sesión caduca (normalmente luego de 1 hora). Establece un recordatorio para actualizarlos antes de la timestamp
Expiration, o tu flujo de trabajo fallará con errores de autenticación.
Usar credenciales en flujo de trabajo
Luego de configurar la autenticación, haga referencia a sus credenciales en la configuración de flujo de trabajo:
Rol de IAM (recomendado)
Pegue el ARN del rol directamente en las entradas del flujo de trabajo; no se necesita ningún administrador de secretos:
awsRoleArn: arn:aws:iam::123456789012:role/NewRelicWorkflowAutomationRoleSugerencia
Los ARN de rol son identificadores de recursos, no credenciales confidenciales. No los almacenes en el administrador de secretos; pégalos directamente en la configuración de flujo de trabajo.
Usuario o token de sesión de IAM
Gestor de secretos de referencia para claves de acceso:
awsAccessKeyId: ${{ :secrets:awsAccessKeyId }}awsSecretAccessKey: ${{ :secrets:awsSecretAccessKey }}awsSessionToken: ${{ :secrets:awsSessionToken }} # Only for session tokensNew Relic recupera los secretos en tiempo de ejecución, se autentica con AWS y luego los descarta. Tus credenciales nunca aparecen en los logs ni en el historial del flujo de trabajo.
Ejemplos de políticas
Emplee estas plantillas completas de políticas IAM para tipos de flujo de trabajo comunes. Cada una sigue el principio de mínimo privilegio al restringir el acceso a recursos específicos.
Recursos adicionales
Para obtener referencias completas sobre las licencias de AWS:
- Políticas gestionadas de integraciónAWS : Lista completa de licencias AWS por servicio, además de plantillas de CloudFormation que puede adaptar.
- Configurar sondeo de API de AWS: Patrones de configuración adicionales
Importante
Esos recursos emplean el ID de cuenta 754728514883 para la integración en la nube (monitoreo). Para la automatización del flujo de trabajo, emplee siempre 253490767857.
Que sigue
- Crear destinos: Configurar notificaciones por Slack, email o webhook.
- Catálogo de acciones: Vea todas las acciones disponibles de AWS, New Relic y de integración.