세분화된 액세스를 위한 IAM 조건
이 페이지에서는 IAM 조건을 사용하여 연결에 대한 액세스를 제한하는 방법을 설명합니다.
IAM 조건을 사용하면 Integration Connectors 리소스를 세부적으로 제어할 수 있습니다. 기본적으로 Integration Connectors 사용자 또는 역할은 연결에서 지원되는 모든 작업을 수행할 수 있습니다. IAM 조건을 사용하면 특정 사용자 또는 역할이 연결에서 선택한 작업만 수행하도록 제한할 수 있습니다. 예를 들어 이름이 test-connection
으로 시작하는 연결만 수정할 수 있고 이벤트 구독 또는 스키마 메타데이터 보기와 같은 연결에 대한 다른 권한은 할당되지 않도록 사용자를 제한할 수 있습니다.
시작하기 전에
Integration Connectors는 Google Cloud의 Identity and Access Management(IAM)를 사용하여 Integration Connectors 리소스의 역할과 권한을 관리합니다. 따라서 IAM에서 Integration Connectors 리소스의 조건을 지정하거나 수정하기 전에 다음 IAM 개념을 숙지해야 합니다.
IAM 조건 추가
IAM 조건을 Integration Connectors 리소스에 추가하려면 다음 정보가 필요합니다.
- 이름이 지정된 리소스 URI - Integration Connectors의 모든 리소스에는 고유한 리소스 URI가 있습니다. 예를 들어 연결 리소스의 URI는
projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}
입니다. 사용 가능한 모든 URI의 전체 목록은 Integration Connectors REST 리소스를 참조하세요. 리소스에 대한 액세스 권한을 세분화된 수준에서 제어하려면 이름 지정 규칙에 따라 리소스 이름을 지정해야 합니다. 요구사항에 따라 사용할 이름 지정 규칙을 결정할 수 있습니다. 예를 들어 마케팅팀에서 소유한 모든 연결에marketing-
이라는 단어를 프리픽스로 사용할 수 있습니다. 이 예시에서는 마케팅팀의 연결에 대한 리소스 URI가projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-
으로 시작합니다. - 상위 요소 전용 권한 - 리소스나 하위 리소스에 상위 요소 전용 권한이 필요한지 확인합니다. 자세한 내용은 상위 요소 전용 권한을 참조하세요.
- 리소스 유형 - 조건에서 리소스 유형을 필터링하여 리소스 범위를 더 좁힐 수 있습니다. Integration Connectors는 다음 리소스의 조건을 지원합니다.
리소스 이름 리소스 유형 연결 connectors.googleapis.com/Connection ManagedZone connectors.googleapis.com/ManagedZone EndpointAttachment connectors.googleapis.com/EndpointAttachment EventSubscription connectors.googleapis.com/EventSubscription ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata
예시
다음 표에는 Integration Connectors 사용자 또는 역할에 적용할 수 있는 샘플 리소스 조건이 나와 있습니다.
IAM 리소스 조건 | 설명 |
---|---|
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection" |
이 조건을 적용하는 사용자 또는 역할은 다음 작업만 수행할 수 있습니다.
|
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") || (resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata") || (resource.type != "connectors.googleapis.com/Connection" && resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata") |
이 조건을 적용하는 사용자 또는 역할은 다음 작업만 수행할 수 있습니다.
|
Application Integration 서비스 계정에 IAM 조건 추가
Application Integration 서비스 계정에 IAM 조건을 적용하여 통합 실행 중에 서비스 계정이 액세스할 수 있는 연결을 제한할 수 있습니다. 예를 들어 이름이 marketing-
으로 시작하는 연결에만 액세스할 수 있도록 서비스 계정을 제한할 수 있습니다.
자세한 내용은 서비스 계정에 IAM 조건 적용을 참조하세요.
다음 표에는 Application Integration 서비스 계정에 적용할 수 있는 샘플 리소스 조건이 나와 있습니다.
IAM 리소스 조건 | 설명 |
---|---|
resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") |
이 조건을 적용하는 서비스 계정은 이름이 marketing- 으로 시작하는 연결만 실행할 수 있습니다. |
다음 단계
IAM 문서의 다음 정보를 검토합니다.