Cómo crear políticas de aprobación para el acceso a los nodos justo a tiempo con Amazon Q
El uso de Amazon Q Developer para la línea de comandos proporciona orientación y soporte en varios aspectos del desarrollo de software. En el caso del acceso a los nodos justo a tiempo, Amazon Q le permite crear políticas de aprobación mediante la generación y actualización del código de las políticas, el análisis de las instrucciones de las políticas y mucho más. A continuación, se describe cómo crear políticas de aprobación mediante Amazon Q para la línea de comandos.
Cómo identificar su caso de uso
El primer paso para crear políticas de aprobación es definir claramente su caso de uso. Por ejemplo, en su organización, es posible que desee aprobar automáticamente las solicitudes de acceso a los nodos con una etiqueta Environment:Testing
. También puede denegar explícitamente las aprobaciones automáticas a los nodos con una etiqueta Environment:Production
si el ID de un empleado comienza por TEMP
. En el caso de los nodos con una etiqueta Tier:Database
, es posible que desee requerir dos niveles de aprobaciones manuales.
En cualquier situación, es posible que prefiera una política o condición en lugar de otra. Por lo tanto, recomendamos que defina claramente los comportamientos de la política que desee a fin de determinar qué instrucciones se ajustan mejor a su caso de uso y sus preferencias.
Cómo configurar el entorno de desarrollo.
Instale Amazon Q para la línea de comandos donde desee crear las políticas de aprobación. Para obtener información sobre la instalación de Amazon Q para la línea de comandos, consulte Instalación de Amazon Q para la línea de comandos en la Guía del usuario de Amazon Q Developer.
También recomendamos instalar el servidor MCP para obtener la documentación de AWS. Este servidor MCP conecta Amazon Q para la línea de comandos con los recursos de documentación más actuales. Para obtener información sobre el uso de MCP con Amazon Q para la línea de comandos, consulte Using MCP with Amazon Q Developer en la Guía del usuario de Amazon Q Developer.
Para obtener más información sobre el servidor MCP de la documentación de AWS, consulte AWS Documentation MCP Server
Si aún no lo ha hecho, instale y configure la AWS CLI. Para obtener más información, consulte Instalación o actualización de la última versión de AWS CLI.
Cómo desarrollar el contenido de la política de aprobación
Luego de identificar el caso de uso y configurar el entorno, ya puede desarrollar el contenido de las políticas. Su caso de uso y sus preferencias determinarán en gran medida los tipos de políticas de aprobación e instrucciones que utilice.
Si no sabe cómo utilizar una política concreta o necesita más información sobre el esquema de una política, consulte Cómo crear políticas de aprobación para sus nodos y los temas siguientes. En estos temas, se explica en detalle cómo se evalúan las políticas y se proporcionan ejemplos prácticos de instrucciones.
En el siguiente procedimiento, se describe cómo crear políticas de aprobación con Amazon Q para la línea de comandos.
nota
Amazon Q Developer utiliza IA generativa. Es posible que necesite verificar las respuestas. Consulte Política de IA responsable de AWS
Cómo crear políticas de aprobación mediante Amazon Q para la línea de comandos
-
Abra la terminal e inicie una sesión con Amazon Q.
$ q chat
-
Introduzca una petición y describa qué tipo de instrucción de política desee crear. Por ejemplo, a partir de la situación anterior para una política de aprobación, podría introducir la siguiente petición:
Create a Cedar policy statement that allows a principal to use the “getTokenForInstanceAccess" action for a resource that has a tag key “Environment” and tag value of “Testing”. Use the following example statement for reference to verify the syntax. permit ( principal in AWS::IdentityStore::Group::"e8c17310-e011-7089-d989-10da1EXAMPLE", action == AWS::SSM::Action::"getTokenForInstanceAccess", resource ) when { principal has organization && resource.hasTag("Engineering") && resource.hasTag("Production") && principal.organization == "Platform" }; The Cedar policy statement you create must be valid. Validate the Cedar statement using the AWS documentation provided for just-in-time node access policy statement structure and make sure you abide by the schema.
-
Al introducir esta petición de ejemplo, se obtuvo el siguiente resultado:
Based on the AWS documentation for Cedar policy statements and the examples provided, I'll create a valid Cedar policy statement that allows a principal to use the "getTokenForInstanceAccess" action for resources with the tag key "Environment" and tag value "Testing". Here's the Cedar policy statement: permit ( principal, action == AWS::SSM::Action::"getTokenForInstanceAccess", resource ) when { resource.hasTag("Environment") && resource.getTag("Environment") == "Testing" }; This policy statement: 1. Uses the permit effect to allow access 2. Applies to any principal (since no specific principal is defined) 3. Specifically targets the "getTokenForInstanceAccess" action 4. Applies to resources that have a tag with key "Environment" and value "Testing" 5. Uses the proper syntax for the condition clause with the hasTag() and getTag() operators The statement follows the Cedar policy language structure as documented in the AWS Systems Manager documentation for just-in-time node access policies.
-
Pegue la instrucción de la política en un nuevo archivo Cedar para validar la sintaxis. También puede usar el área de pruebas de Cedar
para validar la instrucción. -
Tras validar la instrucción, guarde el archivo Cedar.
-
Desde la terminal, ejecute el siguiente comando de AWS CLI para crear un documento SSM con el contenido de la política. Antes de utilizar las políticas de aprobación en un entorno de producción, pruébelas con un subconjunto de identidades y nodos en una Cuenta de AWS y Región de AWS.
nota
En el caso de una política de aprobación automática, el nombre del documento debe ser
SSM-JustInTimeAccessAutoApprovalPolicy
. Solo puede haber una política de aprobación automática por Cuenta de AWS y Región de AWS. En el caso de una política de denegación de acceso, el nombre del documento debe serSSM-JustInTimeAccessDenyAccessOrgPolicy
. Solo puede haber una política de denegación de acceso por organización de AWS Organizations, y la política debe crearse en la cuenta de administrador delegado de Systems Manager. Las restricciones de denominación de las políticas de aprobación manual son las mismas que las de otros documentos SSM. Para obtener más información, consulte CreateDocument.