IAM 조건 추가

IAM 조건을 사용하면 Apigee Integration 리소스를 포함하여 Google Cloud 리소스에 조건부 속성 기반 액세스 제어를 정의하고 적용할 수 있습니다. IAM 조건에 대한 자세한 내용은 IAM 조건 개요를 참조하세요.

Apigee Integration에서는 다음 속성을 기반으로 조건부 액세스를 적용할 수 있습니다.

  • 날짜/시간 속성: Apigee Integration 리소스에 대한 임시(만료됨), 예약 또는 기간 제한 액세스를 설정하는 데 사용합니다. 예를 들어 지정된 날짜까지 사용자가 통합에 액세스하도록 허용할 수 있습니다. 자세한 내용은 임시 액세스 구성을 참조하세요.
  • 리소스 속성: 리소스 이름, 리소스 유형 또는 리소스 서비스 속성을 기반으로 조건부 액세스를 구성하는 데 사용합니다. 예를 들어 사용자가 특정 리전에서 생성된 통합을 관리하도록 허용할 수 있습니다. 지원 값 목록을 참조하세요. 자세한 내용은 리소스 기반 액세스 구성을 참조하세요.

IAM 조건 추가

기존 주 구성원(사용자, 그룹 또는 서비스 계정)에 IAM 조건을 추가하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. 프로젝트, 폴더 또는 조직을 선택합니다.
  3. 주 구성원 목록에서 IAM 조건을 추가할 주 구성원을 찾고 (주 구성원 수정)을 클릭합니다.

    액세스 수정 창이 나타납니다.

  4. IAM 조건을 추가할 역할을 찾고 + IAM 조건 추가를 클릭합니다.
  5. 조건 추가 창에서 다음 정보를 입력합니다.
    1. 제목: 역할에 추가할 조건의 이름을 입력합니다.
    2. 설명: (선택사항) 조건에 대한 설명을 입력합니다.
    3. 조건 작성 도구 또는 조건 편집기를 사용하여 조건을 추가할 수 있습니다.

      조건 작성 도구에서는 표현식에 대해 원하는 조건 유형, 연산자, 기타 적용 가능한 세부정보를 선택할 수 있는 대화형 인터페이스를 제공합니다. 조건 편집기CEL 구문을 사용하여 조건 표현식을 수동으로 입력할 수 있는 텍스트 기반 인터페이스를 제공합니다.

      조건 작성 도구 또는 조건 편집기를 사용하는 방법에 대한 자세한 내용은 리소스 기반 액세스 구성을 참조하세요.

    4. 저장을 클릭하여 조건을 적용합니다.
    5. Apigee Integration에 지원되는 리소스 속성에 대한 자세한 내용은 리소스 속성 값을 참조하세요.

  6. 액세스 수정 창에서 저장을 다시 클릭하여 주 구성원을 업데이트합니다.

리소스 속성 값

다음 표에는 리소스 유형 속성이 Apigee Integration에 포함할 수 있는 값이 나와 있습니다.

리소스 이름 리소스 유형 참조
위치 SERVICE_ENDPOINT-integrations.googleapis.com/Location API 참조
통합 SERVICE_ENDPOINT-integrations.googleapis.com/Integration API 참조
IntegrationVersion SERVICE_ENDPOINT-integrations.googleapis.com/IntegrationVersion API 참조
실행 SERVICE_ENDPOINT-integrations.googleapis.com/Execution API 참조
정지 SERVICE_ENDPOINT-integrations.googleapis.com/Suspension API 참조
AuthConfig SERVICE_ENDPOINT-integrations.googleapis.com/AuthConfig API 참조

Apigee Integration용 IAM 조건 사용 예시

예시 1: 리전의 모든 IntegrationVersion 리소스에 대한 액세스 제한

조건 편집기에서 다음 조건 표현식을 사용하여 IntegrationVersion 리소스에 대한 액세스를 제한할 수 있습니다. 액세스 제한에는 create, delete, download, get, list, patch, publish, unpublish, upload 작업을 리전의 통합 버전으로 제한이 포함됩니다.

!resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee/integrations/INTEGRATION_NAME")

다음을 바꿉니다.

예시 2: 리전의 모든 IntegrationVersion 리소스에 대한 액세스 허용

조건 편집기에서 다음 조건 표현식을 사용하여 IntegrationVersion 리소스에 대한 액세스를 허용할 수 있습니다.

resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee/integrations/INTEGRATION_NAME") || resource.type == "cloudresourcemanager.googleapis.com/Project")

다음을 바꿉니다.

예시 3: 특정 AuthConfig 리소스에 대한 액세스 허용

조건 편집기에서 다음 조건 표현식을 사용하여 특정 AuthConfig 리소스에 대한 액세스를 허용할 수 있습니다.

(resource.name.extract("authConfigs/{end}" == "AUTH_CONFIG_NAME") || resource.type == "integrations.googleapis.com/Location" || resource.type == "cloudresourcemanager.googleapis.com/Project")

다음을 바꿉니다.

  • AUTH_CONFIG_NAME: 인증 유형 이름입니다. 인증 유형을 참조하세요.

예시 4: 리전의 모든 AuthConfig 리소스에 대한 액세스 허용

조건 편집기에서 다음 조건 표현식을 사용하여 모든 AuthConfig 리소스에 대한 액세스를 허용할 수 있습니다.

(resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/products/apigee") && resource.type == "integrations.googleapis.com/AuthConfig" || resource.type == "integrations.googleapis.com/Location" || resource.type == "cloudresourcemanager.googleapis.com/Project")

다음을 바꿉니다.