여러 조직 리소스 관리

조직 리소스는 Google Cloud Platform 리소스 계층 구조에서 하위에 있는 프로젝트 및 폴더의 소유권을 설정합니다. Google Workspace 또는 Cloud ID 계정은 정확히 하나의 조직 리소스에 연결됩니다. 각 Google Workspace 또는 Cloud ID 계정은 example.com과 같은 기본 도메인에도 연결됩니다. 여러 도메인 사용에 대한 자세한 내용은 사용자 별칭 도메인 또는 보조 도메인 추가하기를 참고하세요. Google Workspace 계정의 기본 도메인 변경에 대한 자세한 내용은 Google Workspace 기본 도메인 변경하기를 참조하세요.

대부분의 사용 사례에서는 조직 리소스 하위에 있는 폴더를 사용하는 것이 좋습니다. 회사 내의 하위 조직 또는 부서를 중앙 관리가 없는 독립된 항목으로 유지하려면 여러 Google Workspace 또는 Cloud ID 계정을 설정하면 됩니다. 독립형 조직을 사용하는 것도 고려해 볼 수 있습니다. 각 계정에는 단일 조직 리소스가 제공됩니다.

여러 조직 리소스 사용의 효과

하나의 Google Cloud, Google Workspace 또는 Cloud ID 계정의 사용자가 다른 계정의 사용자가 만든 리소스에 액세스하지 못하게 하려면 여러 조직 리소스를 사용하세요. 리소스를 여러 조직 리소스로 분리하면 다음과 같은 결과가 발생합니다.

  • 기본적으로 단일 사용자가 모든 리소스에 대한 중앙 집중식 가시성 및 제어권을 확보할 수 없습니다.

  • 하위 조직에 공통적인 정책을 각 조직 리소스에 복제해야 합니다.

  • 폴더를 한 조직 리소스에서 다른 조직 리소스로 이동하는 작업은 지원되지 않습니다. 자세한 내용은 조직 리소스 간 프로젝트 마이그레이션을 참고하세요.

  • 각 Cloud ID 조직 리소스에는 Google Workspace 계정이 필요합니다. 따라서 여러 Cloud ID 조직 리소스를 운영하려면 여러 개의 Google Workspace 계정이 필요하며 이러한 여러 계정을 통해 ID를 관리할 수 있어야 합니다.

단일 조직 리소스 사용

별도의 하위 조직을 유지하려는 대부분의 조직은 단일 조직 리소스 및 폴더를 사용하여 하위 조직을 별도로 유지관리할 수 있습니다. 단일 Google Workspace 계정이 있는 경우 이 계정은 조직 리소스에 매핑되고 하위 조직은 폴더에 매핑됩니다.

조직 관리자 선택

Google Workspace 및 Cloud ID 사용자는 다음 안내에 따라 조직 리소스의 IAM 조직 관리자 역할을 수행할 사용자를 한 명 이상 선택할 수 있습니다.

독립형 조직의 IAM을 구성하는 방법은 조직 소유자 추가를 참고하세요.

조직 관리자를 추가하려면 Google Cloud 콘솔, Google Cloud CLI 또는 Resource Manager API를 사용하면 됩니다.

콘솔

  1. Google Workspace 또는 Cloud ID 최고 관리자로 Google Cloud 콘솔에 로그인하고 IAM 및 관리자 페이지로 이동합니다.

    IAM 및 관리자 페이지 열기

  2. 수정할 조직 리소스를 선택합니다.

    1. 페이지 상단의 프로젝트 드롭다운 목록을 클릭합니다.

    2. 다음 조직에서 선택 대화상자에서 조직 드롭다운 목록을 클릭하고 조직 관리자를 추가할 조직 리소스를 선택합니다.

    3. 나타나는 목록에서 조직 리소스를 클릭하여 IAM 권한 페이지를 엽니다.

  3. 추가를 클릭한 다음 조직 관리자로 설정할 1명 이상의 사용자 이메일 주소를 입력합니다.

  4. 역할 선택 드롭다운 목록에서 Resource Manager> 조직 관리자를 선택한 다음 저장을 클릭합니다.

    조직 관리자는 다음 작업을 수행할 수 있습니다.

    • 조직 리소스를 완전히 제어합니다. Google Workspace 또는 Cloud ID 최고 관리자와 Google Cloud 관리자 간의 책임을 분리합니다.

    • 관련 IAM 역할을 할당하여 중요한 기능에 대한 책임을 위임합니다.

gcloud

조직 관리자를 추가하려면 gcloud organizations add-iam-policy-binding 명령어를 실행합니다.

gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member="user:EMAIL_ADDRESS" \
    --role="roles/resourcemanager.organizationAdmin"

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직 리소스의 고유 ID입니다.
  • EMAIL_ADDRESS: 조직 관리자로 추가할 사용자의 이메일 주소입니다.

API

조직 관리자를 추가하려면 조직 리소스에서 setIamPolicy 메서드를 호출합니다.

  1. 조직 리소스의 현재 IAM 정책을 가져옵니다.

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:getIamPolicy
    
  2. 반환된 정책을 업데이트하여 구성원을 roles/resourcemanager.organizationAdmin 역할에 추가합니다.

  3. 업데이트된 정책을 설정합니다.

    POST https://cloudresourcemanager.googleapis.com/v3/organizations/ORGANIZATION_ID:setIamPolicy
    {
      "policy": {
        "bindings": [
          {
            "role": "roles/resourcemanager.organizationAdmin",
            "members": [
              "user:EMAIL_ADDRESS"
            ]
          }
        ],
        "etag": "ETAG_VALUE"
      }
    }
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: 조직 리소스의 고유 ID입니다.
    • EMAIL_ADDRESS: 조직 관리자로 추가할 사용자의 이메일 주소입니다.
    • ETAG_VALUE: 첫 번째 단계에서 반환된 정책의 etag 값입니다.

하위 조직에 폴더 만들기

각 하위 조직의 조직 리소스 아래에 폴더를 만듭니다.

폴더를 만들려면 상위 수준의 폴더 관리자 또는 폴더 생성자 역할이 있어야 합니다. 예를 들어 조직 수준에서 폴더를 만들려면 조직 수준에 이러한 역할 중 하나가 있어야 합니다.

폴더를 만드는 과정에서 폴더에 이름을 지정해야 합니다. 폴더 이름은 다음 요구 사항을 충족해야 합니다.

  • 이름은 문자, 숫자, 공백, 하이픈, 밑줄을 포함할 수 있습니다.
  • 폴더의 표시 이름은 문자 또는 숫자로 시작하고 끝나야 합니다.
  • 이름은 3~30자(영문 기준) 사이여야 합니다.
  • 이름은 상위 항목을 공유하는 다른 모든 폴더와 구분되어야 합니다.

폴더를 만들려면 다음 단계를 따르세요.

콘솔

폴더를 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리 페이지 열기

  2. 폴더 만들기를 클릭하고 다음 옵션 중 하나를 선택합니다.

  3. 폴더 이름 상자에 새 폴더의 이름을 입력합니다.

  4. 상위 리소스에서 찾아보기를 클릭한 다음 새 폴더를 만들 조직 리소스 또는 폴더를 선택합니다.

    1. 만들기를 클릭합니다.

gcloud

Google Cloud CLI를 사용하여 프로그래매틱 방식으로 폴더를 만들 수 있습니다.

gcloud 명령줄 도구를 사용하여 조직 리소스 아래에 폴더를 만들려면 다음 명령어를 실행합니다.

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --organization=ORGANIZATION_ID

상위 항목이 다른 폴더인 폴더를 만들려면 다음 명령어를 실행합니다

gcloud resource-manager folders create \
   --display-name=DISPLAY_NAME \
   --folder=FOLDER_ID

다음을 바꿉니다.

  • DISPLAY_NAME: 폴더의 표시 이름입니다. 상위 요소가 동일한 두 개의 폴더는 표시 이름을 공유할 수 없습니다. 표시 이름은 문자 또는 숫자로 시작하고 끝나야 하며 문자, 숫자, 공백, 하이픈, 밑줄을 포함할 수 있고 30자를 초과할 수 없습니다.
  • ORGANIZATION_ID: 상위 요소가 조직 리소스인 경우 상위 조직 리소스의 ID입니다.
  • FOLDER_ID: 상위 요소가 폴더인 경우 상위 폴더의 ID입니다.

API

폴더는 API 요청으로 만들 수 있습니다.

요청 JSON:

request_json= '{
  display_name: DISPLAY_NAME,
  parent: ORGANIZATION_NAME
}'

폴더 생성 curl 요청:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders

각 항목의 의미는 다음과 같습니다.

  • DISPLAY_NAME: 새 폴더의 표시 이름입니다(예: 'My Awesome Folder').
  • ORGANIZATION_NAME: 폴더를 만드는 조직 리소스의 이름입니다(예: organizations/123).

폴더 생성 응답:

호출이 작업을 성공적으로 등록하면 응답 본문에 Operation 인스턴스가 포함됩니다.

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  }
}

작업 가져오기 curl 요청:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789

작업 가져오기 응답:

{
  "name": "operations/fc.123456789",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "DISPLAY_NAME",
    "operationType": "CREATE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "organizations/123",
    "displayName": "DISPLAY_NAME",
    "lifecycleState":