구성 커넥터는 프로젝트 수준, 폴더 수준 또는 조직 수준 범위에서 리소스를 만들고 관리할 수 있습니다. Google Cloud Config Connector는 다음을 결정해야 합니다.
프로젝트 수준, 폴더 수준, 조직 수준에서 리소스를 만들지 여부
사용할 프로젝트, 폴더 또는 조직
따라서 구성 커넥터는 먼저 리소스 사양에서 범위 정의 필드를 확인한 후 찾을 수 없으면 범위 정의 주석을 확인합니다. 대부분의 Google Cloud 리소스는 프로젝트 수준에서만 만들 수 있습니다.
리소스가 성공적으로 생성된 후에는 범위 설정 방식에 관계없이 필드 또는 주석의 변경이 불가능합니다. 리소스의 범위를 변경하려면 현재 리소스를 삭제하고 다른 프로젝트, 폴더 또는 조직 범위에 새 리소스를 만들어야 합니다.
범위 정의 필드
범위를 정의하는 리소스 사양 필드는 리소스 사양의 일부이며 리소스 구성에서만 설정할 수 있습니다. SCOPERef의 이름 지정 규칙을 따릅니다. 리소스 유형에 따라 사양 스키마에 다음 필드 중 하나 이상이 포함될 수 있습니다.
projectRef
folderRef
organizationRef
범위 정의 주석
리소스의 구성 또는 리소스가 포함된 Kubernetes 네임스페이스에서 범위 정의 주석을 정의할 수 있습니다. 리소스 유형에 따라 범위 정의 주석에는 세 가지 유형이 있습니다.
cnrm.cloud.google.com/project-id
cnrm.cloud.google.com/folder-id
cnrm.cloud.google.com/organization-id
대부분의 구성 커넥터 리소스는 범위 정의 필드를 지원합니다. 범위 정의 주석보다는 필드를 사용하는 것이 좋습니다. 범위 정의 필드는 리소스 사양의 독립성을 높이고 한 단계에서 범위 및 포함된 리소스를 만들 수 있기 때문입니다. 범위 정의 필드를 지원하지 않는 리소스의 경우 구성에 범위 정의 주석을 제공하거나 네임스페이스에 주석을 달아 특정 네임스페이스의 모든 리소스에 대한 주석을 기본값으로 지정할 수 있습니다. 리소스의 구성에 범위 정의 주석이 직접 있는 경우 네임스페이스 주석이 무시됩니다.
예외
범위 개념이 구성 커넥터 리소스에 적용되지 않는 경우 프로젝트, 폴더 또는 조직 범위를 지정할 필요가 없습니다.
특히 리소스 참조 페이지에 나열된 리소스에 범위 정의 필드 또는 범위 정의 주석이 없는 경우 범위를 추가할 필요가 없습니다.
BillingBudgetsBudget와 같은 일부 리소스는 Google Cloud 결제 계정에 바인딩되며 대신 결제 계정 정보를 지정해야 합니다.
IAMPolicy, IAMPartialPolicy, IAMPolicyMember, IAMAuditConfig를 포함한 IAM 리소스는 범위를 제공할 필요가 없습니다.
대신 이러한 리소스는 spec.resourceRef 필드를 통해 다른 Google Cloud 리소스에 연결됩니다. 이러한 다른 Google Cloud 리소스는 PubSubTopic, SpannerInstance 또는 자체적으로 Google Cloud 리소스로 모델링되는 프로젝트, 폴더, 조직과 같은 '범위'일 수도 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eConfig Connector manages Google Cloud resources at project, folder, or organization levels, determining the scope through either a resource spec field or an annotation.\u003c/p\u003e\n"],["\u003cp\u003eResources can be scoped using \u003ccode\u003eprojectRef\u003c/code\u003e, \u003ccode\u003efolderRef\u003c/code\u003e, or \u003ccode\u003eorganizationRef\u003c/code\u003e fields, or via annotations like \u003ccode\u003ecnrm.cloud.google.com/project-id\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eScope-defining fields are recommended over annotations for making resource specs self-contained and enabling single-step scope creation, and are preferred when available.\u003c/p\u003e\n"],["\u003cp\u003eOnce a resource's scope is set, it's immutable, and changing the scope requires deleting the resource and creating it anew.\u003c/p\u003e\n"],["\u003cp\u003eSome resources don't require scope specification, such as those linked to billing accounts or IAM resources attached to other Google Cloud resources.\u003c/p\u003e\n"]]],[],null,["# Organizing your resources\n=========================\n\n*** ** * ** ***\n\nOverview\n--------\n\nConfig Connector can create and manage Google Cloud resources at the project-level, folder-level,\nor organization-level scope. Config Connector needs to determine:\n\n- Whether to create the resource at the project-level, folder-level, or organization-level.\n- Which project, folder, or organization to use.\n\nAs a result, Config Connector first checks for a scope-defining\nfield in your resource spec, if not found, then checks for a scope-defining\nannotation. Most Google Cloud resources can be created at only the\nproject-level.\n\nOnce a resource is successfully created, regardless of how the scope is\nset, the field or annotation becomes immutable. To change the\nscope of a resource, you must delete the current resource and create a\nnew resource in a different project, folder, or organization scope.\n\n### Scope-defining field\n\nA scope-defining resource spec field is part of the resource's spec and can\nbe set only in the resource's configuration. It follows the naming convention of\n\u003cvar class=\"readonly\" translate=\"no\"\u003eSCOPE\u003c/var\u003eRef. Depending on the resource type,\nthe schema of the spec may contain at least one of the following fields:\n\n- `projectRef`\n- `folderRef`\n- `organizationRef`\n\n### Scope-defining annotation\n\nYou can define a scope-defining annotation in the resource's configuration\nor in the Kubernetes namespace which contains the resource. There are three types of scope-defining annotations depending on the resource type:\n\n- `cnrm.cloud.google.com/project-id`\n- `cnrm.cloud.google.com/folder-id`\n- `cnrm.cloud.google.com/organization-id`\n\nMost Config Connector resources support scope-defining fields. We recommend\nfields over scope-defining annotations because a scope-defining field makes the\nresource spec more self-contained and enables the creation of a scope and its\ncontained resources in one step. For resources that do not support\nscope-defining fields, you can either supply\nthe scope-defining annotation in their configuration, or default the\nannotation for all resources in a particular namespace by annotating the\nnamespace. The namespace annotation is ignored if the resource has the\nscope-defining annotation directly in its configuration.\n| **Warning:** Using the namespace annotation is a convenient way to specify default scope for all resources under the same namespace, but it may cause performance issues when managing a large number of resources under one Kubernetes namespace.\n\nExceptions\n----------\n\nIf the scope concept does not apply to a Config Connector resource, you do not need to specify a project, folder, or organization scope.\nSpecifically if a resource listed in the\n[resource reference page](/config-connector/docs/reference/overview) does not have a scope-defining field or a scope-defining annotation,\nyou do not need to add a scope.\n\nSome resources, like [BillingBudgetsBudget](/config-connector/docs/reference/resource-docs/billingbudgets/billingbudgetsbudget)\nare bound to a Google Cloud billing account, and requires you to specify\nthe billing account information instead.\n\nIAM resources, including [IAMPolicy](/config-connector/docs/reference/resource-docs/iam/iampolicy),\n[IAMPartialPolicy](/config-connector/docs/reference/resource-docs/iam/iampartialpolicy),\n[IAMPolicyMember](/config-connector/docs/reference/resource-docs/iam/iampolicymember)\nand [IAMAuditConfig](/config-connector/docs/reference/resource-docs/iam/iamauditconfig) do not require you to provide a scope.\nInstead, these resources are attached to another Google Cloud resource through the `spec.resourceRef`\nfield. This other Google Cloud resource can be a `PubSubTopic`, a `SpannerInstance`\nor even a \"scope\" like project, folder, organization, which are themselves modeled as a Google Cloud resource.\n\nWhat's next\n-----------\n\nSee how to apply the following types of scopes:\n\n- [Project-scoped resources](/config-connector/docs/how-to/organizing-resources/project-scoped-resources)\n\n- [Folder-scoped\n resources](/config-connector/docs/how-to/organizing-resources/folder-scoped-resources)\n\n- [Organization-scoped\n resources](/config-connector/docs/how-to/organizing-resources/organization-scoped-resources)"]]