클라우드 캔버스 기본 제공 역할 및 정책 - Lumberyard 사용 설명서

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

클라우드 캔버스 기본 제공 역할 및 정책

기본 제공 클라우드 캔버스 리소스 및 배포를 관리하는 역할 및 정책 프로젝트 의 권한.

기본 제공 역할

다음을 사용할 수 있습니다. AWS::IAM:역할 리소스를 사용하여 project-template.json 또는 deployment-access-template.json 파일. 클라우드 캔버스 리소스 관리자가 정의 다음 역할을 대신합니다.

DeploymentAdmin

배포 에 대한 제한된 액세스 권한을 부여합니다. 와 유사 DeploymentOwner 리소스 그룹 스택을 만들거나 삭제할 수 없습니다. 이는 더 안전함 DeploymentOwner. 에 추가 제한을 추가하려면 DeploymentAdmin 역할, 편집 DeploymentAdminRestrictions 정책 정의.

정책 유형 설명
역할 인수 동일한 AWS 계정(이 허용됨) 권한.
첨부됨 DeploymentAccess, DeploymentOwnerAccess, 및 DeploymentAdminRestrictions.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\deployment_name\deployment-access-template.json.

DeploymentOwner

배포의 모든 리소스에 대한 전체 액세스 권한을 부여합니다. 기본값을 수정하려면 이 역할이 부여한 권한, 편집 DeploymentOwnerAccess 정책 정의.

정책 유형 설명
역할 인수 동일한 AWS 계정(이 허용됨) 권한.
첨부됨 DeploymentAccessDeploymentOwnerAccess.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\deployment_name\deployment-access-template.json.

참고

권한 추가됨 DeploymentOwnerAccess 또한 DeploymentAdmin 거부되지 않는 한 DeploymentAdminRestrictions.

Player

배포의 특정 리소스에 대한 제한된 액세스 권한을 플레이어에게 부여합니다(의사 결정) 해당 리소스에 대한 권한 메타데이터입니다.

정책 유형 설명
역할 인수 가정할 수 있는 사람 cognito-identity.amazonaws.com.
첨부됨 없음.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\deployment_name\deployment-access-template.json.

ProjectAdmin

프로젝트 관리자에게 모든 프로젝트의 배포에 대한 제한된 액세스 권한을 부여합니다. 와 유사 ProjectOwner 역할을 생성, 업데이트 또는 삭제할 수 없습니다. 이름이 "릴리스"로 시작하는 배포 이는 보다 안전한 편의 역할입니다. 다음 미만 ProjectOwner. 에 추가 제한을 추가하려면 ProjectAdmin 역할, 편집 ProjectAdminRestrictions 정의.

정책 유형 설명
역할 인수 가정할 수 있는 사람 교장 동일한 AWS 권한에 의해 허용된 대로 계정을 사용할 수 있습니다.
첨부됨 ProjectAccess, ProjectOwnerAccess, 및 ProjectAdminRestrictions.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\project-template.json.

주의

이 역할의 목적은 사용자 작업을 안전하게 "샌드박스"하여 실수로 다른 프로젝트에 영향을 줍니다. 그러나, ProjectAdmin 역할에 따라 추가 권한이 부여될 수 있습니다. 왜냐하면 ProjectAdmin 사용자는 역할에 대한 권한을 에스컬레이션할 수 있습니다. ProjectAdmin 역할은 여전히 계정 관리자 역할로 간주되어야 합니다. 따라서 잠재적인 보안 문제가 발생할 수 있습니다.

ProjectOwner

프로젝트 관리자에게 모든 프로젝트 리소스에 대한 전체 액세스 권한을 부여합니다. 를 수정하려면 이 역할이 부여한 기본 권한, 편집 ProjectOwnerAccess 정책 정의.

정책 유형 설명
역할 인수 가정할 수 있는 사람 교장 동일한 AWS 권한에 의해 허용된 대로 계정을 사용할 수 있습니다.
첨부됨 ProjectAccessProjectOwnerAccess.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\project-template.json.

주의
  • 이 역할의 목적은 사용자 작업을 안전하게 "샌드박스"하여 실수로 다른 프로젝트에 영향을 줍니다. 그러나, ProjectOwner 역할에 따라 추가 권한이 부여될 수 있습니다. 왜냐하면 가 ProjectOwner 사용자는 역할에 대한 권한을 에스컬레이션할 수 있습니다. ProjectOwner 역할은 계정 관리자로 간주되어야 합니다. 잠재적 보안 문제입니다.

  • 권한 추가됨 ProjectOwnerAccess 또한 ProjectAdmin 거부되지 않는 한 ProjectAdminRestrictions.

ProjectResourceHandlerExecution

다음을 허용합니다. ProjectResourceHandler Lambda 함수 런타임 실행 권한. 이 역할은 다음에 대한 권한을 부여합니다. 클라우드 캔버스 사용할 리소스 관리자 AWS CloudFormation 사용자 지정 스택 작업을 위한 리소스 자세한 내용은 을 참조하십시오. 액세스 시나리오 및 프로젝트리소스핸들러.

정책 유형 설명
역할 인수 가정할 수 있는 AWS Lambda 서비스.
첨부됨 없음.
인라인 ProjectAccess.

파일 위치: \project_name\project-template.json.

Server

Lumberyard 전용 서버에 다음과 같이 배포 리소스를 선택할 수 있는 액세스를 부여합니다. 해당 리소스의 권한 메타데이터에 의해 결정됩니다.

정책 유형 설명
역할 인수 가정할 수 있는 사람 cognito-identity.amazonaws.com.
첨부됨 없음.
인라인 에 의해 추가 및 제거됨 Custom::AccessControl 리소스 처리기 추상적인 역할 매핑을 기반으로 합니다.

파일 위치: \project_name\deployment_name\deployment-access-template.json.

역할 범위

역할을 정의하는 구성 파일에 따라 역할이 액세스를 제공합니다.

파일 범위
project-template.json 모든 리소스 그룹의 모든 리소스에 적용 all 배포. 전체 프로젝트에 대해 역할의 단일 인스턴스만 생성됩니다.
deployment-template.json 모든 리소스 그룹의 모든 리소스에 적용 specific 배포. 각 배포에 대해 별도의 역할 인스턴스가 생성됩니다.

다음을 사용할 수 있습니다. lmbr_aws 에서 역할 정의를 관리하는 명령줄 도구 을 project-template.jsondeployment-access-template.json 파일. 자세한 내용은 을 참조하십시오. 사용 방법 클라우드 캔버스 역할 및 역할 관리를 위한 명령줄 권한.

암시적 역할

일부 클라우드 캔버스 사용자 지정 리소스는 역할도 생성합니다. 예를 들어, Lambda 기능은 실행된 경우, Custom::LambdaConfiguration 자원 은(는) 을(를) 만듭니다. 시기 API 게이트웨이 호출 Lambda 다른 리소스에 액세스하는 경우 은(는) Custom::ServiceApi 리소스가 을(를) 만듭니다. 사용자 지정 리소스 포함 가 resource-group-template.json 파일은 이러한 암시적 역할을 생성(및 리소스가 삭제될 때 삭제됨) 암시적 역할 이름에 대한 정보는 참조 암시적 역할 매핑.

관리됨 정책

다음을 사용할 수 있습니다. AWS::IAM::ManagedPolicy 리소스를 사용하여 여러 역할에 걸쳐 공유됩니다. 클라우드 캔버스 는 에 대해 다음과 같은 관리 정책을 정의합니다. 귀하:

정책 파일 설명
CloudGemPortalUserAccess project-template.json 클라우드 보석 포털에 대한 사용자 전용 액세스 권한을 부여합니다. 클라우드에 대한 액세스 권한 부여 안 함 사용자 관리 또는 프로젝트 로그와 같은 Gem Portal 관리자 기능.
ProjectAccess project-template.json 프로젝트 및 배포 구성에 액세스하는 데 필요한 권한을 정의합니다. 프로젝트 전체 역할을 가정하기 전에 읽어야 하는. 자세한 내용은 을 참조하십시오. 역할 가정.
ProjectOwnerAccess project-template.json 에 부여된 기본 권한을 정의합니다. ProjectOwnerProjectAdmin 역할.
ProjectAdminRestrictions project-template.json 에 대한 제한 정의 ProjectOwnerAcess 적용되는 정책 을(를) ProjectAdmin 역할.
DeploymentAccess deployment-access-template.json 프로젝트 및 배포 구성에 액세스하는 데 필요한 권한 정의 를 참조하십시오. 추가 정보 정보, 참조 역할 가정.
DeploymentOwnerAccess deployment-access-template.json 에 부여된 기본 권한을 정의합니다. DeploymentOwnerDeploymentAdmin 역할.
DeploymentAdminRestrictions deployment-access-template.json 에 대한 제한 정의 DeploymentOwnerAccess 적용되는 정책 오직 DeploymentAdmin 역할.

ProjectAdminDeploymentAdmin 역할이 동일하게 부여됨 사용 권한을 ProjectOwnerDeploymentOwner 역할, - 에서 특별히 거부된 권한 ProjectAdminRestrictionsDeploymentAdminRestrictions 관리 정책입니다. 사실상, "admin"은 "소유자"의 모든 권한에서 "admin"은 을 수행할 수 없습니다.

역할 매핑 메타데이터

AbstractRole 의 속성 Permission 메타데이터 개체가 설명된 권한을 받는 실제 역할을 직접 지정하지 않습니다. 이러한 값은 실제 IAM 역할. 따라서 어떤 방식으로든 역할을 설정할 수 있습니다. 프로젝트 을(를) 감지합니다. 또한 에 의해 정의된 권한을 수정할 필요도 없습니다. 개별 리소스 그룹.

추상적 역할을 실제 역할에 매핑하는 기능 IAM 역할은 클라우드를 사용할 때 중요합니다. 여러 프로젝트 또는 제3자의 보석. 제3자로부터 획득한 클라우드 보석 에는 조직에서 사용하는 역할과 다른 역할이 있을 수 있습니다. (클라우드 보석은 Lumberyard 보석 사용할 수 있는 AWS 자원 정의 클라우드 캔버스 리소스 그룹. 자세한 내용은 을 참조하십시오. 클라우드 보석.)

Custom::AccessControl 클라우드 캔버스에 대한 리소스 검색 RoleMappings 메타데이터 켜짐 AWS::IAM::Role 리소스를 활용하여 추상적 역할이 물리적 역할에 매핑되는 경우 다음 예에서 CustomerSupport 모든 리소스 그룹의 추상 역할이 DevOps 물리적 역할.

... "DevOps": { "Type": "AWS::IAM::Role", "Properties": { "Path": { "Fn::Join": [ "", [ "/", { "Ref": "ProjectStack" }, "/", { "Ref": "DeploymentName" }, "/" ]] } }, "Metadata": { "CloudCanvas": { "RoleMappings": [ { "AbstractRole": [ "*.CustomerSupport" ], "Effect": "Allow" } ] } } }, ...

각각 클라우드 캔버스 RoleMapping 메타데이터 개체는 다음 항목을 가질 수 있습니다. 속성.

프로퍼티 설명
AbstractRole 양식의 필수 문자열 또는 문자열 목록 <resource-group-name>.<abstract-role-name>. 리소스 그룹에 정의된 추상 역할을 일치시키려면 <resource-group-name>. 일치시키기 위해 특정 리소스 그룹에만 정의된 추상 역할, 실제 리소스 그룹 사용 이름.
Effect 필수 문자열. 둘 중 하나여야 합니다. Allow, 에 의해 정의된 동작을 허용 권한 메타데이터, 또는 Deny 을 클릭합니다(). 이는 효과 정책 의 문에 있는 속성.

다음을 사용할 수 있습니다. lmbr_aws 관리할 명령줄 도구 RoleMappings 의 역할 리소스 정의에 대한 메타데이터 project-template.jsondeployment-access-template.json 파일. 자세한 내용은 사용 을 클라우드 캔버스 역할 및 권한 관리를 위한 명령줄.

기본 역할 매핑

클라우드 캔버스 는 다음 역할에 대한 역할 매핑을 정의합니다.

역할 파일 기본 역할 매핑
ProjectResourceHandlerExecution project-template.json 없음
ProjectOwner project-template.json *.ProjectAdmin *.ProjectOwner
ProjectAdmin project-template.json *.ProjectAdmin
DeploymentOwner deployment-access-template.json *.DeploymentAdmin *.DeploymentOwner
DeploymentAdmin deployment-access-template.json *.DeploymentAdmin
Player deployment-access-template.json *.Player
Server deployment-access-template.json *.Server

암시적 역할 매핑

에서 언급한 바와 같이 암시적 역할, 역할 매핑 에 의해 생성된 암시적 역할에 대해 자동으로 정의됩니다. 클라우드 캔버스 리소스 Custom::LambdaConfiguration. 이러한 매핑은 권한이 있는 경우에만 사용됩니다. 동일한 메타데이터에 resource-group-template.json 파일을 사용자 지정으로 역할을 만드는 리소스입니다. 다음에 대한 권한 메타데이터에 사용되는 추상 역할의 이름 참조 암시적 역할은 사용자 지정 리소스 유형에 따라 다릅니다.

자원 암시적 역할 이름
Custom::LambdaConfiguration 의 이름 Lambda 기능, 에 의해 지정됨 Function 의 속성 Custom::LambdaConfiguration 리소스 정의. 이 은(는) 또한 AWS::Lambda::Function 리소스.
Custom::ServiceApi 의 논리적 ID Custom::ServiceApi 리소스.