Steuerung AWSZugriff und Berechtigungen mithilfe von Richtlinien

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Konfigurieren Sie Richtlinien mit der erforderlichen Berechtigungsstufe, um Zugriff auf bereitzustellen AWSRessourcen für Cloud-DiscoveryUnd Cloud Provisioning and Governance.

    Vorbereitungen

    Machen Sie sich mit der Erstellung von IAM-Anwendern und Anwenderrichtlinien vertraut. Weitere Informationen finden Sie unter AWS-Dokumentation .

    Identifizieren Sie die Ebene der Berechtigungen, die für die Erkennung der Ressourcen mit erforderlich sind Cloud-DiscoveryUnd Verwaltung der Ressourcen mit Cloud Provisioning and Governance. Zum Beispiel:
    • Zusätzliche S3-Berechtigungen sind ab erforderlich AWSVerwendet einen S3-Bucket, um die Cloud-Formationsvorlagen zu speichern und auszuführen, um Stapel mit CloudFormation bereitzustellen. Diese Berechtigungen sind auch dann erforderlich, wenn Sie dieselbe CloudFormation-Vorlage über ausführen AWSKonsole.
    • Schreibgeschützter Zugriff ist erforderlich, um Muster-Discovery über mit der anwenderdefinierten Richtlinie durchzuführen.
    AWSCloudFormation stellt Ressourcen bereit und konfiguriert sie, indem sie Aufrufe an tätigt AWSServices, die in Ihrer Vorlage beschrieben sind. Weitere Informationen finden Sie unter Wie funktioniert CloudFormation?
    Erforderliche Rollen:
    • AWS-Verwaltungskonsole-Administrator
    • Für Cloud-Discovery: Admin oder Discovery_admin
    • Für Cloud Provisioning and Governance: Admin oder sn_CMP.Cloud_admin

    Warum und wann dieser Vorgang ausgeführt wird

    Die Richtlinie, die Sie konfigurieren, definiert AWSBerechtigungen, die Sie einem Anwender, einer Gruppe oder einer Rolle zuweisen können. Abhängig von AWSVon Ihnen verwendete Services. Geben Sie Aktionen für den Service an, um Discovery- und Bereitstellungs- und Lebenszyklusaktionen mit auszuführen Cloud Provisioning and Governance.

    Prozedur

    1. Melden Sie sich bei an AWSVerwaltungskonsole mit den Anmeldeinformationen des relevanten Service-Accounts.
      Wenn Sie einen IAM-Anwender oder eine IAM-Rolle verwendet haben, um Zugriff mit temporären Anmeldeinformationen bereitzustellen, melden Sie sich mit demselben IAM-Anwender oder derselben IAM-Rolle an.
    2. Öffnen Sie den Anwenderdatensatz in der Instanz für den relevanten Anwender.
    3. Definieren Sie eine Anwenderrichtlinie in AWSVerwaltungskonsole mit einer der folgenden Methoden:
      • Gewähren Sie Administratorzugriff auf die Instanz. Diese Methode bietet die gleiche Zugriffsebene wie die Verwendung der Zugriffsschlüssel-ID und des geheimen Zugriffsschlüssels. Hängen Sie an Administratorzugriff Richtlinie für das Anwenderprofil.
        Hinweis:
        Dient zum Erstellen einer Anwenderrichtlinie, die nur unterstützt Cloud-DiscoveryFügen Sie anstelle der Bereitstellung von Cloud-Ressourcen an Schreibgeschützter Zugriff Richtlinie stattdessen.
      • Erstellen Sie eine anwenderdefinierte Richtlinie mit einem beschreibenden Namen. Schreiben Sie im Feld Richtliniendokument den Code, der die APIs enthält, die diese Richtlinie ausführen lässt.
        Hinweis:
        Das folgende JSON-Beispiel enthält Berechtigungen für Cloud-Discovery.
        {
           "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":"*"
              }
           ]
        }
      • Das folgende JSON-Beispiel enthält Berechtigungen für Cloud-DiscoveryUnd Cloud Provisioning and Governance
        {
            "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": "*"
                }
            ]
        }