Contrôler l'accès à AWS et les autorisations à l'aide de politiques

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 4 minutes de lecture
  • Configurez les politiques avec le niveau d'autorisations nécessaire pour fournir l'accès aux ressources AWS pour Découverte dans le cloud et Cloud Provisioning and Governance.

    Avant de commencer

    Familiarisez-vous avec la création d'utilisateurs IAM et de politiques d'utilisateur. Consultez la documentation AWS.

    Identifiez le niveau d'autorisations requis pour détecter les ressources à l'aide de Découverte dans le cloud et gérer les ressources avec Cloud Provisioning and Governance. Par exemple :
    • Des autorisations S3 supplémentaires sont nécessaires car AWS utilise une catégorie S3 pour stocker et exécuter les modèles Cloud Formation afin de déployer des piles à l’aide de CloudFormation. Ces autorisations sont nécessaires même si vous exécutez le même modèle CloudFormation à partir de la console AWS.
    • L’accès en lecture seule est requis pour effectuer la découverte de modèle avec la stratégie personnalisée.
    AWS CloudFormation met en service et configure les ressources en effectuant des appels vers les services AWS décrits dans votre modèle. Pour en savoir plus, consultez la rubrique Comment fonctionne CloudFormation ?

    Télécharger le Découverte dans le cloud Feuille de calcul Schémas afin que vous puissiez accorder aux utilisateurs les autorisations requises pour exécuter les Découverte modèles. Outre les autorisations, la feuille de calcul comprend également des informations utiles telles que les noms de modèles, les types, les classes CI et des liens vers la documentation du fournisseur. De nouveaux modèles sont disponibles tous les trimestres. Vérifiez régulièrement que vous disposez de la dernière version de la feuille de calcul.

    Rôles requis :
    • Administrateur AWS Management Console
    • Pour Découverte dans le cloud: discovery_admin
    • Pour Cloud Provisioning and Governance : admin ou sn_cmp.cloud_admin

    Pourquoi et quand exécuter cette tâche

    La politique que vous configurez définit les autorisations AWS que vous pouvez affecter à un utilisateur, à un groupe ou à un rôle. En fonction des services AWS que vous utilisez, spécifiez des actions pour que le service exécute des actions de détection, de mise en service et de cycle de vie à l'aide de Cloud Provisioning and Governance.

    Procédure

    1. Connectez-vous à la AWS console de gestion à l’aide des informations d’identification du compte de service concerné.
      Si vous avez utilisé un utilisateur IAM ou un rôle IAM pour fournir un accès à l'aide d'informations d'identification temporaires, connectez-vous avec le même utilisateur IAM ou le même rôle IAM.
    2. Ouvrez l'enregistrement utilisateur dans l'instance pour l'utilisateur concerné.
    3. Définissez une politique utilisateur dans la console de gestion d'AWS à l'aide de l'une des méthodes suivantes :
      • Accordez à l'administrateur l'accès à l'instance. Cette méthode donne le même niveau d'accès que l'utilisation de l'ID de clé d'accès et de la clé d'accès secrète. Joignez la politique AdministratorAccess au profil d'utilisateur.
        Remarque :
        pour créer une politique d'utilisateur qui prend uniquement en charge Découverte dans le cloud plutôt que la mise en service des ressources dans le cloud, joignez la politique ReadOnlyAccess.
      • Créez une politique personnalisée avec un nom descriptif. Dans le champ Document de politique, écrivez le code qui inclut les API que cette politique autorise à exécuter.
        Remarque :
        L’exemple JSON suivant est un exemple partiel d’affichage des autorisations pour Découverte dans le cloud. Il ne s’agit pas d’une liste complète de toutes les autorisations requises.
        {
           "Version":"2012-10-17",
           "Statement":[
              {
                 "Sid":"PermissionsNeededForDiscovery",
                 "Effect":"Allow",
                 "Action":[
                    "account:ListRegions",
                    "apigateway:GET",
                    "application-autoscaling:Describe*",
                    "autoscaling-plans:Describe*",
                    "autoscaling:Describe*",
                    "autoscaling:DescribeAutoScalingGroups",
                    "autoscaling:DescribeLaunchConfigurations",
                    "cloudformation:Describe*",
                    "cloudformation:DescribeStack*",
                    "cloudformation:List*",
                    "cloudwatch:Get*",
                    "cloudwatch:List*",
                    "config:ListDiscoveredResources",
                    "dynamodb:Describe*",
                    "dynamodb:DescribeTable",
                    "dynamodb:ListGlobalTables",
                    "dynamodb:ListTables",
                    "ec2:Describe*",
                    "ec2:ReportInstanceStatus",
                    "ecs:Describe*",
                    "ecs:List*",
                    "eks:Describe*",
                    "eks:List*",
                    "elasticache:Describe*",
                    "elasticache:List*",
                    "elasticfilesystem:Describe*",
                    "elasticloadbalancing:Describe*",
                    "lambda:Get*",
                    "lambda:List*",
                    "organizations:Describe*",
                    "organizations:DescribeOrganization",
                    "organizations:List*",
                    "rds:Describe*",
                    "redshift:Describe*",
                    "route53:GetHostedZone",
                    "route53:List*",
                    "s3:GetAccountPublicAccessBlock",
                    "s3:GetBucket*",
                    "s3:GetBucketLocation",
                    "s3:List*",
                    "sdb:GetAttributes",
                    "sns:GetEndpointAttributes",
                    "sns:GetSubscriptionAttributes",
                    "sns:List*",
                    "sns:ListPlatformApplications",
                    "sns:ListSubscriptions",
                    "sns:ListSubscriptionsByTopic",
                    "sns:ListTopics"
                 ],
                 "Resource":"*"
              }
           ]
        }
      • L’exemple JSON suivant est un exemple partiel d’autorisation pour Découverte dans le cloud et Cloud Provisioning and Governance. Il ne s’agit pas d’une liste complète de toutes les autorisations requises.
        {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Sid": "PermissionsNeededForCPG",
                    "Effect": "Allow",
                    "Action": [
                        "account:ListRegions",
                        "apigateway:GET",
                        "application-autoscaling:Describe*",
                        "autoscaling-plans:Describe*",
                        "autoscaling:Describe*",
                        "autoscaling:DescribeAutoScalingGroups",
                        "autoscaling:DescribeLaunchConfigurations",
                        "cloudformation:Describe*",
                        "cloudformation:DescribeStack*",
                        "cloudwatch:Get*",
                        "cloudwatch:List*",
                        "config:ListDiscoveredResources"
                        "dynamodb:Describe*",
                        "dynamodb:DescribeTable",
                        "dynamodb:ListGlobalTables",
                        "dynamodb:ListTables",
                        "ec2:Describe*",
                        "ec2:ReportInstanceStatus",
                        "ecs:Describe*",
                        "ecs:List*",
                        "eks:Describe*",
                        "eks:List*",
                        "elasticache:Describe*",
                        "elasticache:List*",
                        "elasticfilesystem:Describe*",
                        "elasticloadbalancing:Describe*",
                        "lambda:Get*",
                        "lambda:List*",
                        "organizations:Describe*",
                        "organizations:DescribeOrganization",
                        "organizations:List*",
                        "rds:Describe*",
                        "redshift:Describe*",
                        "route53:GetHostedZone",
                        "route53:List*",
                        "s3:GetAccountPublicAccessBlock",
                        "s3:GetBucket*",
                        "s3:GetBucketLocation",
                        "s3:List*",
                        "sdb:GetAttributes",
                        "sns:GetEndpointAttributes",
                        "sns:GetSubscriptionAttributes",
                        "sns:List*",
                        "sns:ListPlatformApplications",
                        "sns:ListSubscriptions",
                        "sns:ListSubscriptionsByTopic",
                        "sns:ListTopics"
                    ],
                    "Resource": "*"
                },
                {
                    "Sid": "MinimalPermissionsNeededForEc2ProvisioningThroughCloudFormation",
                    "Effect": "Allow",
                    "Action": [
                        "cloudformation:CreateStack",
                        "cloudformation:CreateUploadBucket",
                        "cloudformation:DeleteStack",
                        "cloudformation:DescribeStackEvents",
                        "cloudformation:DescribeStackResources",
                        "cloudformation:DescribeStacks",
                        "cloudformation:GetTemplate",
                        "cloudformation:GetTemplateSummary",
                        "cloudformation:List*",
                        "cloudformation:UpdateStack",
                        "cloudformation:ValidateTemplate"
                        "ec2:*",
                        "s3:CreateBucket",
                        "s3:DeleteBucket",
                        "s3:DeleteObject",
                        "s3:GetObject",
                        "s3:ListBucket",
                        "s3:PutObject"
                    ],
                    "Resource": "*"
                }
            ]
        }