IAM으로 액세스 제어

이 페이지에서는 Cloud Asset API에서 사용할 수 있는 액세스 제어 옵션에 대해 설명합니다.

개요

Cloud 애셋 인벤토리는 액세스 제어에 Identity and Access Management(IAM)를 사용합니다.

Cloud Asset API에서는 프로젝트 수준 또는 조직 수준에서 액세스 제어를 구성할 수 있습니다. 예를 들어 프로젝트 내의 모든 Cloud 애셋 인벤토리 리소스에 대한 액세스 권한을 개발자 그룹에 부여할 수 있습니다.

IAM과 그 기능에 대한 자세한 설명은 IAM 문서를 참조하세요. 특히 프로젝트, 폴더, 조직에 대한 액세스 관리 섹션을 참조하세요.

권한 및 역할

모든 Cloud 애셋 인벤토리 API 메서드는 호출자에게 필수 권한을 요구합니다. 이 섹션에서는 IAM이 지원하는 Cloud Asset API 권한과 역할을 요약합니다.

필수 권한

다음 표는 호출자가 Cloud Asset API에서 각 API 메서드를 호출하거나 API를 사용하는 Google Cloud 도구(예: Google Cloud 콘솔 또는 Google Cloud CLI)를 사용하여 태스크를 수행하는 데 필요한 권한을 보여줍니다.

권한 API 메서드
cloudasset.assets.searchAllResources *.searchAllResources
cloudasset.assets.searchAllIamPolicies *.searchAllIamPolicies
cloudasset.assets.analyzeIamPolicy,
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
*.analyzeIamPolicy
*.analyzeIamPolicyLongrunning
*.batchGetEffectiveIamPolicies
cloudasset.assets.analyzeOrgPolicy
cloudasset.assets.searchAllResources
*.analyzeOrgPolicies
*.analyzeOrgPolicyGovernedContainers
cloudasset.assets.analyzeOrgPolicy,
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
*.analyzeOrgPolicyGovernedAssets
cloudasset.feeds.get *.getFeed
cloudasset.feeds.list *.listFeeds
cloudasset.feeds.delete *.deleteFeed
cloudasset.feeds.create,
cloudasset.assets.exportResource 또는
cloudasset.assets.exportIamPolicy
content_type에 따라 다름
*.createFeed
cloudasset.feeds.update,
cloudasset.assets.exportResource 또는
cloudasset.assets.exportIamPolicy
content_type에 따라 다름
*.updateFeed
cloudasset.assets.exportResource,
cloudasset.assets.exportIamPolicy,
cloudasset.assets.exportOrgPolicy,
cloudasset.assets.exportOSInventories 또는
cloudasset.assets.exportAccessPolicy
content_type에 따라 다름
*.batchGetAssetsHistory
*.exportAssets
*.operations.get
cloudasset.assets.listResource,
cloudasset.assets.listIamPolicy,
cloudasset.assets.listOrgPolicy,
cloudasset.assets.listAccessPolicy 또는
cloudasset.assets.listOSInventories
content_type에 따라 다름
*.listAssets
cloudasset.assets.analyzeMove *.analyzeMove
cloudasset.savedqueries.create *.createSavedQuery
cloudasset.savedqueries.get *.getSavedQuery
cloudasset.savedqueries.list *.listSavedQueries
cloudasset.savedqueries.update *.updateSavedQuery
cloudasset.savedqueries.delete *.deleteSavedQuery

*.exportAssets API를 사용하여 지정된 유형의 애셋 리소스 메타데이터를 RESOURCE 또는 지정되지 않은 콘텐츠 유형으로 내보내는 경우호출자가cloudasset.assets.exportResource권한을 부여받지 않았다면 대체 요구사항으로 호출자는 요청에서 지정하는 모든 애셋 유형에 대해 적절한 리소스별 권한을 가지고 있어야 합니다.

역할

Cloud 애셋 인벤토리에는 2가지 IAM 역할이 있습니다.

  • Cloud 애셋 소유자 (roles/cloudasset.owner)는 클라우드 애셋 메타데이터에 대한 전체 액세스 권한을 부여합니다. 모든 cloudasset.* 권한과 recommender.cloudAssetInsights.* 권한을 부여합니다.

  • Cloud 애셋 뷰어(roles/cloudasset.viewer)는 Cloud 애셋 메타데이터에 대한 읽기 전용 액세스 권한을 부여합니다. 모든 cloudasset.assets.*(cloudasset.feeds.*cloudasset.savedqueries.* 권한을 부여하지 않음), recommender.cloudAssetInsights.get, recommender.cloudAssetInsights.list 권한을 부여합니다.

필요에 맞는 권한이 포함된 적절한 역할을 선택합니다. 일반적으로 Cloud 애셋 소유자 역할만 Cloud Asset API를 호출하는 데 필요한 모든 필수 권한을 부여하고 모든 메서드를 사용할 수 있도록 허용합니다.

기본 역할은 다음과 같은 권한을 포함합니다.

  • 소유자 역할(roles/owner)은 모든 cloudasset.* 권한을 부여합니다.

  • 편집자 역할(roles/editor)은 cloudasset.assets.search*cloudasset.assets.analyzeIamPolicy 권한을 부여합니다.

  • 뷰어 역할(roles/viewer)은 cloudasset.assets.search*cloudasset.assets.analyzeIamPolicy 권한을 부여합니다.

기본 역할에는 다른 Google Cloud 서비스에 대한 많은 권한이 포함되어 의도한 것보다 더 큰 액세스 범위를 부여할 수 있으므로 기본 역할 대신 Cloud 애셋 역할 중 하나를 부여하는 것이 좋습니다.

조직, 폴더, 프로젝트 수준에서 사용자에게 역할을 부여할 수 있습니다. 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

VPC 서비스 제어

Cloud 애셋 인벤토리와 함께 VPC 서비스 제어를 사용하여 애셋에 대한 추가 보안을 제공할 수 있습니다. VPC 서비스 제어에 대한 자세한 내용은 VPC 서비스 제어 개요를 참조하세요.

Cloud 애셋 인벤토리를 VPC 서비스 제어와 함께 사용할 때의 제한사항을 알아보려면 지원되는 제품 및 제한사항을 참조하세요.