---
# System prepended metadata

title: SP-API サンドボックス環境で実行する IAMポリシーとエンティティを作成して設定する 2023-05-01
tags: [SP-API, Amazon Selling Partner API, サンドボックス]

---

---
lang: ja-jp
breaks: true
---
# SP-API サンドボックス環境で実行する IAMポリシーとエンティティを作成して設定する 2023-05-01

## IAMポリシーとエンティティを作成して設定する

> Creating and configuring IAM policies and entities
> https://developer-docs.amazon.com/sp-api/docs/creating-and-configuring-iam-policies-and-entities?ld=NSGoogle
> ![](https://i.imgur.com/xOiom8t.png)


> Selling Partner API
> https://spapi-apac-doc.s3.ap-northeast-1.amazonaws.com/SP-API%E8%A8%AD%E5%AE%9A%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB_%E6%97%A5%E6%9C%AC%E8%AA%9E_20230316.pdf
> ![](https://i.imgur.com/mSMbLWV.png)


### IAM ユーザーを作成する

:::info
IAM：Identity and Access Management
![](https://i.imgur.com/97nbnt7.png)
:::


1. AWS マネジメントコンソール にサインインし、IAM コンソールを開きます
    * ![](https://i.imgur.com/3ZYiVRb.png)
    * ![](https://i.imgur.com/0iuZQOR.png)
    * ![](https://i.imgur.com/aWpIQ2N.png)

2. 左のナビゲーションペインで、[ユーザー ]、[ユーザーの追加] の順に選択します。

3. [ユーザーの詳細の指定] ページで、ユーザー名を入力後、[次へ] を選択します。
    * ![](https://i.imgur.com/U9dq4mE.png)

4. [アクセス許可の設定] ページで、既定値を受け入れ、[次へ] を選択します。アクセス許可は、IAM ロールを作成するときに設定します。
    * ![](https://i.imgur.com/2KP0EYO.png)

5. [確認と作成] ページで、必要があればタグ セクションにタグを追加します。問題が無ければ[ユーザーの作成] を選択します。
    * ![](https://i.imgur.com/ApIESdL.png)
    * ![](https://i.imgur.com/ee2pVxU.png)

6. [ユーザー名] 列で、新しい IAM ユーザーを選択し、[セキュリティ認証情報] タブに移動します。
    * ![](https://i.imgur.com/85QFKnG.png)

7. [アクセスキー] セクションで、[アクセスキーの作成] を選択します。
    * ![](https://i.imgur.com/k3nE8Bi.png)

8. [アクセス キーのベスト プラクティスと代替案] ページで、[その他]、[次へ] の順に選択します。
    * ![](https://i.imgur.com/pav69fX.png)

9. [説明タグの設定 (オプション)] ページで、必要があれば説明タグを追加し、[アクセスキーの作成] を選択します。
    * ![](https://i.imgur.com/DUeuTpS.png)

10. [アクセスキーの取得] ページで、[ファイルのダウンロード] .csv を選択して AWS アクセスキーとシークレットアクセスキーを保存し、[完了] を選択します。
    * ![](https://i.imgur.com/Yp1rh8T.png)
    * ![](https://i.imgur.com/UsE0OqS.png)

11. [ユーザー名] 列で、新しい IAM ユーザーをもう一度選択し、ユーザー ARN を保存します。
    * ※ユーザー ARN は後で使用します。
    * ![](https://i.imgur.com/u9JV1xt.png)


### IAM ポリシーを作成する

1. IAM コンソールから、左のナビゲーションペインで、[ポリシー] を選択します。
    * ![](https://i.imgur.com/dM6gLQJ.png)
    * ※初めて [ポリシー] を選択する場合は、[開始する] を選択します。

2. [ポリシーの作成] を選択します。
    * ![](https://i.imgur.com/T7Ye6X4.png)

3. [JSON] タブを選択します。
    * ![](https://i.imgur.com/v4YtCsN.png)
 
4. 以下のコードをテキスト ボックスに貼り付け (既存のコードを置き換えます)、[次へ: タグ] を選択します。

```json=
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:*:*:*"
    }
  ]
}
```

![](https://i.imgur.com/zkiKYD4.png)

5. [タグの追加 (オプション)] ページで、必要があればタグを追加し、[次へ: 確認] を選択します。
    * ![](https://i.imgur.com/nLrpwZn.png)

6. [ポリシーの確認] ページで、ポリシーに名前を付け、必要に応じて説明を追加します。
    * 名前の例）`SellingPartnerAPI`
    * ![](https://i.imgur.com/nHt1GJJ.png)

7. ポリシーの [概要] を確認し、[ポリシーの作成] を選択します。
    * ![](https://i.imgur.com/vBh08v7.png)


### IAM ロールを作成する

1. IAM コンソールを開き、左のナビゲーションペインで、[ロール]、[ロールの作成] の順に選択します。
    * ![](https://i.imgur.com/F8dISJR.png)

2. [信頼されたエンティティの選択] ページで [AWS アカウント] を選択し、前述の IAM ユーザーの作成に使用したアカウントを選択します。
    * ![](https://i.imgur.com/WQFu1iN.png)
    * ![](https://i.imgur.com/zh9b3q7.png)

:::warning
* この同じアカウントで IAM ユーザーを作成した場合は、[このアカウント] を選択します。
* 別のアカウントで IAM ユーザーを作成した場合は、[別の AWS アカウント] を選択します。[アカウント ID] ボックスに、IAM ユーザーを作成した AWS アカウントのアカウント識別子を入力します。アカウント識別子は、ユーザー ARN の 12 桁の数字です。
:::

3. [次へ] を選択します。

4. [アクセス許可の追加] ページのフィルター ボックスに「SellingPartnerAPI」と入力し、ポリシーを選択して、[次へ] を選択します。
    * ![](https://i.imgur.com/FscHW6y.png)

5. [名前、確認、作成] ページで、[ロール名] ボックスにロール名を入力し、[ロールの説明] ボックスにオプションのロールの説明を入力して、[ロールの作成] を選択します。
    * ![](https://i.imgur.com/zCJ7cLK.png)
    * ![image](https://hackmd.io/_uploads/HyZPw4dGke.png)
    * ![](https://i.imgur.com/9rNTJgl.png)

6. [ロール名] で、新しいロールの名前を選択します。
    * ![](https://i.imgur.com/PPQNcoK.png)

:::info
以下は未実施。
![](https://i.imgur.com/CwGxIG4.png)
:::

### AWS STS ポリシーを IAM ユーザーに追加する

> Step 5. Add an AWS STS policy to your IAM user
> https://developer-docs.amazon.com/sp-api/docs/creating-and-configuring-iam-policies-and-entities?ld=NSGoogle


1. IAM コンソールを開き左のナビゲーションペインで [ユーザー] を選択し、AWS STS ポリシーを必要とするユーザーを選択します。
    * 前述で作成したIAM ユーザーを選択します。
    * ![](https://i.imgur.com/rnV5vQr.png)

2. [アクセス許可] タブで、[アクセス許可の追加] ドロップダウンを選択し、[インラインポリシーの追加] を選択します。
    * ![](https://i.imgur.com/gDcEdKw.png)

3. [ポリシーの作成] ページで、[サービスの選択] を選択します。
    * ![](https://i.imgur.com/N0ukRu3.png)

4. STS サービスを選択します。
    * ※検索ボックスに「STS」と入力して、結果をフィルター処理します。
    * ![](https://i.imgur.com/dm5LsMc.png)

5. [アクション] で、[書き込み] の横にある矢印を選択します。
    * ![](https://i.imgur.com/lEW47r4.png)

6. [AssumeRole]（※ロールを引き受ける） を選択します。
    * ![](https://i.imgur.com/dKnKIXT.png)

7. [リソース] の横にある矢印を選択し、[ARN の追加] を選択します。
    * ![](https://i.imgur.com/A8KyEw1.png)

8. [ARN の追加] ダイアログボックスで、ロール ARN を入力します。
    * 前述で作成したロールのARNをコピーして、`STS_roleのARNの指定`に貼り付けます。
    * ![](https://i.imgur.com/WAWQspM.png)
    * ![](https://i.imgur.com/e1ouGbY.png)


9. [ポリシーの確認] ページで、ポリシーの名前を入力します。設定を確認し、[ポリシーの作成] を選択します。
    * ![](https://i.imgur.com/A6LPtZY.png)
    * ![](https://i.imgur.com/im9gRsO.png)


### STS ポリシーが IAM ユーザーまたはロールにアタッチされていることを確認する

1. IAM コンソールを開き [ユーザー] を選択し、IAM ユーザーを選択します。
    * ![](https://i.imgur.com/qHAEj0g.png)

2. [アクセス許可] タブを選択し、[アクセス許可の追加]、[インラインポリシーの追加] の順に選択します。
    * ![](https://i.imgur.com/v6Pr7QN.png)

3. [ポリシーの作成] ページで、[JSON] タブを選択し、次のコードをテキスト ボックスに貼り付けます。

```json=
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GenerateCredentialReport",
        "iam:GenerateServiceLastAccessedDetails",
        "iam:Get*",
        "iam:List*",
        "iam:SimulateCustomPolicy",
        "iam:SimulatePrincipalPolicy"
      ],
      "Resource": "*"
    }
  ]
}
```

:::info
このポリシーは、IAMサービスに関連する情報を読み取るためのアクセス権をIAMに付与します。
:::

![](https://i.imgur.com/sff9E0G.png)


4. [ポリシーの確認] を選択し、ポリシーの名前 (PolicyNew など) を指定して、[ポリシーの作成] を選択します。
    * ![](https://i.imgur.com/eQ4DfwL.png)
    * ![](https://i.imgur.com/zMCoWUV.png)


5. AWS CloudShell を開き、次のコマンドを実行して、ポリシーが IAM ユーザーまたはロールにアタッチされていることを確認します。

    * 指定した IAM ユーザーに埋め込まれたインラインポリシードキュメントを取得します。
        * `aws iam get-user-policy --user-name tanaka --policy-name tanaka_s_policy`
        * ![](https://i.imgur.com/nf2QOcd.png)


    * 指定した IAM ユーザーにアタッチされているすべての管理ポリシーを一覧表示します。
        * `aws iam list-attached-user-policies --user-name tanaka`
        * ![](https://i.imgur.com/PhSvdTM.png)


    * 指定した管理ポリシーに関する情報を取得します。
        * `aws iam get-policy --policy-arn {{ARN of the policy}}`
        * ![](https://i.imgur.com/fSB0YL3.png)


    * 管理ポリシーのポリシーの詳細を取得します (前のステップで取得したバージョン番号 `v1` を使用します)。
        * `aws iam get-policy-version --policy-arn {{ARN of the policy}} --version-id v1`
        * ![](https://i.imgur.com/3jSHFuI.png)


###### tags: `Amazon Selling Partner API` `SP-API` `サンドボックス`
