Crea politiche di approvazione per l'accesso ai just-in-time nodi con Amazon Q - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea politiche di approvazione per l'accesso ai just-in-time nodi con Amazon Q

L'uso di Amazon Q Developer per la riga di comando fornisce indicazioni e supporto su vari aspetti dello sviluppo del software. Per l'accesso ai just-in-time nodi, Amazon Q ti aiuta a creare politiche di approvazione generando e aggiornando il codice per le politiche, analizzando le dichiarazioni delle politiche e altro ancora. Le seguenti informazioni descrivono come creare politiche di approvazione utilizzando Amazon Q per la riga di comando.

Identificazione del caso d'uso

Il primo passo per creare politiche di approvazione è definire chiaramente il caso d'uso. Ad esempio, nella vostra organizzazione potreste voler approvare automaticamente le richieste di accesso ai nodi con un Environment:Testing tag. Potresti anche voler negare esplicitamente le approvazioni automatiche ai nodi con un Environment:Production tag se l'ID di un dipendente inizia con. TEMP Per i nodi con un Tier:Database tag, potresti voler richiedere due livelli di approvazioni manuali.

In qualsiasi scenario, potresti preferire una politica o una condizione piuttosto che un'altra. Pertanto, ti consigliamo di definire chiaramente i comportamenti politici che desideri adottare per determinare quali dichiarazioni si adattano meglio al tuo caso d'uso e alle tue preferenze.

Configurazione dell'ambiente di sviluppo

Installa Amazon Q per la riga di comando dove desideri sviluppare le tue politiche di approvazione. Per informazioni sull'installazione di Amazon Q per la riga di comando, consulta Installazione di Amazon Q per la riga di comando nella Amazon Q Developer User Guide.

Ti consigliamo inoltre di installare il server MCP per la AWS documentazione. Questo server MCP collega Amazon Q per la riga di comando alle risorse di documentazione più recenti. Per informazioni sull'uso di MCP con Amazon Q per la riga di comando, consulta Using MCP with Amazon Q Developer nella Amazon Q Developer User Guide.

Per ulteriori informazioni sul server AWS Documentation MCP, consulta Documentation MCP Server.AWS

Installa e configura il AWS CLI, se non l'hai già fatto. Per informazioni, vedere Installazione o aggiornamento della versione più recente di AWS CLI.

Sviluppa il contenuto della politica di approvazione

Una volta identificato il caso d'uso e configurato l'ambiente, sei pronto a sviluppare i contenuti per le tue politiche. Il tuo caso d'uso e le tue preferenze determineranno in gran parte i tipi di politiche e dichiarazioni di approvazione da utilizzare.

Se non sei sicuro di come utilizzare una determinata politica o hai bisogno di ulteriori informazioni sullo schema di una politica, consulta Crea politiche di approvazione per i tuoi nodi e gli argomenti successivi. Questi argomenti spiegano in dettaglio come vengono valutate le politiche e forniscono esempi di esempi funzionanti.

La procedura seguente descrive come creare politiche di approvazione con Amazon Q per la riga di comando.

Nota

Amazon Q Developer utilizza l'intelligenza artificiale generativa. Potrebbe essere necessario verificare le risposte. Consulta la Politica sull'IA AWS responsabile.

Per creare una politica di approvazione utilizzando Amazon Q per la riga di comando
  1. Apri il tuo terminale e avvia una sessione con Amazon Q.

    $ q chat
  2. Inserisci una richiesta e descrivi il tipo di dichiarazione politica che desideri creare. Ad esempio, utilizzando lo scenario precedente per una politica di approvazione, è possibile inserire il seguente prompt:

    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.
  3. L'immissione di questo prompt di esempio ha prodotto il seguente risultato:

    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.
  4. Incolla l'informativa in un nuovo file Cedar per convalidare la sintassi. Puoi anche convalidare l'istruzione utilizzando il parco giochi Cedar.

  5. Dopo aver convalidato l'istruzione, salvate il file Cedar.

  6. Dal tuo terminale, esegui il seguente AWS CLI comando per creare un documento SSM utilizzando il contenuto della tua policy. Prima di utilizzare le politiche di approvazione in un ambiente di produzione, testate le politiche di approvazione con un sottoinsieme di identità e nodi in un unico file. Account AWS Regione AWS

    Nota

    Per una politica di approvazione automatica, il nome del documento deve essereSSM-JustInTimeAccessAutoApprovalPolicy. È possibile applicare una sola politica di approvazione automatica per Account AWS volta. Regione AWS Per una politica di negazione dell'accesso, il nome del documento deve essere. SSM-JustInTimeAccessDenyAccessOrgPolicy È possibile applicare un solo criterio di negazione dell'accesso per AWS Organizations organizzazione e il criterio deve essere creato nell'account amministratore delegato per Systems Manager. I vincoli di denominazione per le politiche di approvazione manuale sono gli stessi degli altri documenti SSM. Per ulteriori informazioni, consulta CreateDocument.

    Linux & macOS
    aws ssm create-document \ --content file://path/to/file/policyContent.cedar \ --name "SSM-JustInTimeAccessAutoApprovalPolicy" \ --document-type "AutoApproval"
    Windows
    aws ssm create-document ^ --content file://C:\path\to\file\policyContent.cedar ^ --name "SSM-JustInTimeAccessAutoApprovalPolicy" ^ --document-type "AutoApproval"
    PowerShell
    $cedar = Get-Content -Path "C:\path\to\file\policyContent.cedar" | Out-String New-SSMDocument ` -Content $cedar ` -Name "SSM-JustInTimeAccessAutoApprovalPolicy" ` -DocumentType "AutoApproval"