API 설정

IBM Cloud® Schematics API를 사용하여 Schematics의 IBM Cloud 기능을 자동화할 수 있습니다. CLI를 사용하려면 CLI 사용 준비 를 참조하십시오.

지원되는 IBM Cloud® Schematics APIs, API 엔드포인트, 필수 API 헤더 및 본문 정보에 대한 개요를 확인하려면 Schematics API 문서를 참조하십시오.

Schematics API 사용 방법

Identity and Access Management 토큰을 사용하여 인증하는 IBM Cloud® Schematics API를 사용하는 방법을 알아보세요.

IBM Cloud Schematics API를 사용하려면 IBM Cloud 자격 증명을 통해 생성된 IAM( IBM Cloud® Identity and Access Management ) 토큰을 제공해야 합니다. IBM Cloud의 인증 방법에 따라 IBM Cloud IAM 토큰의 작성을 자동화하기 위한 다음 옵션 중에서 선택할 수 있습니다.

ID 유형 및 옵션
인증 옵션 설명
IBM Cloud 사용자 이름과 비밀번호 이 주제에 설명된 단계를 따르면 IBM Cloud IAM 액세스 토큰 생성을 완전히 자동화할 수 있습니다. MFA 를 사용하여 IBM Cloud 에 인증하는 경우, MFA에는 웹 브라우저와의 수동 상호작용이 필요하므로 IBM Cloud IAM 토큰 작성을 완전히 자동화할 수 없습니다. IBM Cloud 의 IAM 토큰 생성을 완전히 자동화하려면, 대신 IBM Cloud API 키를 사용해야 합니다.
IBM Cloud API 키 IBM Cloud 사용자 이름 및 비밀번호를 사용하는 대신 IBM Cloud API키를 사용할 수 있습니다. IBM Cloud API키는 생성되는 IBM Cloud 계정에 특정합니다. IBM Cloud API키가 기반으로 하는 계정이 아닌 다른 계정에서 작성된 작업공간에 액세스하려면 해당 계정에 대한 API키를 생성해야 합니다.
  1. IBM Cloud IAM 액세스 토큰을 작성하십시오.

API 토큰 요청에 대한 요청 본문은 IBM Cloud 인증 메소드에 따라 다릅니다.

API 출력의 ‘ access_token ’ 필드에서 ‘ IBM Cloud ’ IAM 토큰을 확인할 수 있습니다. 다음 단계에서 추가 헤더 정보를 검색할 수 있도록 IBM Cloud IAM 토큰을 기록해 두십시오.

POST `https://iam.cloud.ibm.com/identity/token`
테이블
입력 매개변수
헤더 :Content-Type: application/x-www-form-urlencoded:Authorization: Basic [Yng6Yng=^]
Yng6Yng= 는 사용자 이름 bx 및 비밀번호 bx 에 대한 URL 인코딩된 인증 정보와 동일합니다.
IBM Cloud 사용자 이름 및 암호에 대한 본문 :grant_type: password:response_type: cloud_iam uaa:username: IBM Cloud 사용자 이름.:password: IBM Cloud password.: uaa_client_id: cf:uaa_client_secret:
값을 지정하지 않고 uaa_client_secret 키를 추가합니다.
IBM Cloud API 키에 대한 본문 :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: 사용자의 IBM Cloud API키:uaa_client_id: cf:uaa_client_secret:
값이 지정되지 않은 uaa_client_secret 키를 추가하십시오.
IBM Cloud 일회성 패스코드에 대한 본문 :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: IBM Cloud 일회성 패스코드. ibmcloud login --sso을(를) 실행하고 CLI 출력의 지시사항에 따라 웹 브라우저를 사용하여 일회성 패스코드를 검색하십시오.uaa_client_id: cf:uaa_client_secret:
값을 지정하지 않고 uaa_client_secret 키를 추가합니다.

출력 예

{
"access_token": "<iam_access_token>",
"refresh_token": "<iam_refresh_token>",
"uaa_token": "<uaa_token>",
"uaa_refresh_token": "<uaa_refresh_token>",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1493747503
"scope": "ibm openid"
}
  1. 작업 중인 토큰의 계정 ID를 검색하십시오.

<iam_access_token> 을 이전 단계에서 API 출력 결과의 ‘ access_token ’ 필드에서 가져온 IAM 토큰으로 대체하십시오. API 출력 결과에서 ‘ resources.metadata.guid ’ 필드를 확인하면 IBM Cloud 계정의 ID를 찾을 수 있습니다.

GET https://accounts.cloud.ibm.com/coe/v2/accounts
매개변수를 입력하여 IBM Cloud 계정 ID를 가져옵니다.
입력 매개변수
헤더 :Content-Type: application/json:Authorization: bearer <iam_access_token>:Accept: application/json

출력 예

{
    "next_url": null,
    "total_results": 5,
    "resources": [
        {
            "metadata": {
                "guid": "<account_ID>",
                "url": "/coe/v2/accounts/<account_ID>",
                "created_at": "2020-09-29T02:49:41.842Z",
                "updated_at": "2020-08-16T18:56:00.442Z",
                "anonymousId": "1111a1aa1a1111a1aa11aa11111a1111"
            },
            "entity": {
                "name": "<account_name>",
            }
        }
        ]
}
  1. 작업하려는 IBM Cloud 인증 정보 및 계정 ID가 포함된 새 IBM Cloud IAM 토큰을 생성하십시오.

IBM Cloud API 키를 사용하는 경우에는 API 키가 작성된 IBM Cloud 계정 ID를 사용해야 합니다. 계정 B의 Schematics 작업공간 또는 조치에 액세스하려면 계정 B에 로그인하고 계정 B을(를) 기반으로 하는 IBM Cloud API 키를 작성하십시오.

POST https://iam.cloud.ibm.com/identity/token
IAM 토큰을 가져오는 입력 매개변수
입력 매개변수
헤더 :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=[^]
Yng6Yng= 는 사용자 이름 bx 및 비밀번호 bx 에 대한 URL 인코딩된 인증 정보와 동일합니다.
IBM Cloud 사용자 이름 및 암호에 대한 본문 :grant_type: password:response_type: cloud_iam uaa:username: IBM Cloud 사용자 이름. :password: IBM Cloud 암호입니다. :uaa_client_ID: cf:uaa_client_secret:
값을 지정하지 않고 uaa_client_secret 키를 추가합니다. specified.:bss_account: 이전 단계에서 검색한 IBM Cloud 계정 ID입니다.
IBM Cloud API 키에 대한 본문 :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: IBM Cloud API 키.:uaa_client_ID: cf:uaa_client_secret:
값을 지정하지 않고 uaa_client_secret 키를 추가합니다. specified.:bss_account: 이전 단계에서 검색한 IBM Cloud 계정 ID입니다.
IBM Cloud 일회성 패스코드에 대한 본문 :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: IBM Cloud 패스코드입니다. :uaa_client_ID: cf:uaa_client_secret:
값을 지정하지 않고 uaa_client_secret 키를 추가합니다. :bss_account: 이전 단계에서 검색한 IBM Cloud 계정 ID입니다.

Example output

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

API 출력 결과의 ‘ access_token ’ 필드에서 ‘ IBM Cloud ’ IAM 토큰을, ‘ refresh_token ’ 필드에서 리프레시 토큰을 확인할 수 있습니다.

  1. Schematics API를 사용하여 계정의 모든 작업공간을 나열하십시오.

모든 작업 공간을 나열하는 구문

    GET https://schematics.cloud.ibm.com/v1/workspaces/
| Input parameters | Values |
| ----- |  --- |
| Header | `Authorization: bearer <iam_token>`|
{: caption="Input parameters to work with the IBM Cloud Schematics API." caption-side="top"}

특정 작업 공간에 대한 정보를 조회하는 구문:

GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
IBM Cloud Schematics API에 대해 작업하기 위한 입력 매개변수입니다.
입력 매개변수
헤더 Authorization: bearer <iam_token>: IBM Cloud IAM 액세스 토큰.
경로 id <workspace_ID>: 작업공간의 ID입니다. 작업공간 ID를 검색하려면 ibmcloud schematics workspace list을(를) 실행하십시오.
  1. 지원되는 APIs 목록은 IBM Cloud Schematics API 문서 를 검토하십시오.

API를 사용하여 IBM Cloud IAM 액세스 토큰을 갱신하고 새 토큰을 가져오기

IBM Cloud® Identity and Access Management (IAM) 액세스 토큰은 1시간 후에 만료됩니다. IBM Cloud API에 대한 액세스가 보장되도록 사용자는 정기적으로 액세스 토큰을 새로 고쳐야 합니다. 동일한 절차를 따라 새 토큰을 발급받을 수 있습니다.

시작하기 전에, 새로운 액세스 토큰을 요청하는 데 사용할 수 있는 유효한 IBM Cloud IAM 리프레시 토큰이나 IBM Cloud API 키가 있는지 확인하십시오.

  • 새로 고치기 토큰: IBM Cloud API를 사용하여 작업공간 작성 및 관리 프로세스 자동화의 지시사항을 따르십시오.
  • API 키: IBM Cloud 다음과 같이 API 키를 가져오십시오.
    1. 메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하십시오.
    2. 사용자 페이지를 클릭한 후 자신을 선택하십시오.
    3. API 키 분할창에서 IBM Cloud API 키 작성을 클릭하십시오.
    4. API 키의 이름설명을 입력하고 작성을 클릭하십시오.
    5. 표시를 클릭하여 생성된 API를 보십시오.
    6. 새 IBM Cloud IAM 액세스 토큰의 검색에 사용할 수 있도록 API 키를 복사하십시오.

IBM Cloud IAM 토큰을 작성하거나 새 새로 고치기 토큰을 얻으려는 경우에는 다음 단계를 사용하십시오.

  1. 새로 고치기 토큰이나 IBM Cloud API 키를 사용하여 새 IBM Cloud IAM 액세스 토큰을 생성하십시오.
POST https://iam.cloud.ibm.com/identity/token
새 IBM Cloud IAM 토큰에 대한 입력 매개변수입니다.
입력 매개변수
헤더 :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=

Yng6Yng= 는 사용자 이름 bx 및 비밀번호 bx 에 대한 URL 인코딩된 인증 정보와 동일합니다.
새로 고치기 토큰을 사용하는 경우의 본문 :grant_type: refresh_token:response_type: cloud_iam uaa:refresh_token: IBM Cloud IAM 새로 고치기 토큰입니다. :uaa_client_ID: cf:uaa_client_secret::bss_account: 사용자의 IBM Cloud 계정 ID입니다.

값을 지정하지 않고 ‘ uaa_client_secret ’ 키를 추가합니다.
IBM Cloud API 키를 사용하는 경우의 본문 :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: IBM Cloud API 키. :uaa_client_ID: cf:uaa_client_secret: 값이 지정되지 않은 uaa_client_secret 키를 추가하십시오.

예제 API 출력

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "uaa_token": "<uaa_token>",
    "uaa_refresh_token": "<uaa_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

API 출력 결과의 ‘ access_token ’ 필드에서 새로운 IBM Cloud IAM 토큰을, ‘ refresh_token ’ 필드에서 리프레시 토큰을 확인할 수 있습니다.

  1. 이전 단계에서 생성한 토큰을 사용하여 IBM Cloud Schematics API 문서를 계속 살펴보세요.