다른 리소스에 대한 액세스 관리

이 페이지에서는 허용 정책을 수락하는 리소스에 대해 액세스를 부여, 변경, 취소하기 위한 일반적인 프로세스를 설명합니다.

Identity and Access Management(IAM)에서 액세스는 IAM 정책으로도 알려진 허용 정책을 통해 부여됩니다. 허용 정책은 Google Cloud 리소스에 연결됩니다. 허용 정책마다 사용자 또는 서비스 계정과 같은 주 구성원 하나 이상을 IAM 역할과 연결하는 역할 바인딩 컬렉션이 포함되어 있습니다. 이러한 역할 바인딩은 허용 정책이 연결된 리소스와 리소스의 모든 하위 요소 모두에서 지정된 역할을 주 구성원에 부여합니다. 허용 정책에 대한 자세한 내용은 허용 정책 이해를 참조하세요.

이 페이지에서는 Google Cloud 콘솔, Google Cloud CLI, REST API를 사용하여 리소스에 대한 액세스를 관리하는 방법을 설명합니다. 또한 Google Cloud 클라이언트 라이브러리를 사용하여 액세스를 관리할 수도 있습니다.

시작하기 전에

허용 정책을 수락하는 리소스 유형 목록을 검토합니다.

필수 권한

리소스에 대해 액세스를 관리하려면 리소스를 가져올 수 있는 권한과 리소스에 대해 허용 정책을 가져오고 설정할 수 있는 권한이 필요합니다. 이러한 권한의 형식은 다음과 같습니다. 여기에서 SERVICE는 리소스를 소유하는 서비스의 이름이고 RESOURCE_TYPE은 액세스를 관리하려는 리소스 유형의 이름입니다.

  • SERVICE.RESOURCE_TYPE.get
  • SERVICE.RESOURCE_TYPE.getIamPolicy
  • SERVICE.RESOURCE_TYPE.setIamPolicy

예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 다음 권한이 필요합니다.

  • compute.instances.get
  • compute.instances.getIamPolicy
  • compute.instances.setIamPolicy

필요한 권한을 얻으려면 권한이 포함된 미리 정의된 역할 또는 커스텀 역할을 부여하도록 관리자에게 요청하세요. 예를 들면 관리자가 거의 모든 Google Cloud 리소스에 대해 액세스를 관리할 수 있는 권한이 포함된 보안 관리자 역할(roles/iam.securityAdmin)을 사용자에게 부여할 수 있습니다.

현재 액세스 보기

다음 섹션에서는 Google Cloud 콘솔, gcloud CLI, REST API를 사용하여 리소스에 대한 액세스 권한이 있는 사람을 보는 방법을 설명합니다. 또한 리소스의 허용 정책을 가져오기 위해 Google Cloud 클라이언트 라이브러리를 사용하여 액세스를 볼 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 액세스를 보려는 리소스가 나열된 페이지로 이동합니다.

    예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 액세스를 보려는 리소스 옆에 있는 체크박스를 선택합니다.

  3. 정보 패널이 표시되었는지 확인합니다. 표시되지 않았으면 정보 패널 표시를 클릭합니다. 정보 패널의 권한 탭에는 리소스에 액세스한 모든 주 구성원이 나열됩니다.

    상속된 권한 표시 스위치가 켜져 있으면 상속된 역할의 주 구성원이 목록에 포함됩니다. 즉, 리소스 자체에 대한 역할이 아닌 상위 리소스에 대한 역할로부터 액세스 권한을 받는 주 구성원이 포함됩니다. 정책 상속에 대한 자세한 내용은 정책 상속 및 리소스 계층을 참조하세요.

gcloud

리소스에 액세스할 수 있는 사용자를 보려면 리소스에 대해 허용 정책을 가져옵니다. 허용 정책을 해석하는 방법을 알아보려면 허용 정책 이해를 참조하세요.

리소스의 허용 정책을 가져오려면 리소스에 대해 get-iam-policy 명령어를 실행합니다.

이 명령어 형식은 액세스를 관리하려는 리소스 유형에 따라 달라집니다. 리소스 형식을 찾으려면 Google Cloud CLI 참조에서 리소스의 get-iam-policy 명령어에 대한 참조를 찾습니다. 이 참조는 서비스 및 리소스별로 구성됩니다. 예를 들어 Compute Engine VM 인스턴스의 허용 정책을 가져오려면 gcloud compute instances get-iam-policy 참조에 설명된 형식을 따릅니다.

선택적으로 형식을 지정하고 결과를 내보내려면 명령어에 다음 인수를 추가합니다.

--format=FORMAT > PATH

다음 값을 제공합니다.

  • FORMAT: 정책에 사용하려는 형식입니다. json 또는 yaml을 사용합니다.
  • PATH: 정책에 대한 새 출력 파일의 경로입니다.

명령어를 실행하면 리소스의 허용 정책이 콘솔에 출력되거나 지정된 파일로 내보내집니다.

REST

리소스에 액세스할 수 있는 사용자를 보려면 리소스의 허용 정책을 가져옵니다. 허용 정책을 해석하는 방법을 알아보려면 허용 정책 이해를 참조하세요.

리소스의 허용 정책을 가져오려면 리소스의 getIamPolicy 메서드를 사용합니다.

HTTP 메서드, URL, 요청 본문은 액세스를 보려는 리소스에 따라 달라집니다. 이러한 세부정보를 찾으려면 리소스를 소유하는 서비스의 API 참조를 찾은 후 리소스의 getIamPolicy 메서드에 대한 참조를 찾습니다. 예를 들어 Compute Engine 인스턴스의 HTTP 메서드, URL, 요청 본문은 인스턴스 getIamPolicy 참조에 지정되어 있습니다.

리소스의 getIamPolicy 메서드 응답에는 리소스의 허용 정책이 포함되어 있습니다.

단일 역할 부여 또는 취소

리소스의 허용 정책을 직접 수정하지 않고도 Google Cloud 콘솔 및 gcloud CLI를 사용하여 단일 주 구성원에 대한 단일 역할을 빠르게 부여하거나 취소할 수 있습니다. 일반적인 주 구성원 유형에는 Google 계정, 서비스 계정, Google 그룹스, 도메인이 포함됩니다. 모든 주 구성원 유형 목록은 ID 관련 개념을 참조하세요.

가장 적절한 사전 정의된 역할을 찾는 데 도움이 필요하면 사전 정의된 역할 선택을 참조하세요.

단일 역할 부여

주 구성원에 단일 역할을 부여하려면 다음을 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 액세스를 보려는 리소스가 나열된 페이지로 이동합니다.

    예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 액세스를 관리하려는 리소스 옆에 있는 체크박스를 선택합니다.

  3. 정보 패널이 표시되었는지 확인합니다. 표시되지 않았으면 정보 패널 표시를 클릭합니다.

  4. 역할을 부여할 주 구성원을 선택합니다.

    • 리소스에 대해 이미 다른 역할이 있는 주 구성원에게 역할을 부여하려면 주 구성원이 포함된 행을 찾아 해당 행에서 주 구성원 수정을 클릭하고 다른 역할 추가를 클릭합니다.

    • 아직 리소스에 대한 다른 역할이 없는 주 구성원에게 역할을 부여하려면 주 구성원 추가를 클릭한 후 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.

  5. 드롭다운 목록에서 부여할 역할을 선택합니다. 보안 권장사항에 따라 주 구성원에게 필요한 권한만 포함된 역할을 선택합니다.

  6. 선택사항: 역할에 조건을 추가합니다.

  7. 저장을 클릭합니다. 주 구성원에게 리소스에 대한 역할이 부여됩니다.

gcloud

주 구성원에게 역할을 신속하게 부여하려면 add-iam-policy-binding 명령어를 실행합니다.

이 명령어 형식은 액세스를 관리하려는 리소스 유형에 따라 달라집니다. 리소스 형식을 찾으려면 Google Cloud CLI 참조에서 리소스의 add-iam-policy-binding 명령어에 대한 참조를 찾습니다. 이 참조는 서비스 및 리소스별로 구성됩니다. 예를 들어 Compute Engine 인스턴스에 대한 역할을 주 구성원에게 부여하려면 gcloud compute instances add-iam-policy- binding 참조에 설명된 형식을 따릅니다.

단일 역할 취소

주 구성원의 단일 역할을 취소하려면 다음을 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 액세스 권한을 취소하려는 리소스가 나열된 페이지로 이동합니다.

    예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 액세스를 관리하려는 리소스 옆에 있는 체크박스를 선택합니다.

  3. 정보 패널이 표시되었는지 확인합니다. 표시되지 않았으면 정보 패널 표시를 클릭합니다.

  4. 주 구성원이 포함된 행을 찾은 후 이 행에서 주 구성원 수정을 클릭합니다.

  5. 취소할 역할의 삭제 버튼을 클릭한 다음 저장을 클릭합니다.

gcloud

주 구성원의 역할을 신속하게 취소하려면 remove-iam-policy-binding 명령어를 실행합니다.

이 명령어 형식은 액세스를 관리하려는 리소스 유형에 따라 달라집니다. 리소스 형식을 찾으려면 Google Cloud CLI 참조에서 리소스의 remove-iam-policy-binding 명령어에 대한 참조를 찾습니다. 이 참조는 서비스 및 리소스별로 구성됩니다. 예를 들어 Compute Engine 인스턴스에 대한 역할을 주 구성원에게 부여하려면 gcloud compute instances remove-iam-policy-binding 참조에 설명된 형식을 따릅니다.

Google Cloud 콘솔을 사용하여 여러 역할 부여 또는 취소

Google Cloud 콘솔을 사용하여 단일 주 구성원에 대한 여러 역할을 부여하고 취소할 수 있습니다.

  1. Google Cloud 콘솔에서 액세스를 보려는 리소스가 나열된 페이지로 이동합니다.

    예를 들어 Compute Engine 인스턴스에 대해 액세스를 관리하려면 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 액세스를 관리하려는 리소스 옆에 있는 체크박스를 선택합니다.

  3. 정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다.

  4. 역할을 수정할 주 구성원을 선택합니다.

    • 이미 리소스에 대한 역할이 있는 주 구성원의 역할을 수정하려면 주 구성원이 포함된 행을 찾아 해당 행에서 주 구성원 수정를 클릭하고 다른 역할 추가를 클릭합니다.

    • 리소스에 대한 기존 역할이 없는 주 구성원에게 역할을 부여하려면 액세스 권한 부여를 클릭한 후 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.

  5. 주 구성원의 역할을 수정합니다.

    • 리소스에 대한 기존 역할이 없는 주 구성원에게 역할을 부여하려면 역할 선택을 클릭한 후 드롭다운 목록에서 부여할 역할을 선택합니다.
    • 주 구성원에 추가 역할을 부여하려면 다른 역할 추가를 클릭한 후 드롭다운 목록에서 부여할 역할을 선택합니다.
    • 주 구성원의 역할 중 하나를 다른 역할로 바꾸려면 기존 역할을 클릭한 후 드롭다운 목록에서 부여할 다른 역할을 선택합니다.
    • 주 구성원의 역할 중 하나를 취소하려면 취소할 각 역할의 삭제 버튼을 클릭합니다.

    역할에 조건을 추가하거나 역할 조건을 수정하거나 역할 조건을 삭제할 수 있습니다.

  6. 저장을 클릭합니다.

프로그래매틱 방식으로 여러 역할 부여 또는 취소

여러 주 구성원에 대한 여러 역할의 부여 및 취소가 포함된 대규모 액세스 변경을 수행하려면 읽기-수정-쓰기 패턴을 사용하여 리소스의 허용 정책을 업데이트합니다.

  1. getIamPolicy()를 호출하여 현재 허용 정책을 읽습니다.
  2. 텍스트 편집기를 사용하거나 프로그래매틱 방식으로 허용 정책을 수정하여 주 구성원 또는 역할 바인딩을 추가하거나 삭제합니다.
  3. setIamPolicy()를 호출하여 업데이트된 허용 정책을 작성합니다.

이 섹션에서는 gcloud CLI 및 REST API를 사용하여 허용 정책을 업데이트하는 방법을 설명합니다. 또한 Google Cloud 클라이언트 라이브러리를 사용하여 허용 정책을 업데이트할 수 있습니다.

현재 허용 정책 가져오기

gcloud

리소스의 허용 정책을 가져오려면 리소스에 대해 get-iam-policy 명령어를 실행합니다.

이 명령어 형식은 액세스를 관리하려는 리소스 유형에 따라 달라집니다. 리소스 형식을 찾으려면 Google Cloud CLI 참조에서 리소스의 get-iam-policy 명령어에 대한 참조를 찾습니다. 이 참조는 서비스 및 리소스별로 구성됩니다. 예를 들어 Compute Engine VM 인스턴스의 허용 정책을 가져오려면 gcloud compute instances get-iam-policy 참조에 설명된 형식을 따릅니다.

선택적으로 형식을 지정하고 결과를 내보내려면 명령어에 다음 인수를 추가합니다.

--format=FORMAT > PATH

다음 값을 제공합니다.

  • FORMAT: 허용 정책에 사용하려는 형식입니다. json 또는 yaml을 사용합니다.
  • PATH: 허용 정책에 대한 새 출력 파일의 경로입니다.

명령어를 실행하면 리소스의 허용 정책이 콘솔에 출력되거나 지정된 파일로 내보내집니다.

REST

리소스의 허용 정책을 가져오려면 리소스의 getIamPolicy 메서드를 사용합니다.

HTTP 메서드, URL, 요청 본문은 액세스를 보려는 리소스에 따라 달라집니다. 이러한 세부정보를 찾으려면 리소스를 소유하는 서비스의 API 참조를 찾은 후 리소스의 getIamPolicy 메서드에 대한 참조를 찾습니다. 예를 들어 Compute Engine VM 인스턴스의 HTTP 메서드, URL, 요청 본문은 인스턴스 getIamPolicy 참조에 지정되어 있습니다.

리소스의 getIamPolicy 메서드 응답에는 리소스의 허용 정책이 포함되어 있습니다. 적절한 유형의 파일로 응답을 저장합니다(json 또는 yaml).

허용 정책 수정

특정 사용자에게 역할을 부여하거나 이 사용자의 역할을 취소하려면 프로그래매틱 방식으로 또는 텍스트 편집기를 사용하여 리소스 허용 정책의 로컬 복사본을 수정합니다.

다른 변경사항을 덮어쓰지 않도록 하려면 허용 정책의 etag 필드를 수정하거나 삭제하지 마세요. etag 필드는 허용 정책의 현재 상태를 식별합니다. 업데이트된 허용 정책을 설정하면 IAM은 요청에 있는 etag 값을 기존 etag와 비교하고 값이 일치하는 경우에만 허용 정책에 기록합니다.

허용 정책이 부여하는 역할을 수정하려면 허용 정책에서 역할 바인딩을 수정해야 합니다. 역할 바인딩의 형식은 다음과 같습니다.

{
  "role": "ROLE_NAME",
  "members": [
    "PRINCIPAL_1",
    "PRINCIPAL_2",
    ...
    "PRINCIPAL_N"
  ],
  "conditions:" {
    CONDITIONS
  }
}

자리표시자의 값은 다음과 같습니다.

  • ROLE_NAME: 부여할 역할의 이름입니다. 다음 형식 중 하나를 사용하세요.

    • 사전 정의된 역할: roles/SERVICE.IDENTIFIER
    • 프로젝트 수준 커스텀 역할: projects/PROJECT_ID/roles/IDENTIFIER
    • 조직 수준 커스텀 역할: organizations/ORG_ID/roles/IDENTIFIER

    사전 정의된 역할의 목록은 역할 이해를 참조하세요.

  • PRINCIPAL_1, PRINCIPAL_2, ...PRINCIPAL_N: 역할을 부여할 주 구성원의 식별자입니다.

    주 구성원 식별자는 일반적으로 PRINCIPAL-TYPE:ID 형식입니다. 예를 들면 user:my-user@example.com입니다. PRINCIPAL가 가질 수 있는 값의 전체 목록은 정책 binding 참조를 확인하세요.

    주 구성원 유형 user의 경우 식별자의 도메인 이름은 Google Workspace 도메인이나 Cloud ID 도메인이어야 합니다. Cloud ID 도메인을 설정하는 방법은 Cloud ID 개요를 참조하세요.

  • CONDITIONS: 선택사항. 액세스 권한이 부여되는 시점을 지정하는 모든 조건입니다.

역할 부여

주 구성원에게 역할을 부여하려면 허용 정책에서 역할 바인딩을 수정합니다. 부여할 수 있는 역할에 대해 알아보려면 역할 이해 또는 리소스에 대한 부여 가능한 역할 보기를 참조하세요. 가장 적합한 사전 정의된 역할을 식별하는 데 도움이 필요하면 사전 정의된 역할 선택을 참조하세요.

필요에 따라 조건을 사용하여 특정 요구사항이 충족될 때만 역할을 부여할 수 있습니다.

이미 허용 정책에 포함된 역할을 부여하려면 주 구성원을 기존 역할 결합에 추가합니다.

gcloud

주 구성원을 기존 역할 결합에 추가하여 허용 정책을 수정합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

예를 들어 허용 정책에 다음 역할 결합이 포함된다고 가정해보세요. 이 역할 결합은 Compute 인스턴스 관리자 역할(roles/compute.instanceAdmin)을 kai@example.com에 부여합니다.

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

역할 바인딩을 raha@example.com에 부여하려면 raha@example.com을 기존 역할 바인딩에 추가합니다.

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

REST

주 구성원을 기존 역할 결합에 추가하여 허용 정책을 수정합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

예를 들어 허용 정책에 다음 역할 결합이 포함된다고 가정해보세요. 이 역할 결합은 Compute 인스턴스 관리자 역할(roles/compute.instanceAdmin)을 kai@example.com에 부여합니다.

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

역할 바인딩을 raha@example.com에 부여하려면 raha@example.com을 기존 역할 바인딩에 추가합니다.

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

정책에 아직 포함되지 않은 역할을 부여하려면 새 역할 바인딩을 추가합니다.

gcloud

주 구성원에 역할을 부여하는 새 역할 바인딩을 추가하여 허용 정책을 수정합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

예를 들어 Compute 부하 분산기 관리자 역할(roles/compute.loadBalancerAdmin)을 raha@example.com에 부여하려면 다음 역할 결합을 해당 허용 정책의 bindings 배열에 추가합니다.

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

REST

주 구성원에 역할을 부여하는 새 역할 바인딩을 추가하여 허용 정책을 수정합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

예를 들어 Compute 부하 분산기 관리자 역할(roles/compute.loadBalancerAdmin)을 raha@example.com에 부여하려면 다음 역할 결합을 해당 허용 정책의 bindings 배열에 추가합니다.

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

역할 취소

역할을 취소하려면 역할 바인딩에서 주 구성원을 삭제합니다. 역할 바인딩에 다른 주 구성원이 없으면 전체 역할 바인딩을 삭제합니다.

gcloud

get-iam-policy 명령어에서 반환된 JSON 또는 YAML 허용 정책을 수정해 역할을 취소합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

주 구성원의 역할을 취소하려면 허용 정책의 bindings 배열에서 원하는 주 구성원 또는 결합을 삭제합니다.

REST

get-iam-policy 명령어에서 반환된 JSON 또는 YAML 허용 정책을 수정해 역할을 취소합니다. 업데이트된 허용 정책을 설정해야만 이 변경사항이 적용됩니다.

주 구성원의 역할을 취소하려면 허용 정책의 bindings 배열에서 원하는 주 구성원 또는 결합을 삭제합니다.

허용 정책 설정

원하는 역할을 부여하고 취소하도록 허용 정책을 수정한 다음에는 setIamPolicy()를 호출하여 업데이트를 수행합니다.

gcloud

리소스의 허용 정책을 설정하려면 리소스에 대해 set-iam-policy 명령어를 실행합니다.

이 명령어 형식은 액세스를 관리하려는 리소스 유형에 따라 달라집니다. 리소스 형식을 찾으려면 Google Cloud CLI 참조에서 리소스의 set-iam-policy 명령어에 대한 참조를 찾습니다. 이 참조는 서비스 및 리소스별로 구성됩니다. 예를 들어 Compute Engine VM 인스턴스의 허용 정책을 가져오려면 gcloud compute instances set-iam-policy 참조에 설명된 형식을 따릅니다.

리소스의 set-iam-policy 명령어 응답에는 리소스의 업데이트된 허용 정책이 포함되어 있습니다.

REST

리소스의 허용 정책을 설정하려면 리소스의 setIamPolicy 메서드를 사용합니다.

HTTP 메서드, URL, 요청 본문은 액세스를 보려는 리소스에 따라 달라집니다. 이러한 세부정보를 찾으려면 리소스를 소유하는 서비스의 API 참조를 찾은 후 리소스의 setIamPolicy 메서드에 대한 참조를 찾습니다. 예를 들어 Compute Engine VM 인스턴스의 HTTP 메서드, URL, 요청 본문은 인스턴스 setIamPolicy 참조에 지정되어 있습니다.

리소스의 setIamPolicy 메서드 응답에는 리소스의 업데이트된 허용 정책이 포함되어 있습니다.

다음 단계

직접 사용해 보기

Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

무료로 시작하기