Ruoli IAM per AWS esperimenti FIS - AWS Servizio di iniezione dei guasti

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à.

Ruoli IAM per AWS esperimenti FIS

AWS Identity and Access Management (IAM) è un servizio AWS che consente agli amministratori di controllare in modo sicuro l'accesso alle risorse AWS. Per utilizzare AWS FIS, devi creare un ruolo IAM che conceda a AWS FIS le autorizzazioni necessarie affinché AWS FIS possa eseguire esperimenti per tuo conto. Questo ruolo dell'esperimento viene specificato quando si crea un modello di esperimento. Per un esperimento con account singolo, la policy IAM per il ruolo dell'esperimento deve concedere l'autorizzazione a modificare le risorse specificate come obiettivi nel modello di esperimento. Per un esperimento con più account, il ruolo dell'esperimento deve concedere al ruolo di orchestratore l'autorizzazione ad assumere il ruolo IAM per ogni account di destinazione. Per ulteriori informazioni, consulta Autorizzazioni per esperimenti con più account.

Ti consigliamo di seguire la pratica di sicurezza standard che prevede la concessione del privilegio minimo. Puoi farlo specificando ARN o tag di risorse specifici nelle tue politiche.

Per aiutarti a iniziare rapidamente a usare AWS FIS, forniamo policy AWS gestite che puoi specificare quando crei un ruolo sperimentale. In alternativa, puoi anche utilizzare queste politiche come modello mentre crei i tuoi documenti politici in linea.

Prerequisiti

Prima di iniziare, installa AWS CLI e crea la politica di attendibilità richiesta.

Installazione di AWS CLI

Prima di iniziare, installa e configura la AWS CLI. Quando configuri la AWS CLI, ti vengono chieste le credenziali di AWS. Gli esempi in questa procedura presuppongono che tu abbia configurato una regione predefinita. In caso contrario, aggiungi l'opzione --region a ogni comando. Per ulteriori informazioni, consulta Installazione o aggiornamento della AWS CLI e Configurazione della AWS CLI.

Crea una politica di relazione di fiducia

Un ruolo sperimentale deve avere una relazione di fiducia che consenta al servizio AWS FIS di assumere il ruolo. Creare un file di testo denominato fis-role-trust-policy.json e aggiungere la seguente politica di relazione di fiducia.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Si consiglia di utilizzare il le chiavi di condizione aws:SourceAccount e aws:SourceArn per proteggersi dal problema del "confused deputy". L'account di origine è il proprietario dell'esperimento e l'ARN di origine è l'ARN dell'esperimento. Ad esempio, dovresti aggiungere il seguente blocco di condizioni alla tua politica di fiducia.

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:fis:region:account_id:experiment/*" } }
Aggiungi le autorizzazioni per assumere i ruoli degli account di destinazione (solo esperimenti con più account)

Per gli esperimenti con più account, sono necessarie autorizzazioni che consentano all'account orchestrator di assumere i ruoli di account di destinazione. Puoi modificare il seguente esempio e aggiungerlo come documento di policy in linea per assumere i ruoli degli account di destinazione:

{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":[ "arn:aws:iam::target_account_id:role/role_name" ] }

Opzione 1: creare un ruolo sperimentale e allegare una policy AWS gestita

Utilizza una delle politiche AWS gestite di AWS FIS per iniziare rapidamente.

Per creare un ruolo sperimentale e allegare una policy AWS gestita
  1. Verifica che esista una policy gestita per le azioni AWS FIS del tuo esperimento. Altrimenti, dovrai invece creare il tuo documento di policy in linea. Per ulteriori informazioni, consulta AWS politiche gestite per AWS Fault Injection Service.

  2. Utilizzate il seguente comando create-role per creare un ruolo e aggiungere la politica di fiducia che avete creato nei prerequisiti.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  3. Utilizza il attach-role-policycomando seguente per allegare la policy gestitaAWS.

    aws iam attach-role-policy --role-name my-fis-role --policy-arn fis-policy-arn

    fis-policy-arnDov'è uno dei seguenti:

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess

Opzione 2: creare un ruolo sperimentale e aggiungere un documento programmatico in linea

Usa questa opzione per azioni che non prevedono una policy gestita o per includere solo le autorizzazioni necessarie per il tuo esperimento specifico.

Per creare un esperimento e aggiungere un documento di policy in linea
  1. Usa il seguente comando create-role per creare un ruolo e aggiungere la politica di fiducia che hai creato nei prerequisiti.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  2. Crea un file di testo denominato fis-role-permissions-policy.json e aggiungi una politica di autorizzazioni. Per un esempio da utilizzare come punto di partenza, consultate quanto segue.

    • Azioni di iniezione dei guasti: iniziate dalla seguente politica.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentRoleFaultInjectionActions", "Effect": "Allow", "Action": [ "fis:InjectApiInternalError", "fis:InjectApiThrottleError", "fis:InjectApiUnavailableError" ], "Resource": "arn:*:fis:*:*:experiment/*" } ] }
    • Azioni di Amazon EBS: inizia dalla seguente policy.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" } ] }
    • Azioni di Amazon EC2: inizia dalla AWSFaultInjectionSimulatorEC2Accesspolicy.

    • Azioni di Amazon ECS: inizia dalla AWSFaultInjectionSimulatorECSAccesspolicy.

    • Azioni di Amazon EKS: inizia dalla AWSFaultInjectionSimulatorEKSAccesspolicy.

    • Azioni di rete: inizia dalla AWSFaultInjectionSimulatorNetworkAccesspolitica.

    • Azioni di Amazon RDS: inizia dalla AWSFaultInjectionSimulatorRDSAccesspolicy.

    • Azioni di Systems Manager: inizia dalla AWSFaultInjectionSimulatorSSMAccesspolicy.

  3. Utilizza il put-role-policycomando seguente per aggiungere la politica di autorizzazioni creata nel passaggio precedente.

    aws iam put-role-policy --role-name my-fis-role --policy-name my-fis-policy --policy-document file://fis-role-permissions-policy.json