온라인 상점 리소스에 대한 액세스 제어

이러한 리소스에 대한 Identity and Access Management (IAM) 정책을 설정하여 온라인 상점 인스턴스 및 기능 뷰에 대한 액세스를 제어할 수 있습니다. IAM 정책은 하나 이상의 구성원 또는 주 구성원을 IAM 역할에 연결하는 바인딩 모음입니다. IAM 정책 바인딩에는 다음 유형의 구성원을 포함할 수 있습니다.

  • 개별 사용자 계정

  • Google 그룹스

  • 도메인

  • 서비스 계정

시작하기 전에

아직 Vertex AI에 인증하지 않았다면 인증을 진행합니다.

로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

온라인 상점의 IAM 정책 설정

다음 샘플을 사용하여 기존 온라인 스토어 인스턴스에 IAM 정책을 설정합니다.

REST

FeatureOnlineStore 리소스에 IAM 정책을 할당하려면 featureOnlineStores.setIamPolicy 메서드를 사용하여 POST 요청을 보냅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: 온라인 저장소 인스턴스가 있는 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREONLINESTORE_NAME: IAM 정책을 설정할 온라인 스토어 인스턴스의 이름입니다.
  • IAM_ROLE_NAME: 구성원에게 할당할 IAM 역할의 이름입니다(예: aiplatform.featureOnlineStoreUser). Vertex AI의 IAM 역할 전체 목록은 [IAM으로 액세스 제어](/vertex-ai/docs/general/access-control)를 참고하세요.
  • USER_EMAIL: 선택사항. 역할이 할당된 사용자 계정의 이메일 주소입니다.
  • GROUP_EMAIL: 선택사항. 역할이 할당된 Google 그룹의 이메일 주소입니다.
  • DOMAIN_NAME: 선택사항. 역할이 할당된 도메인 이름입니다.
  • SERVICE_ACCOUNT_EMAIL: 선택사항. 역할이 할당된 서비스 계정의 이메일 주소입니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy

JSON 요청 본문:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

지형지물 뷰의 IAM 정책 설정

다음 샘플을 사용하여 기존 지형지물 뷰에 IAM 정책을 설정합니다.

REST

FeatureView 리소스에 IAM 정책을 할당하려면 featureViews.setIamPolicy 메서드를 사용하여 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION_ID: 특성 뷰가 있는 리전입니다(예: us-central1).
  • PROJECT_ID: 프로젝트 ID입니다.
  • FEATUREONLINESTORE_NAME: 특성 뷰가 포함된 온라인 스토어 인스턴스의 이름입니다.
  • FEATUREVIEW_NAME: IAM 정책을 설정할 지형지물 뷰의 이름입니다.
  • IAM_ROLE_NAME: 구성원에게 할당할 IAM 역할의 이름입니다(예: aiplatform.featureOnlineStoreUser). Vertex AI의 IAM 역할 전체 목록은 [IAM으로 액세스 제어](/vertex-ai/docs/general/access-control)를 참고하세요.
  • USER_EMAIL: 선택사항. 역할이 할당된 사용자 계정의 이메일 주소입니다.
  • GROUP_EMAIL: 선택사항. 역할이 할당된 Google 그룹의 이메일 주소입니다.
  • DOMAIN_NAME: 선택사항. 역할이 할당된 도메인 이름입니다.
  • SERVICE_ACCOUNT_EMAIL: 선택사항. 역할이 할당된 서비스 계정의 이메일 주소입니다.

HTTP 메서드 및 URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy

JSON 요청 본문:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

다음 단계