ステップ 6: IAM ロールを割り当てる起動制約を追加する - AWS Service Catalog

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 6: IAM ロールを割り当てる起動制約を追加する

起動制約は、エンドユーザーが製品を起動するときに AWS Service Catalog が引き受ける IAM ロールを指定します。

このステップでは、製品の AWS CloudFormation テンプレートの一部である IAM リソースを AWS Service Catalog が使用できるよう、Linux Desktop 製品に起動制約を追加します。

起動制約として製品に割り当てる IAM ロールには、以下のアクセス権限が必要です。

  1. AWS CloudFormation

  2. 製品用の AWS CloudFormation テンプレートのサービス。

  3. サービス所有の Amazon S3 バケット内の AWS CloudFormation テンプレートへの読み取りアクセス。

この起動制約により、エンドユーザーは製品を起動し、起動後にそれをプロビジョニング済み製品として管理できるようになります。詳細については、「AWS Service Catalog 起動の設定」を参照してください。

起動制約がない場合、エンドユーザーが Linux Desktop 製品を使用するには、事前に追加の IAM アクセス権限をエンドユーザーに付与する必要があります。たとえば、ServiceCatalogEndUserAccess ポリシーにより、 AWS Service Catalog エンドユーザーコンソールビューにアクセスするために必要な最小の IAM アクセス権限が付与されます。

起動制約を使用すると、エンドユーザーの IAM 権限を最小限に抑えるという IAM のベストプラクティスに従うことができます。詳細については、IAM ユーザーガイドの「最小特権を認める」を参照してください。

起動の制約を追加するには
  1. IAM ユーザーガイド の「JSON タブにある新しいポリシーを作成する」の指示に従ってください。

  2. 以下の JSON ポリシードキュメントを貼り付けます。

    • cloudformation— AWS CloudFormation スタックを作成、読み取り、更新、削除、一覧表示、タグ付けするためのすべての権限が AWS Service Catalog に付与されます。

    • ec2— AWS Service Catalog 製品の一部である Amazon Elastic Compute Cloud (Amazon EC2) リソースの一覧表示、読み取り、書き込み、プロビジョニング、タグ付けを行うすべての権限を AWS Service Catalog に付与します。デプロイする AWS リソースによっては、この権限が変わる場合があります。

    • ec2– AWS アカウントの新しい管理ポリシーを作成し、指定した IAM ロールに指定した管理ポリシーをアタッチします。

    • s3— AWS Service Catalog が所有する Amazon S3 バケットへのアクセスを許可します。製品をデプロイするには、AWS Service Catalog はプロビジョニングアーティファクトへのアクセスが必要です。

    • servicecatalog— エンドユーザーに代わってリソースの一覧表示、読み取り、書き込み、タグ付け、起動を行う AWS Service Catalog 権限を許可します。

    • sns— 起動制約の対象となる Amazon SNS トピックの一覧表示、読み取り、書き込み、およびタグ付けを行う AWS Service Catalog 権限を許可します。

    注記

    デプロイする基盤となるリソースによっては、JSON ポリシーの例を変更する必要が生じることがあります。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:GetTemplateSummary", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:UpdateStack", "ec2:*", "servicecatalog:*", "sns:*" ], "Resource": "*" }, { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } } ] }
  3. 次へタグ を選択します。

  4. 次へレビューを選択します。

  5. [ポリシーの確認] ページで、[名前] に「linuxDesktopPolicy」と入力します。

  6. [ポリシーの作成] を選択します。

  7. ナビゲーションペインで [ロール] を選択します。次に、[ロールの作成] を選択して、次の操作を行います。

    1. [信頼されたエンティティの選択] で [AWSサービス] を選択し、[その他の AWS サービスのユースケース] で [Service Catalog] を選択します。Service Catalog のユースケースを選択し、[次へ] を選択します。

    2. linuxDesktopPolicy ポリシーを検索し、チェックボックスをオンにします。

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

    4. [Role name](ロール名) に linuxDesktopLaunchRole を入力します。

    5. [Create role] (ロールの作成) を選択します。

  8. AWS Service Catalog コンソールを開きます (https://console.aws.amazon.com/servicecatalog)。

  9. [Engineering Tools] ポートフォリオを選択します。

  10. ポートフォリオの詳細ページで、[制約] タブを選択し、[制約の作成] を選択します。

  11. [製品]で、[Linux Desktop] を選択し、[制約タイプ]で、[起動] を選択します。

  12. [IAM ロールの選択] を選択します。次に、linuxDesktopLaunchロール を選択し、作成 を選択します。