0 / 0
영어 버전 문서로 돌아가기
프로그램 방식 액세스에 대한 인증
마지막 업데이트 날짜: 2024년 5월 10일
프로그램 방식 액세스에 대한 인증

Watson Machine Learning 을 Python 클라이언트 라이브러리 또는 REST API와 함께 사용하려면 작업을 보안하도록 인증해야 합니다. 인증하는 다양한 방법과 선택한 서비스에 적용하는 방법에 대해 학습합니다.

공용 IBM Watson™ 서비스에 대해 인증된 요청을 작성하기 위해 IBM Cloud® Identity and Access Management(IAM)를 사용합니다. IAM 액세스 정책을 사용하면 단일 키에서 둘 이상의 리소스에 대한 액세스를 지정할 수 있습니다. 또한 사용자, 서비스 ID 및 서비스 인스턴스가 여러 API 키를 보유할 수 있습니다.

보안 개요

보안 요구사항에 대해 설명하는 섹션을 참조하십시오.

인증용 인증 정보

다음 용어는 이 주제에서 설명하는 보안 요구사항과 연관됩니다.

  • API키 를 사용하면 Python 클라이언트 또는 API를 사용할 때 쉽게 인증할 수 있으며 여러 서비스에서 사용할 수 있습니다. API키는 액세스 권한을 부여하는 데 사용되므로 기밀로 간주됩니다. API키가 있는 모든 사용자가 서비스에 액세스할 수 있으므로 모든 API키를 비밀번호처럼 처리하십시오.
  • IAM 토큰 은 IBM Cloud 서비스에 액세스하는 데 필요한 인증 토큰입니다. 토큰 요청에서 API키를 사용하여 토큰을 생성할 수 있습니다. IAM 토큰 사용에 대한 세부사항은 Watson Machine Learning API 인증을 참조하십시오.

API를 통해 서비스를 인증하려면 API에 인증 정보를 전달하십시오. 권한 헤더 또는 API 키에서 운반자 토큰을 전달할 수 있습니다.

API 키 생성

IBM Cloud 사용자 계정에서 API 키를 생성하려면 액세스 및 사용자 관리-API 키로 이동하여 사용자 계정의 API 키를 작성하거나 선택하십시오.

프로파일 및 설정 > 사용자 API키에서 API키를 생성하고 순환할 수도 있습니다. 자세한 정보는 사용자 API키 관리를 참조하십시오.

IAM 토큰으로 인증

IAM 토큰은 60분 동안 유효한 임시 보안 인증 정보입니다. 토큰이 만료되면 새 토큰을 생성합니다. 토큰은 리소스에 임시로 액세스하는 데 유용할 수 있습니다. 자세한 정보는 API 키를 사용하여 IBM Cloud IAM 토큰 생성을 참조하십시오.

서비스 레벨 토큰 얻기

서비스 레벨 토큰을 사용하여 인증할 수도 있습니다. 서비스 레벨 토큰을 생성하려면 다음 작업을 수행하십시오.

  1. 서비스 ID 작성에 대한 IBM Cloud 지시사항을 참조하십시오.
  2. 해당 서비스 ID에 대한 API키를 생성하십시오.
  3. 배치 가능한 자산을 보존할 공간을 여십시오.
  4. 액세스 제어 탭에서 서비스 ID를 추가하고 관리자 또는 편집자의 액세스 역할을 지정하십시오.

이 서비스 레벨 토큰을 API 스코어링 요청에 사용할 수 있습니다.

인터페이스

 

Python 클라이언트

watsonx.ai Python 클라이언트 외부 링크 를 참조하십시오.

watsonx.ai Python 클라이언트 오브젝트의 인스턴스를 작성하려면 Watson Machine Learning API 클라이언트에 인증 정보를 전달해야 합니다.

wml_credentials = {
                  "apikey":"123456789",
                  "url": " https://HIJKL"
}
from ibm_watson_machine_learning import APIClient
wml_client = APIClient(wml_credentials)
참고:

instance_id를 명시적으로 제공하지 않더라도 청구 목적으로 연관된 공간 또는 프로젝트에서 선택됩니다. Watson Machine Learning 서비스의 플랜 및 청구에 대한 세부사항은 Watson Machine Learning 플랜 및 런타임 사용을 참조하십시오.

Python 클라이언트를 사용하여 모델을 인증한 후 스코어링하는 방법에 대한 예제는 샘플 노트북 을 참조하십시오.

REST API

Watson Machine Learning REST API 외부 링크 를 참조하십시오.

Watson Machine Learning REST API를 사용하려면 IBM Cloud Identity and Access Management (IAM) 토큰을 얻어야 합니다. 이 예제에서는 예제 키 대신 API키를 제공합니다.

cURL 예제

curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=123456789" \
"https://iam.cloud.ibm.com/identity/token"

확보된 IAM 토큰에는 Bearer라는 단어가 접두부로 추가되어야 하며 API 호출을 위해 권한 헤더에 전달되어야 합니다.

Python 예

import requests

# Paste your Watson Machine Learning service apikey here

apikey = "123456789"

# Get an IAM token from IBM Cloud
url     = "https://iam.cloud.ibm.com/identity/token"
headers = { "Content-Type" : "application/x-www-form-urlencoded" }
data    = "apikey=" + apikey + "&grant_type=urn:ibm:params:oauth:grant-type:apikey"
response  = requests.post( url, headers=headers, data=data, auth=apikey )
iam_token = response.json()["access_token"]

Node.js 예제

var btoa    = require( "btoa" );
var request = require( 'request' );

// Paste your Watson Machine Learning service apikey here
var apikey = "123456789";

// Use this code as written to get an access token from IBM Cloud REST API
//
var IBM_Cloud_IAM_uid = "bx";
var IBM_Cloud_IAM_pwd = "bx";

var options = { url     : "https://iam.cloud.ibm.com/identity/token",
                headers : { "Content-Type"  : "application/x-www-form-urlencoded",
                            "Authorization" : "Basic " + btoa( IBM_Cloud_IAM_uid + ":" + IBM_Cloud_IAM_pwd ) },
                body    : "apikey=" + apikey + "&grant_type=urn:ibm:params:oauth:grant-type:apikey" };

request.post( options, function( error, response, body )
{
    var iam_token = JSON.parse( body )["access_token"];
} );

상위 주제: 예측 배치 관리

일반적인 AI 검색 및 응답
이러한 응답은 제품 문서의 컨텐츠를 기반으로 하는 watsonx.ai 의 대형 언어 모델에 의해 생성됩니다. 자세히 알아보기