AWS Service Catalog 시작 제약 조건 - AWS Service Catalog

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Service Catalog 시작 제약 조건

시작 제약 조건은 최종 사용자가 제품을 시작, 업데이트 또는 종료할 때 AWS Identity and Access Management가 맡는 AWS Service Catalog(IAM) 역할을 지정합니다. IAM 역할은 사용자 또는 AWS 서비스가 AWS 서비스를 사용하기 위해 일시적으로 맡을 수 있는 권한 모음입니다. 소개 예제는 다음을 참조하십시오.

시작 제약이 포트폴리오의 제품에 적용됩니다(제품-포트폴리오 연결). 시작 제약이 포트폴리오 수준이나 모든 포트폴리오의 제품에 적용되는 것은 아닙니다. 시작 제약 조건을 포트폴리오의 모든 제품과 연결하려면 각 제품에 시작 제약 조건을 개별적으로 적용해야 합니다.

시작 제약 조건이 없는 경우 최종 사용자는 자신의 IAM 자격 증명으로 제품을 시작하고 관리해야 합니다. 그렇게 하려면 AWS CloudFormation, 제품에서 사용하는 AWS 서비스 및 AWS Service Catalog에 대한 권한이 있어야 합니다. 대신에 시작 역할을 사용하여 최종 사용자의 권한을 해당 제품을 사용하기 위해 필요한 최소 권한으로 제한할 수 있습니다. 최종 사용자 권한에 대한 자세한 내용은 AWS Service Catalog의 자격 증명 및 액세스 관리 단원을 참조하십시오.

IAM 역할을 만들고 할당하려면 다음 IAM 관리 권한이 있어야 합니다.

  • iam:CreateRole

  • iam:PutRolePolicy

  • iam:PassRole

  • iam:Get*

  • iam:List*

시작 역할 구성

시작 제약 조건으로 제품에 할당하는 IAM 역할에는 다음을 사용할 권한이 있어야 합니다.

CloudFormation 제품의 경우

  • arn:aws:iam::aws:policy/AWSCloudFormationFullAccess AWS CloudFormation 관리형 정책

  • 제품의 AWS CloudFormation 템플릿의 서비스

  • 서비스 소유의 Amazon S3 버킷에 있는 AWS CloudFormation 템플릿에 대한 읽기 액세스 권한

Terraform 제품의 경우

  • 제품의 Amazon S3 템플릿의 서비스

  • 서비스 소유의 Amazon S3 버킷에 있는 Amazon S3 템플릿에 대한 읽기 액세스

  • Amazon EC2 인스턴스에서 태그 지정하는 경우, resource-groups:Tag(프로비저닝 작업을 수행할 때 Terraform 프로비저닝 엔진에서 가정함)

  • 리소스 그룹 태그 지정의 경우, resource-groups:CreateGroup(리소스 그룹을 생성하고 태그를 할당하는 것으로 AWS Service Catalog에서 가정함)

IAM 역할의 신뢰 정책은 AWS Service Catalog가 역할을 맡을 수 있도록 허용해야 합니다. 아래 절차에서 역할 유형으로 AWS Service Catalog를 선택하면 신뢰 정책이 자동으로 설정됩니다. 콘솔을 사용하지 않는 경우 IAM 역할로 신뢰 정책을 사용하는 방법역할을 맡는 AWS 서비스에 대한 신뢰 정책 만들기 섹션을 참조하세요.

참고

servicecatalog:ProvisionProduct, servicecatalog:TerminateProvisionedProductservicecatalog:UpdateProvisionedProduct 권한은 시작 역할에 할당할 수 없습니다. AWS Service Catalog 최종 사용자에 대한 권한 부여 단원의 인라인 정책 단계에 나와 있듯이 IAM 역할을 사용해야 합니다.

참고

AWS Service Catalog 콘솔에서 프로비저닝된 Cloudformation 제품 및 리소스를 보려면 최종 사용자는 AWS CloudFormation 읽기 액세스 권한이 필요합니다. 콘솔에서 프로비저닝된 제품 및 리소스를 볼 때는 시작 역할을 사용하지 않습니다.

시작 역할을 만들려면
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    Terraform 제품에는 추가 실행 역할 구성이 필요합니다. 자세한 내용은 Terraform Open Source 제품으로 시작하기5단계: 시작 역할 생성 섹션을 참조하세요.

  2. 역할을 선택합니다.

  3. 새 역할 생성을 선택합니다.

  4. 역할 이름을 입력하고 [Next Step]을 선택합니다.

  5. AWS Service Catalog 옆의 AWS 서비스 역할에서 선택을 선택합니다.

  6. [Attach Policy] 페이지에서 [Next Step]을 선택합니다.

  7. 역할을 만들려면 [Create Role]을 선택합니다.

새 역할에 정책을 연결하려면
  1. 만든 역할을 선택하여 해당 역할의 세부 정보 페이지를 봅니다.

  2. [Permissions] 탭을 선택하고 [Inline Policies] 섹션을 확장합니다. 그런 다음 [click here]를 선택합니다.

  3. 사용자 지정 정책을 선택한 후 선책을 선택합니다.

  4. 정책의 이름을 입력한 후 다음을 [Policy Document] 편집기에 붙여넣습니다.

    "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }
    참고

    시작 제약에 대한 시작 역할을 구성할 때는 다음 문자열을 사용해야 합니다. "s3:ExistingObjectTag/servicecatalog:provisioning":"true"

  5. 제품이 사용하는 각 추가 서비스의 정책에 줄을 추가합니다. 예를 들어 Amazon Relational Database Service(RDS)에 대한 권한을 추가하려면  Action 목록의 마지막 줄 끝에 쉼표를 입력한 후 다음 줄을 추가합니다.

    "rds:*"
  6. 정책 적용을 선택하세요.

시작 제약 조건 적용

시작 역할을 구성한 후 역할을 시작 제약으로 제품에 할당합니다. 이 작업에서는 최종 사용자가 제품을 시작할 때 AWS Service Catalog가 역할을 맡습니다.

제품에 역할을 할당하려면
  1. Service Quotas 콘솔(https://console.aws.amazon.com/servicecatalog/)을 엽니다.

  2. 제품이 들어 있는 포트폴리오를 선택합니다.

  3. 제약 탭을 선택하고 제약 생성를 선택합니다.

  4. 제품에서 제품을 선택하고 제약 유형에서 시작을 선택합니다. Continue(계속)을 선택합니다.

  5. 시작 제약 섹션에서 계정에서 IAM 역할을 선택하거나, IAM 역할 ARN을 입력하거나, 역할 이름을 입력할 수 있습니다.

    역할 이름을 지정하고 계정이 시작 제약 조건을 사용할 경우 계정에서 IAM 역할의 이름을 사용합니다. 이 접근 방식에서는 계정과 무관하게 시작 역할 제약 조건을 사용할 수 있으므로 공유 계정당 리소스를 더 적게 만들 수 있습니다.

    참고

    지정된 역할 이름은 시작 제약 조건을 만든 계정과 이 시작 제약 조건을 사용하여 제품을 시작하는 사용자의 계정에 있어야 합니다.

  6. IAM 역할을 지정한 후 생성을 선택합니다.

시작 제약 조건에 혼동된 대리자 추가

AWS Service Catalog는 Assume Role 요청과 함께 실행되는 API에 대해 혼동된 대리자 보호를 지원합니다. 시작 제약 조건을 추가할 때 시작 역할 신뢰 정책의 sourceAccountsourceArn 조건을 사용하여 시작 역할 액세스를 제한할 수 있습니다. 이를 통해 신뢰할 수 있는 소스에서 시작 역할을 호출하도록 보장할 수 있습니다.

다음 예제에서 AWS Service Catalog 최종 사용자는 계정 111111111111에 속합니다. AWS Service Catalog 관리자가 제품에 대한 LaunchConstraint를 만들 때 최종 사용자는 시작 역할 신뢰 정책에 다음 조건을 지정하여 역할 수임을 계정 111111111111로 제한할 수 있습니다.

"Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*" }, "StringEquals":{ "aws:SourceAccount":"111111111111" } }

LaunchConstraint를 사용하여 제품을 프로비저닝하는 사용자는 동일한 AccountId(111111111111)를 사용해야 합니다. 그렇지 않으면 AccessDenied 오류가 발생하여 작업이 실패하여 시작 역할 오용을 방지할 수 있습니다.

다음 AWS Service Catalog API는 혼동 대리자 보호를 위해 보호됩니다.

  • LaunchConstraint

  • ProvisionProduct

  • UpdateProvisionedProduct

  • TerminateProvisionedProduct

  • ExecuteProvisionedProductServiceAction

  • CreateProvisionedProductPlan

  • ExecuteProvisionedProductPlan

AWS Service Catalog에 대한 arn:<aws-partition>:servicecatalog:<region>:<accountId>: 보호는 “sourceArn ”와 같은 템플릿 기반 ARN만 지원하며 특정 리소스 ARN은 지원하지 않습니다.

시작 제약 확인

AWS Service Catalog가 제품을 시작하는 역할을 사용하고 제품을 프로비저닝하는지 확인하려면 AWS Service Catalog 콘솔에서 제품을 시작합니다. 사용자에게 릴리스하기 전에 제약 조건을 테스트하려면 동일한 제품이 들어 있는 테스트 포트폴리오를 만들고 해당 포트폴리오에서 제약 조건을 테스트합니다.

제품을 시작하려면
  1. AWS Service Catalog 콘솔 메뉴에서 Service Catalog, 최종 사용자를 선택합니다.

  2. 제품을 선택하여 제품 세부 정보 페이지를 엽니다. 시작 옵션 테이블에서 역할의 Amazon 리소스 이름(ARN)이 표시되는지 확인합니다.

  3. 제품 시작을 선택합니다.

  4. 모든 필수 정보를 입력하여 시작 단계를 진행합니다.

  5. 제품이 시작되는지 확인합니다.