--- 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` `サンドボックス`