

 AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 [AWS Partner Central API 참조](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 설정 및 인증
<a name="setup-authentication"></a>

AWS Partner Central API 설정 및 인증에는 세 단계가 포함됩니다. 다음은 프로세스에 대한 개요입니다.

1. AWS Marketplace판매자 계정을 Partner Central에 연결합니다.

1. IAM을 사용하여 권한을 설정합니다.

1. 서명 버전 4(SigV4)를 사용하여 API 호출을 인증합니다.

## 를 Partner Central AWS 계정에 연결
<a name="linking-aws-account"></a>

를 Partner Central AWS 계정에 연결하는 것은 API를 사용하기 위한 사전 조건입니다. 자세한 내용은 [AWS Partner Central 계정과AWS Marketplace판매자 계정 연결을 참조하세요](https://docs.aws.amazon.com/partner-central/latest/getting-started/account-linking.html). Alliance-lead 또는 Cloud-administrator 권한이 있는 계정으로 Partner Central에 로그인하고 **Account Linking** 섹션으로 이동하여 프롬프트를 따라야 합니다.

## IAM 설정
<a name="setting-up-iam"></a>

AWS Partner Central API를 사용하려면 호출을 시작하려면AWS Identity and Access Management(IAM) 역할 또는 IAM 사용자가 필요합니다. 자세한 내용은 [언제 IAM을 사용하나요?를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/when-to-use-iam.html). 이에 대한AWS 계정가이드의 [IAM 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) 및 [IAM 사용자 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) 단계를 따릅니다. 파트너 중앙 연결AWS Marketplace판매자 계정에서이 IAM 역할/사용자를 생성해야 합니다. IAM 역할/사용자 생성에는 비용이 발생하지 않습니다.

1. IAM 역할/사용자 생성

   에 로그인하고 IAM 서비스로AWS Management Console이동한 다음 단계에 따라 IAM 역할 또는 IAM 사용자를 생성합니다.

1. 정책 할당:

   필요에 따라 관리형 정책을 연결하거나 사용자 지정 정책을 생성합니다. 권한을 수정하거나 확장하려면에서 콘텐츠를 복사하고 다른 권한`AWSPartnerCentralOpportunityManagement`과 결합하는 대신 IAM 역할에 추가 정책을 적용합니다. 관리형 정책을 복제하지 마세요. 이렇게 하면 새 기능이 릴리스될 때 새 기능에 자동으로 액세스할 수 없으며 향후 정책을 수동으로 업데이트해야 하기 때문입니다. 액세스 정책에 대한 자세한 내용은 [액세스 제어 설명서를](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 참조하세요.

### AWS Marketplace제안 관리
<a name="managing-marketplace-offers"></a>

AWS Marketplace제안을 관리하고 기회에 연결하려면 파트너는 IAM 역할에 카탈로그 APIs에 액세스할 수 있는 권한을 부여해야 합니다. 역할/사용자에게 `aws-marketplace:ListEntities` 및와 같은 권한이 있는지 확인합니다`aws-marketplace:SearchAgreements`.

## API 호출 인증
<a name="authenticating-api-calls"></a>

AWS Partner Central API는 인증에 서명 버전 4(SigV4)를 사용합니다. 구현 방법은 다음과 같습니다.

### AWS SDK 사용
<a name="using-aws-sdk"></a>

AWS SDKs 요청 서명을 자동으로 처리합니다. 자격AWS증명을 제공하면 SDK가 나머지 작업을 수행합니다.

1. Java[의 경우 Java용AWS SDK에 임시 자격 증명 제공을 참조하세요](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html).

1. Python(Boto3)의 경우 [자격 증명을 참조하세요](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html).

1. JavaScript(Node.js)의 경우 [Node.js에서 자격 증명 설정을 참조하세요](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html).

1. .NET의 경우 [자격 증명 및 프로필 확인을](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/creds-assign.html) 참조하세요.

1. 다른 프로그래밍 언어 및 추가 예제는 [에서 빌드할 도구를AWS](https://aws.amazon.com/tools/)참조하세요.

### AWS SDK를 사용하지 않는 인증
<a name="authentication-without-sdk"></a>

선택한 프로그래밍 언어에AWS SDK를 사용할 수 없는 경우 인증에는 표준 요청을 수동으로 생성하고, 요청에 서명하고, 세션 토큰을 처리하는 작업이 포함됩니다.는 [ SigV4 서명 사용에](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) 대한 포괄적인 지침을AWS제공합니다. 그러나 수동 요청 서명은 복잡성을 높이고 보안 토큰을 신중하게 관리해야 하므로AWS SDK를 사용하는 것이 좋습니다.

awsJson1\_0 프로토콜에 대한 모든 요청은 다음 헤더를 사용하는 HTTP "POST" 메서드를 사용하여 루트 URL(/)로 전송해야 합니다.

### 필수 헤더
<a name="required-headers"></a>

awsJson1\_0 프로토콜에 대한 모든 API 요청은 다음 헤더를 사용하는 HTTP "POST" 메서드를 사용하여 루트 URL(/)로 전송해야 합니다.


| 헤더 | 필수 | 설명 | 
| --- | --- | --- | 
| Content-Type | true | 이 헤더의 정적 값은 입니다application/x-amz-json-1.0. | 
| Content-Length | true | [RFC 9110\#section-8.6](https://datatracker.ietf.org/doc/html/rfc9110.html#section-8.6)에서 정의한 표준 Content-Length 헤더입니다. | 
| X-Amz-Target | 요청에 대해 true | 예를 들어 CreatePartner 서비스 작업의 값은 PartnerCentralAccount입니다PartnerCentralAccount.CreatePartner. | 

## 사용자 지정 사용자 에이전트를 사용하여 호출에 서명
<a name="signing-your-calls"></a>

AWS Partner Central에 API를 요청할 때 클라이언트 애플리케이션의 소스를AWS식별하고, 사용량을 모니터링하고, 성능을 감사하는 데 도움이 되는 `X-Amzn-User-Agent` 헤더를 포함하는 것이 좋습니다.는이 헤더를AWS사용하여 호출하는 클라이언트 애플리케이션의 유형을 구분하고, 다양한 클라이언트 구현의 성공률에 대한 인사이트를 수집합니다.

### 사용자 지정 사용자 에이전트 헤더
<a name="custom-user-agent-header"></a>

**헤더 이름:** `X-Amzn-User-Agent`

**용도:** 상호 작용의 소스를 분류하여 API 요청을 수행하는 클라이언트 유형을 구분합니다.

**형식**: `{Integrator}|{Product}`

**예제 값:** `AWS|AWS Partner CRM Connector`

모든 요청에이 헤더를 포함하면AWS가 요청 패턴을 분석하고, 통합을 추적하고, 다양한 클라이언트 시스템의 API 경험을 개선할 수 있습니다.

### SDKs에서 사용자 지정 헤더 사용
<a name="using-custom-headers"></a>

SDK 호출에 `X-Amzn-User-Agent` 헤더를 포함하려면 API 호출을 수행하기 전에 클라이언트 요청 동작을 수정할 수 있습니다. 다음은AWS SDK for Python(Boto3)을 사용하는 판매 API 예제입니다.

```
import boto3

# Define service and endpoint details
service_name = "partnercentral-selling"
endpoint_url = "https://partnercentral-selling.us-east-1.api.aws"

# Create a boto3 client for Partner Central
partner_central_client = boto3.client(
service_name=service_name,
='us-east-1',
endpoint_url=endpoint_url
)

# Function to add the custom User-Agent header

def add_version_header(params, **kwargs):
params["headers"]['X-Amzn-User-Agent'] = 'AWS|AWS Partner CRM Connector'

# Register the event to modify the request before the call is made
partner_central_client.meta.events.register(
f'before-call.{service_name}.*', add_version_header
)

# Now, whenever an API call is made using this client, the custom User-Agent header will be included
```

이 예제에서는 Boto3 SDK에 이벤트를 등록하여 모든 API 요청에 `X-Amzn-User-Agent` 헤더를 자동으로 추가하는 방법을 보여줍니다. 각 요청 가로채기 메커니즘을 수정하여 다른AWS SDKs에 동일한 접근 방식을 적용할 수 있습니다.

**참고**  
`X-Amzn-User-Agent` 헤더 형식이 간소화되었습니다. 새 형식을 사용하는 것이 좋습니다. 이전 형식(`CompanyName|ProductName|CRMName|ProductVersion`)은 이전 버전과의 호환성을 위해 계속 지원됩니다. 기존 통합은 수정 없이 계속 작동합니다.