

 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 でのセットアップと認証には 3 つのステップがあります。プロセスの概要を次に示します。

1. Seller AWS Marketplaceアカウントを Partner Central にリンクします。

1. IAM を使用してアクセス許可を設定します。

1. Signature Version 4 (SigV4) を使用して API コールを認証します。

## AWS アカウントを Partner Central にリンクする
<a name="linking-aws-account"></a>

AWS アカウントを Partner Central にリンクすることは、 API を使用するための前提条件です。詳細については、[AWS「Partner Central アカウントとAWS Marketplace販売者アカウントのリンク](https://docs.aws.amazon.com/partner-central/latest/getting-started/account-linking.html)」を参照してください。アライアンスリーダーまたはクラウド管理者のアクセス許可を持つアカウントで 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)」の手順に従います。Partner Central にリンクされたAWS Marketplace Seller アカウントで、この IAM ロール/ユーザーを作成する必要があります。IAM ロール/ユーザーの作成にはコストはかかりません。

1. IAM ロール/ユーザーを作成する

   にサインインしAWS マネジメントコンソール、IAM サービスに移動し、手順に従って IAM ロールまたは IAM ユーザーを作成します。

1. ポリシーの割り当て:

   必要に応じて、 管理ポリシーをアタッチするか、カスタムポリシーを作成します。アクセス許可を変更または拡張するには、 からコンテンツをコピーして他のアクセス許可と組み合わせる代わりに、追加のポリシーを IAM ロールに適用`AWSPartnerCentralOpportunityManagement`します。マネージドポリシーの複製は避けてください。これにより、リリースされた新機能に自動的にアクセスできなくなり、今後ポリシーを手動で更新する必要があります。アクセスポリシーの詳細については、[アクセスコントロールのドキュメント](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)を参照してください。

### AWS Marketplaceオファーの管理
<a name="managing-marketplace-offers"></a>

AWS Marketplaceオファーを管理し、オポチュニティにリンクするには、パートナーは Catalog APIs にアクセスするためのアクセス許可を IAM ロールに付与する必要があります。ロール/ユーザーに `aws-marketplace:ListEntities`や などのアクセス許可があることを確認します`aws-marketplace:SearchAgreements`。

## API コールの認証
<a name="authenticating-api-calls"></a>

AWS Partner Central API は、認証に Signature Version 4 (SigV4) を使用します。実装方法は次のとおりです。

### AWS SDK の使用
<a name="using-aws-sdk"></a>

AWS SDKsを自動的に処理します。AWS認証情報を入力すると、SDK が残りを行います。

1. Java については、[AWS「 SDK for Java への一時的な認証情報の提供](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。 | 

## カスタム user-agent を使用した通話の署名
<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`) は、下位互換性のために引き続きサポートされています。既存の統合は変更なしで引き続き機能します。