Erstellen Sie Genehmigungsrichtlinien für den just-in-time Knotenzugriff mit Amazon Q - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie Genehmigungsrichtlinien für den just-in-time Knotenzugriff mit Amazon Q

Die Verwendung von Amazon Q Developer für die Befehlszeile bietet Beratung und Unterstützung in verschiedenen Aspekten der Softwareentwicklung. Für den just-in-time Knotenzugriff hilft Ihnen Amazon Q bei der Erstellung von Genehmigungsrichtlinien, indem es den Code für die Richtlinien generiert und aktualisiert, Richtlinienerklärungen analysiert und vieles mehr. Die folgenden Informationen beschreiben, wie Genehmigungsrichtlinien mithilfe von Amazon Q für die Befehlszeile erstellt werden.

Identifizieren Sie Ihren Anwendungsfall

Der erste Schritt bei der Erstellung von Genehmigungsrichtlinien besteht darin, Ihren Anwendungsfall klar zu definieren. In Ihrer Organisation möchten Sie beispielsweise Zugriffsanfragen für Knoten mit einem Environment:Testing Tag automatisch genehmigen. Möglicherweise möchten Sie auch explizit automatische Genehmigungen für Knoten mit einem Environment:Production Tag verweigern, wenn eine Mitarbeiter-ID mit beginnt. TEMP Für Knoten mit einem Tier:Database Tag möchten Sie möglicherweise zwei Stufen manueller Genehmigungen vorschreiben.

In jedem Szenario ziehen Sie möglicherweise eine Richtlinie oder Bedingung einer anderen vor. Wir empfehlen Ihnen daher, das Verhalten der Richtlinie klar zu definieren, damit Sie bestimmen können, welche Aussagen am besten zu Ihrem Anwendungsfall und Ihren Präferenzen passen.

Einrichten Ihrer Entwicklungsumgebung

Installieren Sie Amazon Q für die Befehlszeile, in der Sie Ihre Genehmigungsrichtlinien entwickeln möchten. Informationen zur Installation von Amazon Q für die Befehlszeile finden Sie unter Amazon Q für die Befehlszeile installieren im Amazon Q Developer User Guide.

Aus AWS Dokumentationsgründen empfehlen wir außerdem, den MCP-Server zu installieren. Dieser MCP-Server verbindet Amazon Q über die Befehlszeile mit den aktuellsten Dokumentationsressourcen. Informationen zur Verwendung von MCP mit Amazon Q für die Befehlszeile finden Sie unter Using MCP with Amazon Q Developer im Amazon Q Developer User Guide.

Weitere Informationen zum AWS Documentation MCP Server finden Sie unter AWS Documentation MCP Server.

Installieren und konfigurieren Sie den AWS CLI, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Installation oder Aktualisierung der neuesten Version von AWS CLI.

Entwickeln Sie Inhalte für Genehmigungsrichtlinien

Nachdem Sie Ihren Anwendungsfall identifiziert und die Umgebung eingerichtet haben, sind Sie bereit, die Inhalte für Ihre Richtlinien zu entwickeln. Ihr Anwendungsfall und Ihre Präferenzen bestimmen weitgehend, welche Arten von Genehmigungsrichtlinien und -erklärungen Sie verwenden.

Wenn Sie sich nicht sicher sind, wie Sie eine bestimmte Richtlinie verwenden sollen, oder weitere Informationen zum Schema für eine Richtlinie benötigen, finden Sie weitere Informationen unter Erstellen Sie Genehmigungsrichtlinien für Ihre Knoten und in den nachfolgenden Themen. In diesen Themen wird detailliert erläutert, wie Richtlinien bewertet werden, und es werden praktische Beispielaussagen bereitgestellt.

Das folgende Verfahren beschreibt, wie Genehmigungsrichtlinien mit Amazon Q für die Befehlszeile erstellt werden.

Anmerkung

Amazon Q Developer verwendet generative KI. Möglicherweise müssen Sie die Antworten überprüfen. Weitere Informationen finden Sie in der Richtlinie AWS für verantwortungsvolle KI.

Um Genehmigungsrichtlinien mit Amazon Q für die Befehlszeile zu erstellen
  1. Öffnen Sie Ihr Terminal und starten Sie eine Sitzung mit Amazon Q.

    $ q chat
  2. Geben Sie eine Aufforderung ein und beschreiben Sie, welche Art von Richtlinienerklärung Sie erstellen möchten. Wenn Sie beispielsweise das vorherige Szenario für eine Genehmigungsrichtlinie verwenden, könnten Sie die folgende Aufforderung eingeben:

    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. Die Eingabe dieser Beispielaufforderung führte zu der folgenden Ausgabe:

    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. Fügen Sie die Richtlinienerklärung in eine neue Cedar-Datei ein, um die Syntax zu überprüfen. Sie können die Aussage auch mithilfe des Cedar-Playgrounds überprüfen.

  5. Nachdem Sie die Anweisung validiert haben, speichern Sie die Cedar-Datei.

  6. Führen Sie auf Ihrem Terminal den folgenden AWS CLI Befehl aus, um ein SSM-Dokument mit Ihrem Richtlinieninhalt zu erstellen. Bevor Sie Genehmigungsrichtlinien in einer Produktionsumgebung verwenden, testen Sie Ihre Genehmigungsrichtlinien mit einer Teilmenge von Identitäten und Knoten in einem und. AWS-Konto AWS-Region

    Anmerkung

    Für eine automatische Genehmigungsrichtlinie muss der Dokumentname lautenSSM-JustInTimeAccessAutoApprovalPolicy. Es kann nur eine automatische Genehmigungsrichtlinie pro AWS-Konto und AWS-Region geben. Bei einer Zugriffsverweigerungsrichtlinie muss der Dokumentname lauten. SSM-JustInTimeAccessDenyAccessOrgPolicy Pro AWS Organizations Organisation kann es nur eine Zugriffsverweigerungsrichtlinie geben, und die Richtlinie muss im delegierten Administratorkonto für Systems Manager erstellt werden. Die Benennungsbeschränkungen für manuelle Genehmigungsrichtlinien entsprechen denen anderer SSM-Dokumente. Weitere Informationen finden Sie unter 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"