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

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

    시작하기 전에

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

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