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 | ec2:DescribeInstancesec2:StopInstancesec2:StartInstancesec2:ModifyInstanceAttribute | Detener, iniciar o modificar instancias EC2 en respuesta a alertas |
| Mensajería SQS | sqs:SendMessagesqs:GetQueueAttributes | Enviar mensajes a las colas SQS para su posterior procesamiento. |
| Puerta de enlace API | apigateway:GETapigateway:PUT | Revertir el despliegue o configuración de API Gateway |
| Gerente de sistemas | ssm:CreateDocumentssm:DeleteDocumentssm:StartAutomationExecutionssm:GetAutomationExecution | Ejecutar manuales de automatización |
| DinamoDB | dynamodb:Querydynamodb:GetItemdynamodb:PutItem | 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:
253490767857 - En 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 a continuación.
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).
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.
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).
Prerrequisitos:
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.
Próximos pasos
Luego de configurar las credenciales AWS, puede crear un flujo de trabajo:
Crear flujo de trabajo:
- Explorar las acciones de AWS: Ver las operaciones de AWS disponibles (EC2, SQS, DynamoDB, etc.).
- Emplee una plantilla: implementar flujo de trabajo preconfigurado para tareas comunes de automatización AWS
- Cree un flujo de trabajo personalizado: cree un flujo de trabajo para sus requisitos específicos
Configurar notificación:
- Configurar destinos: configurar Slack, PagerDuty, email o notificación de webhook para eventos de flujo de trabajo