

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Gestion des identités et des accès AWS autorisations dans AWS ParallelCluster
<a name="iam-roles-in-parallelcluster-v3"></a>

AWS ParallelCluster utilise les autorisations IAM pour contrôler l'accès aux ressources lors de la création et de la gestion des clusters.

**Pour créer et gérer des clusters dans un AWS compte, des AWS ParallelCluster autorisations à deux niveaux sont nécessaires :**
+ Autorisations dont l'`pcluster`utilisateur a besoin pour appeler les commandes de la `pcluster` CLI pour créer et gérer des clusters.
+ Autorisations requises par les ressources du cluster pour effectuer des actions du cluster.

**AWS ParallelCluster utilise** un [profil et un rôle d'instance Amazon EC2 pour fournir des autorisations](#iam-ec2-instance-role) de ressources de cluster. Pour gérer les autorisations des ressources du cluster, il faut AWS ParallelCluster également des autorisations pour les ressources IAM. Pour de plus amples informations, veuillez consulter [AWS ParallelCluster exemples de politiques utilisateur pour la gestion des ressources IAM](#iam-roles-in-parallelcluster-v3-user-policy-manage-iam).

**`pcluster`les utilisateurs ont besoin** d'autorisations IAM pour utiliser la [`pcluster`](pcluster-v3.md) CLI afin de créer et de gérer un cluster et ses ressources. Ces autorisations sont incluses dans les politiques IAM qui peuvent être ajoutées à un utilisateur ou à un rôle. Pour plus d'informations sur les rôles IAM, consultez la section [Création d'un rôle utilisateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l'Gestion des identités et des accès AWS utilisateur*.

Vous pouvez également utiliser [AWS ParallelCluster paramètres de configuration pour gérer les autorisations IAM](#iam-roles-in-parallelcluster-v3-params-for-iam).

Les sections suivantes contiennent les autorisations requises avec des exemples.

Pour utiliser les exemples de politiques, remplacez `<REGION>``<AWS ACCOUNT ID>`, et les chaînes similaires par les valeurs appropriées.

Les exemples de politiques suivants incluent Amazon Resource Names (ARNs) pour les ressources. Si vous travaillez dans les partitions AWS GovCloud (US) ou sur la partition AWS Chine, elles ARNs doivent être modifiées. Plus précisément, ils doivent être remplacés par « arn:aws » par « arn : aws-us-gov » pour la AWS GovCloud (US) partition ou « arn:aws-cn » pour la partition Chine. AWS Pour plus d'informations, consultez [Amazon Resource Names (ARNs) dans la section AWS GovCloud (US) Régions](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/using-govcloud-arns.html) du *guide de AWS GovCloud (US) l'utilisateur* et [ARNs pour les AWS services en Chine](https://docs.amazonaws.cn/aws/latest/userguide/ARNs.html) dans *Getting Started with AWS services in China*.

Vous pouvez suivre les modifications apportées aux exemples de politiques dans [AWS ParallelCluster la documentation sur GitHub](https://github.com/awsdocs/aws-parallelcluster-user-guide/blame/main/doc_source/iam-roles-in-parallelcluster-v3.md).

**Topics**
+ [AWS ParallelCluster Rôles d'instance Amazon EC2](#iam-ec2-instance-role)
+ [AWS ParallelCluster exemples de politiques `pcluster` utilisateur](#iam-roles-in-parallelcluster-v3-example-user-policies)
+ [AWS ParallelCluster exemples de politiques utilisateur pour la gestion des ressources IAM](#iam-roles-in-parallelcluster-v3-user-policy-manage-iam)
+ [AWS ParallelCluster paramètres de configuration pour gérer les autorisations IAM](#iam-roles-in-parallelcluster-v3-params-for-iam)

## AWS ParallelCluster Rôles d'instance Amazon EC2
<a name="iam-ec2-instance-role"></a>

Lorsque vous créez un cluster avec les paramètres de configuration par défaut, AWS ParallelCluster vous utilisez les [profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) Amazon EC2 pour créer automatiquement un rôle d'[instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) par défaut qui fournit les autorisations requises pour créer et gérer le cluster et ses ressources.

### Alternatives à l'utilisation du rôle d' AWS ParallelCluster instance par défaut
<a name="iam-roles-in-parallelcluster-v3-existing-roles"></a>

À la place du rôle d' AWS ParallelCluster instance par défaut, vous pouvez utiliser le paramètre de configuration du `InstanceRole` cluster pour spécifier votre propre rôle IAM existant pour EC2. Pour de plus amples informations, veuillez consulter [AWS ParallelCluster paramètres de configuration pour gérer les autorisations IAM](#iam-roles-in-parallelcluster-v3-params-for-iam). Généralement, vous spécifiez les rôles IAM existants pour contrôler entièrement les autorisations accordées à EC2.

[Si votre intention est d'ajouter des politiques supplémentaires au rôle d'instance par défaut, nous vous recommandons de transmettre les politiques IAM supplémentaires en utilisant le paramètre de [`AdditionalIamPolicies`](#iam-roles-in-parallelcluster-v3-cluster-config-additionaliampolicies)`InstanceProfile`configuration plutôt que `InstanceRole` les paramètres.](#iam-roles-in-parallelcluster-v3-cluster-config-headnode-instanceprofile) Vous pouvez mettre à jour `AdditionalIamPolicies` lorsque vous mettez à jour votre cluster, mais vous ne pouvez pas le mettre à jour `InstanceRole` lorsque vous mettez à jour votre cluster.

## AWS ParallelCluster exemples de politiques `pcluster` utilisateur
<a name="iam-roles-in-parallelcluster-v3-example-user-policies"></a>

Les exemples suivants montrent les politiques utilisateur requises pour créer AWS ParallelCluster et gérer ses ressources à l'aide de la `pcluster` CLI. Vous pouvez associer des politiques à un utilisateur ou à un rôle.

**Topics**
+ [Politique AWS ParallelCluster `pcluster` utilisateur de base](#iam-roles-in-parallelcluster-v3-base-user-policy)
+ [Politique AWS ParallelCluster `pcluster` utilisateur supplémentaire lors de l'utilisation du AWS Batch planificateur](#iam-roles-in-parallelcluster-v3-user-policy-batch)
+ [Politique AWS ParallelCluster `pcluster` utilisateur supplémentaire lors de l'utilisation d'Amazon FSx pour Lustre](#iam-roles-in-parallelcluster-v3-user-policy-fsxlustre)
+ [AWS ParallelCluster politique `pcluster` utilisateur de création d'images](#iam-roles-in-parallelcluster-v3-user-policy-build-image)

### Politique AWS ParallelCluster `pcluster` utilisateur de base
<a name="iam-roles-in-parallelcluster-v3-base-user-policy"></a>

La politique suivante indique les autorisations requises pour exécuter AWS ParallelCluster `pcluster` des commandes.

La dernière action répertoriée dans la politique est incluse pour valider tous les secrets spécifiés dans la configuration du cluster. Par exemple, un AWS Secrets Manager secret est utilisé pour configurer l'[`DirectoryService`](DirectoryService-v3.md)intégration. Dans ce cas, un cluster n'est créé que s'il existe un secret valide dans le [`PasswordSecretArn`](DirectoryService-v3.md#yaml-DirectoryService-PasswordSecretArn). Si cette action est omise, la validation secrète est ignorée. Pour améliorer votre niveau de sécurité, nous vous recommandons de limiter la portée de cette déclaration de politique en ajoutant uniquement les secrets spécifiés dans la configuration de votre cluster.

**Note**  
Si les systèmes de fichiers Amazon EFS existants sont les seuls systèmes de fichiers utilisés dans votre cluster, vous pouvez appliquer les exemples de déclarations de politique Amazon EFS aux systèmes de fichiers spécifiques référencés dans le fichier [`SharedStorage` Section](SharedStorage-v3.md) de configuration du cluster.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:Describe*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "EC2Read"
        },
        {
            "Action": [
                "ec2:AllocateAddress",
                "ec2:AssociateAddress",
                "ec2:AttachNetworkInterface",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateFleet",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateLaunchTemplateVersion",
                "ec2:CreateNetworkInterface",
                "ec2:CreatePlacementGroup",
                "ec2:CreateSecurityGroup",
                "ec2:CreateSnapshot",
                "ec2:CreateTags",
                "ec2:DeleteTags",
                "ec2:CreateVolume",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteNetworkInterface",
                "ec2:DeletePlacementGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteVolume",
                "ec2:DisassociateAddress",
                "ec2:ModifyLaunchTemplate",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:ModifyVolume",
                "ec2:ModifyVolumeAttribute",
                "ec2:ReleaseAddress",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "ec2:RunInstances",
                "ec2:TerminateInstances"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "EC2Write"
        },
        {
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:ListTagsOfResource",
                "dynamodb:CreateTable",
                "dynamodb:DeleteTable",
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:Query",
                "dynamodb:TagResource",
                "dynamodb:UntagResource"
            ],
            "Resource": "arn:aws:dynamodb:*:111122223333:table/parallelcluster-*",
            "Effect": "Allow",
            "Sid": "DynamoDB"
        },
        {
            "Action": [
                "route53:ChangeResourceRecordSets",
                "route53:ChangeTagsForResource",
                "route53:CreateHostedZone",
                "route53:DeleteHostedZone",
                "route53:GetChange",
                "route53:GetHostedZone",
                "route53:ListResourceRecordSets",
                "route53:ListQueryLoggingConfigs"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "Route53HostedZones"
        },
        {
            "Action": [
                "cloudformation:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "CloudFormation"
        },
        {
            "Action": [
                "cloudwatch:PutDashboard",
                "cloudwatch:ListDashboards",
                "cloudwatch:DeleteDashboards",
                "cloudwatch:GetDashboard",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:PutCompositeAlarm",
                "cloudwatch:TagResource",
                "cloudwatch:UntagResource"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "CloudWatch"
        },
        {
            "Action": [
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:GetPolicy",
                "iam:SimulatePrincipalPolicy",
                "iam:GetInstanceProfile"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/*",
                "arn:aws:iam::111122223333:policy/*",
                "arn:aws:iam::aws:policy/*",
                "arn:aws:iam::111122223333:instance-profile/*"
            ],
            "Effect": "Allow",
            "Sid": "IamRead"
        },
        {
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:DeleteInstanceProfile",
                "iam:AddRoleToInstanceProfile",
                "iam:RemoveRoleFromInstanceProfile"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:instance-profile/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamInstanceProfile"
        },
        {
            "Condition": {
                "StringEqualsIfExists": {
                    "iam:PassedToService": [
                        "lambda.amazonaws.com",
                        "ec2.amazonaws.com",
                        "spotfleet.amazonaws.com"
                    ]
                }
            },
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamPassRole"
        },
        {
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunctionConfiguration",
                "lambda:GetFunction",
                "lambda:InvokeFunction",
                "lambda:AddPermission",
                "lambda:RemovePermission",
                "lambda:UpdateFunctionConfiguration",
                "lambda:TagResource",
                "lambda:ListTags",
                "lambda:UntagResource"
            ],
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:parallelcluster-*",
                "arn:aws:lambda:*:111122223333:function:pcluster-*"
            ],
            "Effect": "Allow",
            "Sid": "Lambda"
        },
        {
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::parallelcluster-*",
                "arn:aws:s3:::aws-parallelcluster-*"
            ],
            "Effect": "Allow",
            "Sid": "S3ResourcesBucket"
        },
        {
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "arn:aws:s3:::*-aws-parallelcluster*",
            "Effect": "Allow",
            "Sid": "S3ParallelClusterReadOnly"
        },
        {
            "Action": [
                "elasticfilesystem:*"
            ],
            "Resource": [
                "arn:aws:elasticfilesystem:*:111122223333:*"
            ],
            "Effect": "Allow",
            "Sid": "EFS"
        },
        {
            "Action": [
                "logs:DeleteLogGroup",
                "logs:PutRetentionPolicy",
                "logs:DescribeLogGroups",
                "logs:CreateLogGroup",
                "logs:TagResource",
                "logs:UntagResource",
                "logs:FilterLogEvents",
                "logs:GetLogEvents",
                "logs:CreateExportTask",
                "logs:DescribeLogStreams",
                "logs:DescribeExportTasks",
                "logs:DescribeMetricFilters",
                "logs:PutMetricFilter",
                "logs:DeleteMetricFilter",
                "logs:ListTagsForResource"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "CloudWatchLogs"
        },
        {
            "Action": [
                "resource-groups:ListGroupResources"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "ResourceGroupRead"
        },
        {
            "Sid": "AllowDescribingFileCache",
            "Effect": "Allow",
            "Action": [
                "fsx:DescribeFileCaches"
            ],
            "Resource": "*"
        },
        {
            "Action": "secretsmanager:DescribeSecret",
            "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:<SECRET NAME>",
            "Effect": "Allow"
        }
    ]
}
```

------

### Politique AWS ParallelCluster `pcluster` utilisateur supplémentaire lors de l'utilisation du AWS Batch planificateur
<a name="iam-roles-in-parallelcluster-v3-user-policy-batch"></a>

Si vous devez créer et gérer un cluster avec un AWS Batch planificateur, la politique supplémentaire suivante est requise.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Condition": {
                "StringEqualsIfExists": {
                    "iam:PassedToService": [
                        "ecs-tasks.amazonaws.com",
                        "batch.amazonaws.com",
                        "codebuild.amazonaws.com"
                    ]
                }
            },
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamPassRole"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": [
                        "batch.amazonaws.com"
                    ]
                }
            },
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteServiceLinkedRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/aws-service-role/batch.amazonaws.com/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "codebuild:*"
            ],
            "Resource": "arn:aws:codebuild:*:111122223333:project/pcluster-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ecr:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "ECR"
        },
        {
            "Action": [
                "batch:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "Batch"
        },
        {
            "Action": [
                "events:*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "AmazonCloudWatchEvents"
        },
        {
            "Action": [
                "ecs:DescribeContainerInstances",
                "ecs:ListContainerInstances"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "ECS"
        }
    ]
}
```

------

### Politique AWS ParallelCluster `pcluster` utilisateur supplémentaire lors de l'utilisation d'Amazon FSx pour Lustre
<a name="iam-roles-in-parallelcluster-v3-user-policy-fsxlustre"></a>

Si vous devez créer et gérer un cluster avec Amazon FSx for Lustre, la politique supplémentaire suivante est requise.

**Note**  
Si les systèmes de FSx fichiers Amazon existants sont les seuls systèmes de fichiers utilisés dans votre cluster, vous pouvez limiter les exemples de déclarations de FSx politique Amazon aux systèmes de fichiers spécifiques référencés dans le fichier [`SharedStorage` Section](SharedStorage-v3.md) de configuration du cluster.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": [
                        "fsx.amazonaws.com",
                        "s3.data-source.lustre.fsx.amazonaws.com"
                    ]
                }
            },
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteServiceLinkedRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "fsx:*"
            ],
            "Resource": [
                "arn:aws:fsx:*:111122223333:*"
            ],
            "Effect": "Allow",
            "Sid": "FSx"
        },
        {
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:Get*",
                "s3:List*",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Effect": "Allow"
        }
    ]
}
```

------

### AWS ParallelCluster politique `pcluster` utilisateur de création d'images
<a name="iam-roles-in-parallelcluster-v3-user-policy-build-image"></a>

Les utilisateurs qui ont l'intention de créer des images Amazon EC2 personnalisées AWS ParallelCluster doivent disposer des autorisations suivantes.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceTypeOfferings",
                "ec2:DescribeInstanceTypes",
                "ec2:DeregisterImage",
                "ec2:DeleteSnapshot"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "EC2"
        },
        {
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:AddRoleToInstanceProfile",
                "iam:CreateRole",
                "iam:TagRole",
                "iam:GetRole",
                "iam:PutRolePolicy",
                "iam:GetRolePolicy",
                "iam:GetInstanceProfile",
                "iam:RemoveRoleFromInstanceProfile"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:instance-profile/parallelcluster/*",
                "arn:aws:iam::111122223333:instance-profile/ParallelClusterImage*",
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IAM"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "lambda.amazonaws.com",
                        "ec2.amazonaws.com"
                    ]
                }
            },
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:instance-profile/parallelcluster/*",
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IAMPassRole"
        },
        {
            "Action": [
                "logs:GetLogEvents",
                "logs:CreateLogGroup",
                "logs:TagResource",
                "logs:UntagResource",
                "logs:DeleteLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:*:111122223333:log-group:/aws/imagebuilder/ParallelClusterImage-*",
                "arn:aws:logs:*:111122223333:log-group:/aws/lambda/ParallelClusterImage-*"
            ],
            "Effect": "Allow",
            "Sid": "CloudWatch"
        },
        {
            "Action": [
                "cloudformation:DescribeStacks",
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:111122223333:stack/*"
            ],
            "Effect": "Allow",
            "Sid": "CloudFormation"
        },
        {
            "Action": [
                "lambda:CreateFunction",
                "lambda:GetFunction",
                "lambda:AddPermission",
                "lambda:RemovePermission",
                "lambda:DeleteFunction",
                "lambda:TagResource",
                "lambda:ListTags",
                "lambda:UntagResource"
            ],
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:ParallelClusterImage-*"
            ],
            "Effect": "Allow",
            "Sid": "Lambda"
        },
        {
            "Action": [
                "imagebuilder:Get*"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Sid": "ImageBuilderGet"
        },
        {
            "Action": [
                "imagebuilder:CreateImage",
                "imagebuilder:TagResource",
                "imagebuilder:CreateImageRecipe",
                "imagebuilder:CreateComponent",
                "imagebuilder:CreateDistributionConfiguration",
                "imagebuilder:CreateInfrastructureConfiguration",
                "imagebuilder:DeleteImage",
                "imagebuilder:DeleteComponent",
                "imagebuilder:DeleteImageRecipe",
                "imagebuilder:DeleteInfrastructureConfiguration",
                "imagebuilder:DeleteDistributionConfiguration"
            ],
            "Resource": [
                "arn:aws:imagebuilder:*:111122223333:image/parallelclusterimage-*",
                "arn:aws:imagebuilder:*:111122223333:image-recipe/parallelclusterimage-*",
                "arn:aws:imagebuilder:*:111122223333:component/parallelclusterimage-*",
                "arn:aws:imagebuilder:*:111122223333:distribution-configuration/parallelclusterimage-*",
                "arn:aws:imagebuilder:*:111122223333:infrastructure-configuration/parallelclusterimage-*"
            ],
            "Effect": "Allow",
            "Sid": "ImageBuilder"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:ListBucketVersions"
            ],
            "Resource": [
                "arn:aws:s3:::parallelcluster-*"
            ],
            "Effect": "Allow",
            "Sid": "S3Bucket"
        },
        {
            "Action": [
                "sns:GetTopicAttributes",
                "sns:TagResource",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Publish",
                "SNS:DeleteTopic",
                "SNS:Unsubscribe"
            ],
            "Resource": [
                "arn:aws:sns:*:111122223333:ParallelClusterImage-*"
            ],
            "Effect": "Allow",
            "Sid": "SNS"
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::parallelcluster-*/*"
            ],
            "Effect": "Allow",
            "Sid": "S3Objects"
        },
        {
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/imagebuilder.amazonaws.com/AWSServiceRoleForImageBuilder",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "imagebuilder.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## AWS ParallelCluster exemples de politiques utilisateur pour la gestion des ressources IAM
<a name="iam-roles-in-parallelcluster-v3-user-policy-manage-iam"></a>

Lors AWS ParallelCluster de l'utilisation pour créer des clusters ou des AMIs fonctionnalités personnalisées, des politiques IAM doivent être fournies qui contiennent des autorisations permettant d'accorder l'ensemble d'autorisations requis aux AWS ParallelCluster composants. Ces ressources IAM peuvent être créées automatiquement AWS ParallelCluster ou fournies en entrée lors de la création d'un cluster ou d'une image personnalisée.

Vous pouvez utiliser les modes suivants pour fournir à l' AWS ParallelCluster utilisateur les autorisations nécessaires pour accéder aux ressources IAM en utilisant des politiques IAM supplémentaires dans la configuration.

**Topics**
+ [Mode d'accès IAM privilégié](#iam-roles-in-parallelcluster-v3-privileged-iam-access)
+ [Mode d'accès IAM restreint](#iam-roles-in-parallelcluster-v3-restricted-iam-access)
+ [Mode `PermissionsBoundary`](#iam-roles-in-parallelcluster-v3-permissionsboundary-mode)

### Mode d'accès IAM privilégié
<a name="iam-roles-in-parallelcluster-v3-privileged-iam-access"></a>

Ce mode crée AWS ParallelCluster automatiquement toutes les ressources IAM nécessaires. Ces politiques IAM sont limitées pour permettre l'accès aux ressources du cluster uniquement.

Pour activer le mode d'accès privilégié IAM, ajoutez la politique suivante au rôle utilisateur.

**Note**  
Si vous configurez [`HeadNode`](HeadNode-v3.md)les [`AdditionalPolicies`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-AdditionalIamPolicies)paramètres [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`AdditionalPolicies`](HeadNode-v3.md#yaml-HeadNode-Iam-AdditionalIamPolicies)ou [`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam)///, vous devez autoriser l' AWS ParallelCluster utilisateur à associer et détacher des politiques de rôle pour chaque politique supplémentaire, comme indiqué dans la politique suivante. [`Iam`](HeadNode-v3.md#HeadNode-v3-Iam) Ajoutez la politique supplémentaire ARNs à la condition d'attachement et de détachement des politiques de rôle.

**Avertissement**  
Ce mode permet à l'utilisateur de disposer des privilèges d'administrateur IAM dans le Compte AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteRole",
                "iam:TagRole",
                "iam:UntagRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamRole"
        },
        {
            "Action": [
                "iam:CreateRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamCreateRole"
        },
        {
            "Action": [
                "iam:PutRolePolicy",
                "iam:DeleteRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/parallelcluster/*",
            "Effect": "Allow",
            "Sid": "IamInlinePolicy"
        },
        {
            "Condition": {
                "ArnLike": {
                    "iam:PolicyARN": [
                        "arn:aws:iam::111122223333:policy/parallelcluster*",
                        "arn:aws:iam::111122223333:policy/parallelcluster/*",
                        "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy",
                        "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore",
                        "arn:aws:iam::aws:policy/AWSBatchFullAccess",
                        "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess",
                        "arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole",
                        "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role",
                        "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy",
                        "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole",
                        "arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder",
                        "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
                    ]
                }
            },
            "Action": [
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/parallelcluster/*",
            "Effect": "Allow",
            "Sid": "IamPolicy"
        }
    ]
}
```

------

### Mode d'accès IAM restreint
<a name="iam-roles-in-parallelcluster-v3-restricted-iam-access"></a>

Lorsqu'aucune politique IAM supplémentaire n'est accordée à l'utilisateur, les rôles IAM requis par les clusters ou la création d'images personnalisées doivent être créés manuellement par un administrateur et transmis dans le cadre de la configuration du cluster.

Lors de la création d'un cluster, les paramètres suivants sont requis :
+  [`Iam`](Iam-v3.md) / [`Roles`](Iam-v3.md#yaml-Iam-Roles) / [`LambdaFunctionsRole`](Iam-v3.md#yaml-Iam-Roles-LambdaFunctionsRole)
+  [`HeadNode`](HeadNode-v3.md) / [`Iam`](HeadNode-v3.md#HeadNode-v3-Iam) / [`InstanceRole`](HeadNode-v3.md#yaml-HeadNode-Iam-InstanceRole) \$1 [`InstanceProfile`](HeadNode-v3.md#yaml-HeadNode-Iam-InstanceProfile)
+  [`Scheduling`](Scheduling-v3.md) / [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / [`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam) / [`InstanceRole`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceRole) \$1 [`InstanceProfile`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceProfile)

Lors de la création d'une image personnalisée, les paramètres suivants sont requis :
+ [`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`InstanceRole`](Build-v3.md#yaml-build-image-Build-Iam-InstanceRole) \$1 [`InstanceProfile`](Build-v3.md#yaml-build-image-Build-Iam-InstanceProfile) 
+ [`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`CleanupLambdaRole`](Build-v3.md#yaml-build-image-Build-Iam-CleanupLambdaRole)

Les rôles IAM transmis dans le cadre des paramètres listés ci-dessus doivent être créés dans le préfixe de `/parallelcluster/` chemin. Si cela n'est pas possible, la politique utilisateur doit être mise à jour pour accorder des `iam:PassRole` autorisations sur les rôles personnalisés spécifiques, comme dans l'exemple suivant.

```
{
   "Condition": {
       "StringEqualsIfExists": {
           "iam:PassedToService": [
               "ecs-tasks.amazonaws.com",
               "lambda.amazonaws.com",
               "ec2.amazonaws.com",
               "spotfleet.amazonaws.com",
               "batch.amazonaws.com",
               "codebuild.amazonaws.com"
           ]
       }
   },
   "Action": [
       "iam:PassRole"
   ],
   "Resource": [
       <list all custom IAM roles>
   ],
   "Effect": "Allow",
   "Sid": "IamPassRole"
}
```

**Avertissement**  
Actuellement, ce mode n'autorise pas la gestion des AWS Batch clusters car tous les rôles IAM ne peuvent pas être transmis dans la configuration du cluster.

### Mode `PermissionsBoundary`
<a name="iam-roles-in-parallelcluster-v3-permissionsboundary-mode"></a>

Ce mode délègue AWS ParallelCluster la création de rôles IAM liés à la limite d'autorisations IAM configurée. Pour plus d'informations sur les limites des autorisations IAM, consultez la section [Limites des autorisations pour les entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le guide de l'utilisateur *IAM*.

La politique suivante doit être ajoutée au rôle d'utilisateur.

Dans la politique, remplacez-le *<permissions-boundary-arn>* par l'ARN de la politique IAM à appliquer comme limite d'autorisations.

**Avertissement**  
Si vous configurez les [`AdditionalPolicies`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-AdditionalIamPolicies)paramètres [`HeadNode`[`Iam`](HeadNode-v3.md#HeadNode-v3-Iam)](HeadNode-v3.md)//[`AdditionalPolicies`](HeadNode-v3.md#yaml-HeadNode-Iam-AdditionalIamPolicies)ou [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam)/, vous devez accorder à l'utilisateur l'autorisation d'attacher et de détacher des politiques de rôle pour chaque politique supplémentaire, comme indiqué dans la politique suivante. Ajoutez la politique supplémentaire ARNs à la condition d'attachement et de détachement des politiques de rôle.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteRole",
                "iam:TagRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamRole"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PermissionsBoundary": [
                        "<permissions-boundary-arn>"
                    ]
                }
            },
            "Action": [
                "iam:CreateRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/parallelcluster/*"
            ],
            "Effect": "Allow",
            "Sid": "IamCreateRole"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PermissionsBoundary": [
                        "<permissions-boundary-arn>"
                    ]
                }
            },
            "Action": [
                "iam:PutRolePolicy",
                "iam:DeleteRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/parallelcluster/*",
            "Effect": "Allow",
            "Sid": "IamInlinePolicy"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PermissionsBoundary": [
                        "<permissions-boundary-arn>"
                    ]
                },
                "ArnLike": {
                    "iam:PolicyARN": [
                        "arn:aws:iam::111122223333:policy/parallelcluster*",
                        "arn:aws:iam::111122223333:policy/parallelcluster/*",
                        "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy",
                        "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore",
                        "arn:aws:iam::aws:policy/AWSBatchFullAccess",
                        "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess",
                        "arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole",
                        "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role",
                        "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy",
                        "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole",
                        "arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder",
                        "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
                    ]
                }
            },
            "Action": [
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/parallelcluster/*",
            "Effect": "Allow",
            "Sid": "IamPolicy"
        }
    ]
}
```

------

Lorsque ce mode est activé, vous devez spécifier l'ARN de la limite d'autorisations dans le paramètre [`Iam`](Iam-v3.md)/[`PermissionsBoundary`](Iam-v3.md#yaml-Iam-PermissionsBoundary)configuration lors de la création ou de la mise à jour d'un cluster et dans le [`PermissionBoundary`](Build-v3.md#yaml-build-image-Build-Iam-PermissionsBoundary)paramètre [`Build`[`Iam`](Build-v3.md#Build-v3-Iam)](Build-v3.md)//lors de la création d'une image personnalisée.

## AWS ParallelCluster paramètres de configuration pour gérer les autorisations IAM
<a name="iam-roles-in-parallelcluster-v3-params-for-iam"></a>

AWS ParallelCluster expose une série d'options de configuration permettant de personnaliser et de gérer les autorisations et les rôles IAM utilisés dans un cluster ou lors du processus de création d'une AMI personnalisée.

**Topics**
+ [Configuration du cluster](#iam-roles-in-parallelcluster-v3-cluster-config)
+ [Configuration d'image personnalisée](#iam-roles-in-parallelcluster-v3-custom-image-configuration)

### Configuration du cluster
<a name="iam-roles-in-parallelcluster-v3-cluster-config"></a>

**Topics**
+ [Rôle IAM du nœud principal](#iam-roles-in-parallelcluster-v3-cluster-config-headnode-instanceprofile)
+ [Accès Amazon S3](#iam-roles-in-parallelcluster-v3-cluster-config-headnode-s3access)
+ [Politiques IAM supplémentaires](#iam-roles-in-parallelcluster-v3-cluster-config-additionaliampolicies)
+ [AWS Lambda fonctions, rôle](#iam-roles-in-parallelcluster-v3-cluster-config-lambdafunctionsrole)
+ [Rôle IAM des nœuds de calcul](#iam-roles-in-parallelcluster-v3-cluster-config-slurmqueues-instanceprofile)
+ [Limite d'autorisations](#iam-roles-in-parallelcluster-v3-cluster-config-permissionsboundary)

#### Rôle IAM du nœud principal
<a name="iam-roles-in-parallelcluster-v3-cluster-config-headnode-instanceprofile"></a>

[`HeadNode`](HeadNode-v3.md) / [`Iam`](HeadNode-v3.md#HeadNode-v3-Iam) / [`InstanceRole`](HeadNode-v3.md#yaml-HeadNode-Iam-InstanceRole) \$1 [`InstanceProfile`](HeadNode-v3.md#yaml-HeadNode-Iam-InstanceProfile)

Avec cette option, vous remplacez le rôle IAM par défaut attribué au nœud principal du cluster. Pour plus de détails, veuillez vous référer à la [`InstanceProfile`](HeadNode-v3.md#yaml-HeadNode-Iam-InstanceProfile)référence.

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle lorsque le planificateur est Slurm :
+ `arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy`politique IAM gérée. Pour plus d'informations, consultez la section [Créer des rôles et des utilisateurs IAM à utiliser avec l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) dans le *guide de l' CloudWatch utilisateur Amazon*.
+ `arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore`politique IAM gérée. Pour plus d'informations, consultez [les politiques AWS gérées AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/security_iam_service-with-iam.html#managed-policies) dans le *guide de AWS Systems Manager l'utilisateur*.
+ Politique IAM supplémentaire :

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "s3:GetObject",
                  "s3:GetObjectVersion"
              ],
              "Resource": [
                  "arn:aws:s3:::us-east-1-aws-parallelcluster/*",
                  "arn:aws:s3:::dcv-license.us-east-1/*",
                  "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "dynamodb:GetItem",
                  "dynamodb:PutItem",
                  "dynamodb:UpdateItem",
                  "dynamodb:BatchWriteItem",
                  "dynamodb:BatchGetItem"
              ],
              "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/parallelcluster-*",
              "Effect": "Allow"
          },
          {
              "Condition": {
                  "StringEquals": {
                      "ec2:ResourceTag/parallelcluster:node-type": "Compute"
                  }
              },
              "Action": "ec2:TerminateInstances",
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ec2:RunInstances",
                  "ec2:CreateFleet"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Condition": {
                  "StringEquals": {
                      "iam:PassedToService": [
                          "ec2.amazonaws.com"
                      ]
                  }
              },
              "Action": [
                  "iam:PassRole"
              ],
              "Resource": [
                  "arn:aws:iam::111122223333:role/parallelcluster/*",
                  "arn:aws:iam::111122223333:instance-profile/parallelcluster/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ec2:DescribeInstances",
                  "ec2:DescribeInstanceStatus",
                  "ec2:DescribeVolumes",
                  "ec2:DescribeInstanceAttribute",
                  "ec2:DescribeCapacityReservations"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ec2:CreateTags",
                  "ec2:AttachVolume"
              ],
              "Resource": [
                  "arn:aws:ec2:us-east-1:111122223333:instance/*",
                  "arn:aws:ec2:us-east-1:111122223333:volume/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "cloudformation:DescribeStacks",
                  "cloudformation:DescribeStackResource",
                  "cloudformation:SignalResource"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "route53:ChangeResourceRecordSets"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": "secretsmanager:GetSecretValue",
              "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:<SECRET_ID>",
              "Effect": "Allow"
          }
      ]
  }
  ```

------

Notez que dans le cas où [`Scheduling`[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)](Scheduling-v3.md)/[`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam)//[`InstanceRole`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceRole)est utilisé pour remplacer le rôle IAM de calcul, la politique du nœud principal décrite ci-dessus doit inclure ce rôle dans la `Resource` section de l'`iam:PassRole`autorisation.

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle lorsque le planificateur est : AWS Batch
+ `arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy`politique IAM gérée. Pour plus d'informations, consultez la section [Créer des rôles et des utilisateurs IAM à utiliser avec l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) dans le *guide de l' CloudWatch utilisateur Amazon*.
+ `arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore`politique IAM gérée. Pour plus d'informations, consultez [les politiques AWS gérées AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/security_iam_service-with-iam.html#managed-policies) dans le *guide de AWS Systems Manager l'utilisateur*.
+ Politique IAM supplémentaire :

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:GetObjectVersion"
              ],
              "Resource": [
                  "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": "s3:GetObject",
              "Resource": [
                  "arn:aws:s3:::dcv-license.us-east-1/*",
                  "arn:aws:s3:::us-east-1-aws-parallelcluster/*"
              ],
              "Effect": "Allow"
          },
          {
              "Condition": {
                  "StringEquals": {
                      "iam:PassedToService": [
                          "batch.amazonaws.com"
                      ]
                  }
              },
              "Action": [
                  "iam:PassRole"
              ],
              "Resource": [
                  "arn:aws:iam::111122223333:role/parallelcluster/*",
                  "arn:aws:iam::111122223333:instance-profile/parallelcluster/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "batch:DescribeJobQueues",
                  "batch:DescribeJobs",
                  "batch:ListJobs",
                  "batch:DescribeComputeEnvironments"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "batch:SubmitJob",
                  "batch:TerminateJob",
                  "logs:GetLogEvents",
                  "ecs:ListContainerInstances",
                  "ecs:DescribeContainerInstances"
              ],
              "Resource": [
                  "arn:aws:logs:us-east-1:111122223333:log-group:/aws/batch/job:log-stream:PclusterJobDefinition*",
                  "arn:aws:ecs:us-east-1:111122223333:container-instance/AWSBatch-PclusterComputeEnviron*",
                  "arn:aws:ecs:us-east-1:111122223333:cluster/AWSBatch-Pcluster*",
                  "arn:aws:batch:us-east-1:111122223333:job-queue/PclusterJobQueue*",
                  "arn:aws:batch:us-east-1:111122223333:job-definition/PclusterJobDefinition*:*",
                  "arn:aws:batch:us-east-1:111122223333:job/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ec2:DescribeInstances",
                  "ec2:DescribeInstanceStatus",
                  "ec2:DescribeVolumes",
                  "ec2:DescribeInstanceAttribute"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "ec2:CreateTags",
                  "ec2:AttachVolume"
              ],
              "Resource": [
                  "arn:aws:ec2:us-east-1:111122223333:instance/*",
                  "arn:aws:ec2:us-east-1:111122223333:volume/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": [
                  "cloudformation:DescribeStackResource",
                  "cloudformation:DescribeStacks",
                  "cloudformation:SignalResource"
              ],
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": "secretsmanager:GetSecretValue",
              "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:<SECRET_ID>",
              "Effect": "Allow"
          }
      ]
  }
  ```

------

#### Accès Amazon S3
<a name="iam-roles-in-parallelcluster-v3-cluster-config-headnode-s3access"></a>

[`HeadNode`](HeadNode-v3.md)/[`Iam`](HeadNode-v3.md#HeadNode-v3-Iam)/[`S3Access`](HeadNode-v3.md#yaml-HeadNode-Iam-S3Access)ou [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`S3Access`](HeadNode-v3.md#yaml-HeadNode-Iam-S3Access)

Dans ces sections de configuration, vous pouvez personnaliser l'accès Amazon S3 en accordant des politiques Amazon S3 supplémentaires aux rôles IAM associés au nœud principal ou aux nœuds de calcul du cluster lorsque ces rôles sont créés par AWS ParallelCluster. Pour plus d'informations, consultez la documentation de référence pour chacun des paramètres de configuration.

Ce paramètre ne peut être utilisé que lorsque l'utilisateur est configuré avec [Mode d'accès IAM privilégié](#iam-roles-in-parallelcluster-v3-privileged-iam-access) ou[Mode `PermissionsBoundary`](#iam-roles-in-parallelcluster-v3-permissionsboundary-mode).

#### Politiques IAM supplémentaires
<a name="iam-roles-in-parallelcluster-v3-cluster-config-additionaliampolicies"></a>

[`HeadNode`](HeadNode-v3.md)/[`Iam`](HeadNode-v3.md#HeadNode-v3-Iam)/[`AdditionalIamPolicies`](HeadNode-v3.md#yaml-HeadNode-Iam-AdditionalIamPolicies)ou [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam)/[`AdditionalIamPolicies`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-AdditionalIamPolicies)

Utilisez cette option pour associer des politiques IAM gérées supplémentaires aux rôles IAM associés au nœud principal ou aux nœuds de calcul du cluster lorsque ces rôles sont créés par. AWS ParallelCluster

**Avertissement**  
Pour utiliser cette option, assurez-vous que l'[AWS ParallelCluster utilisateur](#iam-roles-in-parallelcluster-v3-user-policy-manage-iam) `iam:DetachRolePolicy` dispose `iam:AttachRolePolicy` des autorisations nécessaires pour les politiques IAM qui doivent être associées.

#### AWS Lambda fonctions, rôle
<a name="iam-roles-in-parallelcluster-v3-cluster-config-lambdafunctionsrole"></a>

[`Iam`](Iam-v3.md#yaml-Iam-Roles) / [`Roles`](Iam-v3.md#yaml-Iam-Roles) / [`LambdaFunctionsRole`](Iam-v3.md#yaml-Iam-Roles-LambdaFunctionsRole)

Cette option remplace le rôle attaché à toutes les AWS Lambda fonctions utilisées lors du processus de création du cluster. AWS Lambda doit être configuré en tant que principal autorisé à assumer le rôle.

**Note**  
Si [`DeploymentSettings`](DeploymentSettings-cluster-v3.md)/[`LambdaFunctionsVpcConfig`](DeploymentSettings-cluster-v3.md#DeploymentSettings-cluster-v3-LambdaFunctionsVpcConfig)est défini, `LambdaFunctionsRole` il doit inclure l'[autorisation de AWS Lambda rôle](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-permissions) pour définir la configuration du VPC.

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "route53:ListResourceRecordSets",
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": "arn:aws:route53:::hostedzone/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/lambda/pcluster-*"
        },
        {
            "Action": "ec2:DescribeInstances",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "ec2:TerminateInstances",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/parallelcluster:node-type": "Compute"
                }
            },
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:ListBucket",
                "s3:ListBucketVersions"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::parallelcluster-*-v1-do-not-delete",
                "arn:aws:s3:::parallelcluster-*-v1-do-not-delete/*"
            ]
        }
    ]
}
```

------

#### Rôle IAM des nœuds de calcul
<a name="iam-roles-in-parallelcluster-v3-cluster-config-slurmqueues-instanceprofile"></a>

[`Scheduling`](Scheduling-v3.md) / [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / [`Iam`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Iam) / [` InstanceRole`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceRole) \$1 [`InstanceProfile`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceProfile)

Cette option permet de remplacer le rôle IAM attribué aux nœuds de calcul du cluster. Pour de plus amples informations, veuillez consulter [`InstanceProfile`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Iam-InstanceProfile).

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle :
+ `arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy`politique IAM gérée. Pour plus d'informations, consultez la section [Créer des rôles et des utilisateurs IAM à utiliser avec l' CloudWatchagent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html) dans le *guide de l' CloudWatch utilisateur Amazon*.
+ `arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore`politique IAM gérée. Pour plus d'informations, consultez [les politiques AWS gérées AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/security_iam_service-with-iam.html#managed-policies) dans le *guide de AWS Systems Manager l'utilisateur*.
+ Politique IAM supplémentaire :

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "dynamodb:Query",
                  "dynamodb:UpdateItem",
                  "dynamodb:PutItem",
                  "dynamodb:GetItem"
              ],
              "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/parallelcluster-*",
              "Effect": "Allow"
          },
          {
              "Action": "s3:GetObject",
              "Resource": [
                  "arn:aws:s3:::us-east-1-aws-parallelcluster/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": "ec2:DescribeInstanceAttribute",
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": "cloudformation:DescribeStackResource",
              "Resource": [
                  "arn:aws:cloudformation:us-east-1:111122223333:stack/*/*"
              ],
              "Effect": "Allow"
          }
      ]
  }
  ```

------

#### Limite d'autorisations
<a name="iam-roles-in-parallelcluster-v3-cluster-config-permissionsboundary"></a>

[`Iam`](Iam-v3.md) / [`PermissionsBoundary`](Iam-v3.md#yaml-Iam-PermissionsBoundary)

Ce paramètre oblige AWS ParallelCluster à associer la politique IAM donnée `PermissionsBoundary` à tous les rôles IAM créés dans le cadre d'un déploiement de cluster.

Consultez [Mode `PermissionsBoundary`](#iam-roles-in-parallelcluster-v3-permissionsboundary-mode) la liste des politiques requises par l'utilisateur lorsque ce paramètre est défini.

### Configuration d'image personnalisée
<a name="iam-roles-in-parallelcluster-v3-custom-image-configuration"></a>

**Topics**
+ [Rôle d'instance pour EC2 Image Builder](#iam-roles-in-parallelcluster-v3-custom-image-configuration-instancerole)
+ [AWS Lambda rôle de nettoyage](#iam-roles-in-parallelcluster-v3-custom-image-configuration-cleanuplambdarole)
+ [Politiques IAM supplémentaires](#iam-roles-in-parallelcluster-v3-custom-image-configuration-additionaliampolicies)
+ [Limite d'autorisations](#iam-roles-in-parallelcluster-v3-custom-image-configuration-permissionsboundary)

#### Rôle d'instance pour EC2 Image Builder
<a name="iam-roles-in-parallelcluster-v3-custom-image-configuration-instancerole"></a>

[`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`InstanceRole`](Build-v3.md#yaml-build-image-Build-Iam-InstanceRole) \$1 [`InstanceProfile`](Build-v3.md#yaml-build-image-Build-Iam-InstanceProfile)

Cette option vous permet de remplacer le rôle IAM attribué à l'instance Amazon EC2 lancée par EC2 Image Builder pour créer une AMI personnalisée.

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle :
+ `arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore`politique IAM gérée. Pour plus d'informations, consultez [les politiques AWS gérées AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/security_iam_service-with-iam.html#managed-policies) dans le *guide de AWS Systems Manager l'utilisateur*.
+ `arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder`politique IAM gérée. Pour plus d'informations, consultez la [`EC2InstanceProfileForImageBuilder`politique](https://docs.aws.amazon.com/imagebuilder/latest/userguide/security-iam-awsmanpol.html#sec-iam-manpol-EC2InstanceProfileForImageBuilder) dans le *guide de l'utilisateur d'Image Builder*.
+ Politique IAM supplémentaire :

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "ec2:CreateTags",
                  "ec2:ModifyImageAttribute"
              ],
              "Resource": "arn:aws:ec2:us-east-1::image/*",
              "Effect": "Allow"
          }
      ]
  }
  ```

------

#### AWS Lambda rôle de nettoyage
<a name="iam-roles-in-parallelcluster-v3-custom-image-configuration-cleanuplambdarole"></a>

[`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`CleanupLambdaRole`](Build-v3.md#yaml-build-image-Build-Iam-CleanupLambdaRole)

Cette option remplace le rôle attaché à toutes les AWS Lambda fonctions utilisées lors du processus de création d'image personnalisée. AWS Lambda doit être configuré en tant que principal autorisé à assumer le rôle.

**Note**  
Si [`DeploymentSettings`](DeploymentSettings-build-image-v3.md)/[`LambdaFunctionsVpcConfig`](DeploymentSettings-build-image-v3.md#DeploymentSettings-build-image-v3-LambdaFunctionsVpcConfig)est défini, `CleanupLambdaRole` il doit inclure l'[autorisation de AWS Lambda rôle](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-permissions) pour définir la configuration du VPC.

Voici l'ensemble minimal de politiques à utiliser dans le cadre de ce rôle :
+ `arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole`politique IAM gérée. Pour plus d'informations, consultez la section [Politiques AWS gérées pour les fonctionnalités Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html#permissions-executionrole-features) dans le Guide du *AWS Lambda développeur*.
+ Politique IAM supplémentaire :

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "iam:DetachRolePolicy",
                  "iam:DeleteRole",
                  "iam:DeleteRolePolicy"
              ],
              "Resource": "arn:aws:iam::111122223333:role/parallelcluster/*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "iam:DeleteInstanceProfile",
                  "iam:RemoveRoleFromInstanceProfile"
              ],
              "Resource": "arn:aws:iam::111122223333:instance-profile/parallelcluster/*",
              "Effect": "Allow"
          },
          {
              "Action": "imagebuilder:DeleteInfrastructureConfiguration",
              "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:infrastructure-configuration/parallelclusterimage-*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "imagebuilder:DeleteComponent"
              ],
              "Resource": [
                  "arn:aws:imagebuilder:us-east-1:111122223333:component/parallelclusterimage-*/*"
              ],
              "Effect": "Allow"
          },
          {
              "Action": "imagebuilder:DeleteImageRecipe",
              "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:image-recipe/parallelclusterimage-*/*",
              "Effect": "Allow"
          },
          {
              "Action": "imagebuilder:DeleteDistributionConfiguration",
              "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:distribution-configuration/parallelclusterimage-*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "imagebuilder:DeleteImage",
                  "imagebuilder:GetImage",
                  "imagebuilder:CancelImageCreation"
              ],
              "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:image/parallelclusterimage-*/*",
              "Effect": "Allow"
          },
          {
              "Action": "cloudformation:DeleteStack",
              "Resource": "arn:aws:cloudformation:us-east-1:111122223333:stack/*/*",
              "Effect": "Allow"
          },
          {
              "Action": "ec2:CreateTags",
              "Resource": "arn:aws:ec2:us-east-1::image/*",
              "Effect": "Allow"
          },
          {
              "Action": "tag:TagResources",
              "Resource": "*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "lambda:DeleteFunction",
                  "lambda:RemovePermission"
              ],
              "Resource": "arn:aws:lambda:us-east-1:111122223333:function:ParallelClusterImage-*",
              "Effect": "Allow"
          },
          {
              "Action": "logs:DeleteLogGroup",
              "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/lambda/ParallelClusterImage-*:*",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "SNS:GetTopicAttributes",
                  "SNS:DeleteTopic",
                  "SNS:GetSubscriptionAttributes",
                  "SNS:Unsubscribe"
              ],
              "Resource": "arn:aws:sns:us-east-1:111122223333:ParallelClusterImage-*",
              "Effect": "Allow"
          }
      ]
  }
  ```

------

#### Politiques IAM supplémentaires
<a name="iam-roles-in-parallelcluster-v3-custom-image-configuration-additionaliampolicies"></a>

[`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`AdditionalIamPolicies`](Build-v3.md#yaml-build-image-Build-Iam-AdditionalIamPolicies)

Vous utilisez cette option pour associer des politiques IAM gérées supplémentaires au rôle associé à l'instance Amazon EC2 utilisée par EC2 Image Builder pour produire l'AMI personnalisée.

**Avertissement**  
Pour utiliser cette option, assurez-vous que l'[AWS ParallelCluster utilisateur](#iam-roles-in-parallelcluster-v3-user-policy-manage-iam) `iam:DetachRolePolicy` dispose `iam:AttachRolePolicy` des autorisations nécessaires pour les politiques IAM qui doivent être associées.

#### Limite d'autorisations
<a name="iam-roles-in-parallelcluster-v3-custom-image-configuration-permissionsboundary"></a>

[`Build`](Build-v3.md) / [`Iam`](Build-v3.md#Build-v3-Iam) / [`PermissionsBoundary`](Build-v3.md#yaml-build-image-Build-Iam-PermissionsBoundary)

Ce paramètre oblige AWS ParallelCluster à associer la politique IAM donnée `PermissionsBoundary` à tous les rôles IAM créés dans le cadre de la création d'une AMI personnalisée.

Consultez [Mode `PermissionsBoundary`](#iam-roles-in-parallelcluster-v3-permissionsboundary-mode) la liste des politiques requises pour utiliser ces fonctionnalités.