IAM으로 액세스 제어

이 문서에서는 Pub/Sub Lite의 액세스 제어 옵션을 설명합니다. Pub/Sub Lite는 액세스 제어를 위해 ID 및 액세스 관리를 사용합니다.

사용자 또는 애플리케이션이 Pub/Sub Lite 리소스에 액세스할 수 있도록 하려면 애플리케이션이 사용하는 사용자 또는 서비스 계정에 하나 이상의 사전 정의된 역할 또는 커스텀 역할을 부여합니다. 역할에는 Pub/Sub Lite 리소스에서 특정 작업을 수행할 수 있는 권한이 포함됩니다.

사전 정의된 역할

다음 표에는 Pub/Sub Lite 리소스에 대한 액세스 권한을 부여하는 사전 정의된 역할이 나와 있습니다.

역할 직책 설명 권한
roles/pubsublite.admin Pub/Sub Lite 관리자 라이트 주제 및 라이트 구독에 대한 전체 액세스 권한입니다. pubsublite.*
roles/pubsublite.editor Pub/Sub Lite 편집자 라이트 주제 및 라이트 구독을 수정하고 라이트 주제에 메시지를 게시하며 라이트 구독에서 메시지를 수신합니다. pubsublite.*
roles/pubsublite.publisher Pub/Sub Lite 게시자 라이트 주제에 메시지를 게시합니다.
  • pubsublite.topics.getPartitions
  • pubsublite.topics.publish
  • pubsublite.locations.openKafkaStream
  • roles/pubsublite.subscriber Pub/Sub Lite 구독자 라이트 구독에서 메시지를 수신합니다.
    • pubsublite.operations.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.seek
    • pubsublite.subscriptions.setCursor
    • pubsublite.subscriptions.subscribe
    • pubsublite.topics.computeHeadCursor
    • pubsublite.topics.computeMessageStats
    • pubsublite.topics.computeTimeCursor
    • pubsublite.topics.getPartitions
    • pubsublite.topics.subscribe
    • pubsublite.locations.openKafkaStream
    roles/pubsublite.viewer Pub/Sub Lite 뷰어 라이트 주제 및 라이트 구독을 봅니다.
    • pubsublite.operations.get
    • pubsublite.operations.list
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.list
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions

    커스텀 역할

    커스텀 역할에는 사용자가 지정하는 모든 권한이 포함될 수 있습니다. 라이트 주제 업데이트 또는 라이트 구독 삭제와 같은 특정 관리 작업을 수행할 수 있는 권한이 포함된 커스텀 역할을 만들 수 있습니다. 커스텀 역할을 만들려면 커스텀 역할 만들기 및 관리를 참조하세요.

    다음 표에는 커스텀 역할의 예시가 나와 있습니다.

    설명 권한
    라이트 예약 만들기 및 관리
    • pubsublite.reservations.create
    • pubsublite.reservations.update
    • pubsublite.reservations.get
    • pubsublite.reservations.list
    • pubsublite.reservations.delete
    라이트 주제를 만들고 관리합니다.
    • pubsublite.topics.create
    • pubsublite.topics.update
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions
    • pubsublite.topics.delete
    라이트 구독을 만들고 관리합니다.
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    • pubsublite.subscriptions.update
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.list
    • pubsublite.subscriptions.delete
    라이트 주제 및 라이트 구독을 만듭니다.
    • pubsublite.topics.create
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    라이트 주제 및 라이트 구독을 수정합니다.
    • pubsublite.topics.update
    • pubsublite.subscriptions.update
    라이트 주제 및 라이트 구독을 삭제합니다.
    • pubsublite.topics.delete
    • pubsublite.subscriptions.delete

    역할 부여

    프로젝트 수준에서 Pub/Sub Lite 리소스에 액세스하는 역할을 부여할 수 있습니다. 예를 들어 서비스 계정에 프로젝트의 라이트 주제를 볼 수 있는 액세스 권한은 부여할 수 있지만 단일 라이트 주제를 볼 수 있는 액세스 권한은 부여할 수 없습니다.

    프로젝트에 대한 역할을 부여하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하면 됩니다.

    콘솔

    사용자, 서비스 계정, 다른 구성원에게 역할을 부여하려면 다음 단계를 따르세요.

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

    IAM으로 이동

    1. 추가를 클릭합니다.

    2. 사용자, 서비스 계정, 다른 구성원의 이메일 주소를 입력합니다.

    3. 역할을 선택합니다.

    4. 저장을 클릭합니다.

    gcloud

    사용자, 서비스 계정, 다른 구성원에게 역할을 부여하려면 gcloud projects add-iam-policy-binding 명령어를 실행합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=MEMBER \
    --role=ROLE_ID
    

    다음을 바꿉니다.

    현재 IAM 정책으로 JSON 또는 YAML 파일을 가져오고 파일에 여러 역할 또는 구성원을 추가한 다음 정책을 업데이트할 수도 있습니다. 정책을 읽고 관리하려면 Google Cloud CLI, IAM API, IAM을 사용합니다. 자세한 내용은 프로그래매틱 방식으로 액세스 제어하기를 참조하세요.

    다음 단계