정책을 사용하여 AWS 액세스 및 권한 제어

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • 필요한 권한 수준을 갖춘 정책을 구성하여 클라우드 디스커버리클라우드 프로비저닝 및 거버넌스AWS 자원에 대한 액세스를 제공합니다.

    시작하기 전에

    IAM 사용자 및 사용자 정책을 만드는 데 익숙해야 합니다. AWS 설명서를 참조하십시오.

    클라우드 디스커버리를 사용하여 자원을 검색하고 클라우드 프로비저닝 및 거버넌스로 자원을 관리하기 위해 필요한 권한 수준을 식별합니다. 예:
    • AWS는 S3 버킷을 사용하여 클라우드 형성 템플릿을 저장하고 실행하기 때문에 CloudFormation을 사용하여 스택을 배포하려면 추가 S3 권한이 필요합니다. AWS 콘솔에서 동일한 CloudFormation 템플릿을 실행하는 경우에도 이러한 권한이 필요합니다.
    • 사용자 지정 정책으로 패턴 검색을 수행하려면 읽기 전용 액세스 권한이 필요합니다.
    AWS CloudFormation은 템플릿에 설명된 AWS 서비스를 호출하여 자원을 프로비저닝하고 구성합니다. 자세한 내용은 CloudFormation 작동 방법을 참조하십시오.

    다운로드 클라우드 디스커버리 패턴 스프레드시트 따라서 패턴을 실행하는 데 필요한 사용자 권한을 부여할 수 있습니다 디스커버리 . 스프레드시트에는 권한 외에도 패턴 이름, 유형, CI 클래스 및 벤더 설명서 링크와 같은 유용한 정보도 포함되어 있습니다. 새로운 패턴은 분기별로 출시되므로 주기적으로 확인하여 최신 버전의 스프레드시트를 사용하십시오.

    필요한 역할:
    • AWS 관리 콘솔 관리자
    • 대상 클라우드 디스커버리: discovery_admin
    • 클라우드 프로비저닝 및 거버넌스의 경우: admin 또는 sn_cmp.cloud_admin

    이 태스크 정보

    구성하는 정책은 사용자, 그룹 또는 역할에 할당할 수 있는 AWS 권한을 정의합니다. 사용하는 AWS 서비스에 따라 클라우드 프로비저닝 및 거버넌스를 사용하여 검색 및 프로비저닝 및 수명 주기 작업을 수행할 서비스에 작업을 지정합니다.

    프로시저

    1. 관련 서비스 계정의 자격 증명을 사용하여 AWS 관리 콘솔에 로그인합니다.
      임시 자격 증명을 사용하여 액세스를 제공하기 위해 IAM 사용자 또는 IAM 역할을 사용한 경우 동일한 IAM 사용자 또는 IAM 역할을 사용하여 로그인합니다.
    2. 관련 사용자에 대한 인스턴스에서 사용자 기록을 엽니다.
    3. 다음 방법 중 하나를 사용하여 AWS 관리 콘솔에서 사용자 정책을 정의합니다.
      • 인스턴스에 대한 관리자 액세스 권한을 부여합니다. 이 방법은 접근 키 ID 및 비밀 접근 키를 사용하는 경우와 동일한 수준의 액세스 권한을 제공합니다. AdministratorAccess 정책을 사용자 프로파일에 연결합니다.
        주:
        클라우드 자원을 프로비저닝하는 것이 아니라 클라우드 디스커버리만 지원하는 사용자 정책을 생성하려면 대신 ReadOnlyAccess 정책을 연결합니다.
      • 해당 정책을 설명하는 이름으로 사용자 지정 정책을 생성합니다. 정책 문서 필드에 이 정책이 실행을 허용하는 API가 포함된 코드를 작성합니다.
        주:
        다음 JSON 샘플은 에 대한 클라우드 디스커버리권한을 보여 주는 부분 예제입니다. 필요한 모든 권한의 전체 목록은 아닙니다.
        {
           "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":"*"
              }
           ]
        }
      • 다음 JSON 샘플은 및 클라우드 프로비저닝 및 거버넌스에 대한 클라우드 디스커버리 권한을 보여 주는 일부 예제입니다. 필요한 모든 권한의 전체 목록은 아닙니다.
        {
            "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": "*"
                }
            ]
        }