ストリーミングインスタンスでの WorkSpaces および スクリプトへのアクセス - Amazon WorkSpaces

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

ストリーミングインスタンスでの WorkSpaces および スクリプトへのアクセス

WorkSpaces ストリーミングインスタンスで実行されるアプリケーションとスクリプトには、次のものが含まれている必要があります。 AWS の 認証情報 AWS API リクエスト。これらの認証情報を管理する IAMロールを作成できます。IAM ロールは、アクセスに使用できる一連のアクセス許可を指定します。 AWS リソースの使用料金を見積もることができます。ただし、このロールは 1 人のユーザーに一意に関連付けられるわけではありません。代わりに、それを必要とするすべてのユーザーが引き受けることができます。

WorkSpaces ストリーミングインスタンスに IAMロールを適用できます。ストリーミングインスタンスがロールに切り替える (引き受ける) と、ロールは一時的なセキュリティ認証情報を提供します。アプリケーションまたはスクリプトは、これらの認証情報を使用して、ストリーミングインスタンスでAPIアクションおよび管理タスクを実行します。 WorkSpaces は、一時的な認証情報スイッチを管理します。

WorkSpaces ストリーミングインスタンスでIAMロールを使用するためのベストプラクティス

WorkSpaces ストリーミングインスタンスでIAMロールを使用する場合は、次のプラクティスに従うことをお勧めします。

  • に付与するアクセス許可を制限する AWS API アクションとリソース。

    WorkSpaces ストリーミングインスタンスに関連付けられたIAMロールにIAMポリシーを作成してアタッチするときは、最小特権の原則に従います。へのアクセスを必要とするアプリケーションまたはスクリプトを使用する場合 AWS API アクションまたはリソースは、必要な特定のアクションとリソースを決定します。次に、アプリケーションまたはスクリプトがこれらのアクションのみを実行できるようにするポリシーを作成します。詳細については、「 ユーザーガイド」の「最小特権の付与IAM」を参照してください。

  • WorkSpaces リソースごとに IAMロールを作成します。

    WorkSpaces リソースごとに一意のIAMロールを作成することは、最小特権の原則に従うプラクティスです。これにより、他のリソースに影響を与えることなく、リソースのアクセス許可を変更することもできます。

  • 認証情報を使用できる場所を制限します。

    IAM ポリシーを使用すると、IAMロールを使用してリソースにアクセスするための条件を定義できます。たとえば、リクエスト元の IP アドレスの範囲を指定する条件を含めることができます。これにより、認証情報が環境外で使用されなくなります。詳細については、「 ユーザーガイド」の「追加のセキュリティにポリシー条件を使用するIAM」を参照してください。

WorkSpaces ストリーミングインスタンスで使用する既存のIAMロールの設定

このトピックでは、 で使用できるように既存のIAMロールを設定する方法について説明します WorkSpaces 。

前提条件

で使用するIAMロールは、次の前提条件を満たす WorkSpaces 必要があります。

  • IAM ロールは、 WorkSpaces ストリーミングインスタンスと同じ Amazon Web Services アカウントに存在する必要があります。

  • IAM ロールをサービスロールにすることはできません。

  • IAM ロールにアタッチされている信頼関係ポリシーには、プリンシパルとして WorkSpaces サービスを含める必要があります。プリンシパルは のエンティティです AWS はアクションを実行し、 リソースにアクセスできます。ポリシーには sts:AssumeRole アクションも含める必要があります。このポリシー設定では WorkSpaces 、 を信頼されたエンティティとして定義します。

  • IAM ロールを に適用する場合 WorkSpaces、 は 2019 年 9 月 3 日以降にリリースされたバージョンの WorkSpaces エージェントを実行 WorkSpaces する必要があります。IAM ロールを に適用する場合 WorkSpaces、 WorkSpaces は、同じ日付以降にリリースされたバージョンのエージェントを使用するイメージを使用する必要があります。

WorkSpaces サービスプリンシパルが既存のIAMロールを引き受けるようにするには

次の手順を実行するには、IAMロールを一覧表示および更新するために必要なアクセス許可を持つIAMユーザーとしてアカウントにサインインする必要があります。必要なアクセス許可がない場合は、お客様の Amazon Web Services アカウント管理者に対し、アカウントでこれらのステップを実行するか、必要なアクセス許可をお客様に付与するかのどちらかを依頼します。

  1. でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. ナビゲーションペインで [ロール] を選択します。

  3. アカウントのロールの一覧で、変更するロールの名前を選択します。

  4. [Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。

  5. [Policy Document (ポリシードキュメント)]で、信頼関係ポリシーに workspaces.amazonaws.com サービスプリンシパルの sts:AssumeRole アクションが含まれていることを確認します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "workspaces.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. 信頼ポリシーの編集を完了したら、[信頼ポリシーの更新] を選択して変更を保存します。

  7. 選択したIAMロールが WorkSpaces コンソールに表示されます。このロールは、ストリーミングインスタンスでAPIアクションと管理タスクを実行するためのアクセス許可をアプリケーションとスクリプトに付与します。

WorkSpaces ストリーミングインスタンスで使用する IAMロールを作成する方法

このトピックでは、新しいIAMロールを作成して で使用できるようにする方法を説明します。 WorkSpaces

  1. でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

  3. 信頼されたエンティティのタイプを選択 で、 を選択します。 AWS サービス

  4. のリストから AWS サービス、 を選択しますWorkSpaces

  5. ユースケースの選択 で、インスタンスが を呼び出せるようにします。 WorkSpaces WorkSpaces AWS ユーザーに代わって のサービスが既に選択されています。[Next: Permissions] (次へ: アクセス許可) を選択します。

  6. 可能な場合は、アクセス許可ポリシーとして使用するポリシーを選択するか、[ポリシーの作成] を選択して新しいブラウザタブを開き、新しいポリシーをゼロから作成します。詳細については、「 ユーザーガイド」のIAM「ポリシーの作成 (コンソール)」の手順のステップ 4 を参照してください。 IAM

    ポリシーを作成したら、そのタブを閉じて元のタブに戻ります。 WorkSpaces 必要なアクセス許可ポリシーの横にあるチェックボックスをオンにします。

  7. (オプション) アクセス許可の境界を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。詳細については、「 ユーザーガイド」のIAM「エンティティのアクセス許可の境界」を参照してください。 IAM

  8. [Next: Tags] (次へ: タグ) を選択します。オプションで、タグをキーと値のペアとしてアタッチできます。詳細については、「 IAMユーザーガイド」のIAM「ユーザーとロールのタグ付け」を参照してください。

  9. [次へ: レビュー] を選択します。

  10. [Role name] (ロール名) に、Amazon Web Services アカウント内で一意のロール名を入力します。他の AWS リソースはロールを参照する場合があります。ロールの作成後にロールの名前を編集することはできません。

  11. [ロールの説明] に、デフォルトのロールの説明をそのまま使用するか、新しいロールの説明を入力します。

  12. ロールを確認したら、[Create role] (ロールを作成) を選択します。

WorkSpaces ストリーミングインスタンスでIAMロールを使用する方法

ロールを作成したら、 の起動 WorkSpaces 時にそのIAMロールを に適用できます WorkSpaces。既存の に IAMロールを適用することもできます WorkSpaces。

IAM ロールを に適用すると WorkSpaces、 は一時的な認証情報 WorkSpaces を取得し、インスタンスに workspaces_machine_role 認証情報プロファイルを作成します。一時的な認証情報は 1 時間有効で、新しい認証情報は 1 時間ごとに取得されます。以前の認証情報は失効しないため、有効である限り使用できます。認証情報プロファイルを使用して を呼び出すことができます。 AWS を使用してプログラムで のサービス AWS コマンドラインインターフェイス (AWS CLI), AWS または 用のツール PowerShell AWS SDK を選択した言語に置き換えます。

API 呼び出しを行うときは、workspaces_machine_role を認証情報プロファイルとして指定します。それ以外の場合、アクセス許可が不十分なため、オペレーションは失敗します。

WorkSpaces は、ストリーミングインスタンスのプロビジョニング中に指定されたロールを引き受けます。は の にアタッチされている Elastic Network Interface VPC WorkSpaces を使用するため AWS API 呼び出し、アプリケーションまたはスクリプトは、Elastic Network Interface が使用可能になるまで待ってから、 AWS API 呼び出し。Elastic Network Interface が使用可能になる前にAPI呼び出しが行われると、呼び出しは失敗します。

次の例は、Workspaces_machine_role 認証情報プロファイルを使用してストリーミングインスタンス (EC2 インスタンス) を記述し、Boto クライアントを作成する方法を示しています。Boto は Amazon Web Services (AWS) SDK for Python。

を使用してストリーミングインスタンス (EC2 インスタンス) を記述する AWS CLI

aws ec2 describe-instances --region us-east-1 --profile workspaces_machine_role

を使用してストリーミングインスタンス (EC2 インスタンス) を記述する AWS のツール PowerShell

を使用する必要があります AWS PowerShell バージョン 3.3.563.1 以降のツールと、Amazon Web Services SDK for .NET バージョン 3.3.103.22 以降。をダウンロードできます。 AWS Tools for Windows インストーラー。これには、以下が含まれます。 AWS のツール PowerShell と SDKの Amazon Web Services、 NETから AWS ウェブサイトの PowerShellツール。

Get-EC2Instance -Region us-east-1 -ProfileName workspaces_machine_role

を使用した Boto クライアントの作成 AWS SDK for Python

session = boto3.Session(profile_name=workspaces_machine_role')