翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
WorkSpaces の Identity and Access Management
デフォルトでは、IAM ユーザーには WorkSpaces のリソースおよびオペレーションのための許可がありません。IAM ユーザーに WorkSpaces のリソース管理を許可するには、それらのユーザーに許可を明示的に付与する IAM ポリシーを作成し、このポリシーを許可を必要とする IAM ユーザーまたはグループと結びつける必要があります。
注記
Amazon WorkSpaces は、WorkSpace への IAM 認証情報のプロビジョニング (インスタンスプロファイルなど) をサポートしていません。
アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
-
以下のユーザーとグループ AWS IAM Identity Center:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する」を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については「IAM ユーザーガイド」の「IAM ユーザーのロールの作成」を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
IAM の追加リソースは次のとおりです。
-
IAM ポリシーの詳細については、IAM ユーザーガイドのポリシーとアクセス許可を参照してください。
-
IAM の詳細については、Identity and Access Management (IAM)
および IAM ユーザーガイドを参照してください。 -
IAM アクセス許可ポリシーで使用する WorkSpaces 固有のリソース、アクション、および条件コンテキストキーの詳細については、「IAM ユーザーガイド」の「Amazon WorkSpaces のアクション、リソース、および条件キー」を参照してください。
-
IAM ポリシーの作成に役立つツールについては、AWS Policy Generator
を参照してください。また、IAM Policy Simulator を使用して、ポリシー が AWSへの特定のリクエストを許可するか拒否するかをテストすることもできます。
内容
ポリシーの例
以下の例では、Amazon WorkSpaces に対して IAM ユーザーが所有するアクセス許可を制御するために使用できるポリシーステートメントを示しています。
次のポリシーステートメントは、WorkSpaces Personal と WorkSpaces Pools のタスクを実行するアクセス許可を IAM ユーザーに付与します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "workspaces:*", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateInternetGateway", "ec2:CreateNetworkInterface", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreateRole", "iam:GetRole", "iam:ListRoles", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "secretsmanager:ListSecrets", "tag:GetResources", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
次のポリシーステートメントは、すべての WorkSpaces Personal タスクを実行するアクセス許可を IAM ユーザーに付与します。
Amazon WorkSpaces は API Action
およびコマンドラインツールを使用する際に および Resource
要素を完全にサポートしていますが、 から Amazon WorkSpaces を使用するには AWS Management Console、IAM ユーザーに以下のアクションとリソースに対するアクセス許可が必要です。
-
アクション: "
workspaces:*"
と"ds:*"
-
リソース:
"Resource": "*"
次のポリシー例では、IAM ユーザーが AWS Management Consoleから Amazon WorkSpaces を使用することを許可する方法を示しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:GetRole", "iam:CreateRole", "iam:PutRolePolicy", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "kms:ListAliases", "kms:ListKeys", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:CreateNetworkInterface", "ec2:CreateInternetGateway", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateTags", "ec2:CreateSecurityGroup", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeRouteTables", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones", "ec2:AttachInternetGateway", "ec2:AssociateRouteTable", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup", "secretsmanager:ListSecrets", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
次のポリシーステートメントは、すべての WorkSpaces Pools タスクを実行するアクセス許可を IAM ユーザーに付与します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "workspaces:*", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DescribeInternetGateways", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreateRole", "iam:GetRole", "iam:ListRoles", "iam:PutRolePolicy", "secretsmanager:ListSecrets", "tag:GetResources" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } { "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_WorkSpacesPool", "Condition": { "StringLike": { "iam:AWSServiceName": "workspaces.application-autoscaling.amazonaws.com" } } } ] }
次のポリシーステートメントでは、IAM ユーザーに対し、自分のライセンスを使用する (BYOL) WorkSpaces の作成に必要な Amazon EC2 タスクを含む、すべての WorkSpaces タスクを実行するための許可を付与しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "workspaces:*", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateInternetGateway", "ec2:CreateNetworkInterface", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyImageAttribute", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "iam:CreateRole", "iam:GetRole", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
IAM ポリシーで WorkSpaces リソースを指定する
ポリシーステートメントの Resource
要素で WorkSpaces リソースを指定するためには、リソースの Amazon リソースネーム (ARN) を使用します。IAM ポリシーステートメントの Action
要素に指定された API アクションを使用する許可を許可または拒否することで、WorkSpaces リソースへのアクセスを制御できます。WorkSpaces は、WorkSpaces、バンドル、IP グループ、およびディレクトリの ARN を定義します。
WorkSpace ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
- リージョン
-
WorkSpace があるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - workspace_identifier
-
WorkSpace の ID(例:
ws-a1bcd2efg
)。
次に示すのは、特定の WorkSpace を識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべての WorkSpace を指定できます。
WorkSpace プールの ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
- region
-
WorkSpace があるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - workspacespool_identifier
-
WorkSpace プールの ID (例:
ws-a1bcd2efg
)。
次に示すのは、特定の WorkSpace を識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべての WorkSpace を指定できます。
WorkSpace イメージ ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
- リージョン
-
WorkSpace イメージがあるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - bundle_identifier
-
WorkSpace イメージの ID (例:
wsi-a1bcd2efg
)。
次に示すのは、特定のイメージを識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべてのイメージを指定できます。
バンドル ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
- リージョン
-
WorkSpace があるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - bundle_identifier
-
WorkSpace バンドルの ID(例:
wsb-a1bcd2efg
)。
次に示すのは、特定のバンドルを識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべてのバンドルを指定できます。
IP グループ ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
- リージョン
-
WorkSpace があるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - ipgroup_identifier
-
IP グループの ID (例:
wsipg-a1bcd2efg
)。
次に示すのは、特定の IP グループを識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべての IP グループを指定できます。
ディレクトリ ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:directory/directory_identifier
- リージョン
-
WorkSpace があるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - directory_identifier
-
ディレクトリの ID (例:
d-12345a67b8
)。
次に示すのは、特定のディレクトリを識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:directory/directory_identifier
"
「*
」ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべてのディレクトリを指定できます。
接続エイリアス ARN には、次の例に示す構文があります。
arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
- リージョン
-
接続エイリアスがあるリージョン (例:
us-east-1
)。 - account_id
-
ハイフンなしの AWS アカウントの ID (例:
123456789012
)。 - connectionalias_identifier
-
接続エイリアスの ID (例:
wsca-12345a67b8
)。
次に示すのは、特定の接続エイリアスを識別するポリシーステートメントの Resource
要素の形式です。
"Resource": "arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
"
*
ワイルドカードを使用して、特定リージョンの特定のアカウントに属するすべての接続エイリアスを指定できます。
リソース ARN は、次の API アクションで指定することはできません。
-
AssociateIpGroups
-
CreateIpGroup
-
CreateTags
-
DeleteTags
-
DeleteWorkspaceImage
-
DescribeAccount
-
DescribeAccountModifications
-
DescribeIpGroups
-
DescribeTags
-
DescribeWorkspaceDirectories
-
DescribeWorkspaceImages
-
DescribeWorkspaces
-
DescribeWorkspacesConnectionStatus
-
DisassociateIpGroups
-
ImportWorkspaceImage
-
ListAvailableManagementCidrRanges
-
ModifyAccount
リソースレベルの権限をサポートしていない API アクションの場合は、次の例に示すように、Resource ステートメントを指定する必要があります。
"Resource": "*"
次の API アクションでは、リソースがアカウントによって所有されていない場合、リソース ARN でアカウント ID を指定することはできません。
-
AssociateConnectionAlias
-
CopyWorkspaceImage
-
DisassociateConnectionAlias
これらの API アクションでは、アクション対象のリソースをそのアカウントが所有している場合にのみ、リソース ARN でアカウント ID を指定できます。アカウントがリソースを所有していない場合は、次の例に示すように、アカウント ID に *
を指定する必要があります。
"arn:aws:workspaces:
region
:*:resource_type
/resource_identifier
"
workspaces_DefaultRole ロールを作成する
API を使用してディレクトリを登録する前に、workspaces_DefaultRole
という名前のロールが存在していることを確認します。このロールは、高速セットアップによって、または を使用して WorkSpace を起動した場合に作成され AWS Management Console、ユーザーに代わって特定の AWS リソースにアクセスする許可を Amazon WorkSpaces に付与します。このロールが存在しない場合は、以下の手順で作成できます。
workspaces_DefaultRole ロールを作成するには
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
左側のナビゲーションペインで、[Roles] を選択します。
-
[ロールの作成] を選択します。
-
[Select type of trusted entity] (信頼できるエンティティのタイプを選択) で、[Another AWS account] (別の アカウント) を選択します。
-
[Account ID] には、ハイフンやスペースを入れずにアカウント ID を入力します。
-
[Options] では、多要素認証 (MFA) を指定しないでください。
-
[Next: Permissions (次へ: アクセス許可)] を選択します。
-
アクセス許可ポリシーのアタッチページで、 AWS 管理ポリシー AmazonWorkSpacesServiceAccess、AmazonWorkSpacesSelfServiceAccess、および AmazonWorkSpacesPoolServiceAccess を選択します。これらのマネージドポリシーの詳細については、「AWS WorkSpaces の マネージドポリシー」を参照してください。
-
[許可の境界を設定] では、このロールにアタッチされているポリシーと競合する可能性があるため、アクセス許可の境界を使用しないことをお勧めします。このような競合が発生すると、ロールに必要な特定の許可がブロックされる可能性があります。
-
[次へ: タグ] を選択します。
-
[Add tags (optional)] ページで、必要に応じてタグを追加します。
-
[Next: Review] を選択します。
-
[Review] ページの [Role name] に、
workspaces_DefaultRole
を入力します。 -
(オプション) [ロールの説明] に、説明を入力します。
-
[ロールの作成] を選択します。
-
workspaces_DefaultRole ロールの [Summary] ページで [Trust relationships] タブを選択します。
-
[信頼関係] タブで、[信頼関係の編集] を選択します。
-
[Edit Trust Relationship] ページで、既存のポリシーステートメントを次のステートメントに置き換えます。
{ "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
[Update Trust Policy] を選択します。
AmazonWorkSpacesPCAAccess サービスロールを作成する
ユーザーが証明書ベースの認証を使用してログインする前に、AmazonWorkSpacesPCAAccess
という名前のロールが存在することを確認する必要があります。このロールは、 を使用して Directory で証明書ベースの認証を有効にすると作成され AWS Management Console、ユーザーに代わって AWS Private CA リソースにアクセスする許可を Amazon WorkSpaces に付与します。コンソールを使用して証明書ベースの認証を管理していないために、このロールが存在しない場合は、次の手順で作成できます。
を使用して AmazonWorkSpacesPCAAccess サービスロールを作成するには AWS CLI
-
AmazonWorkSpacesPCAAccess.json
という名前の JSON ファイルを次の内容で作成します。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
必要に応じて
AmazonWorkSpacesPCAAccess.json
パスを調整し、次の AWS CLI コマンドを実行してサービスロールを作成し、AmazonWorkspacesPCAAccess 管理ポリシーをアタッチします。aws iam create-role --path /service-role/ --role-name AmazonWorkSpacesPCAAccess --assume-role-policy-document file://AmazonWorkSpacesPCAAccess.json
aws iam attach-role-policy —role-name AmazonWorkSpacesPCAAccess —policy-arn arn:aws:iam::aws:policy/AmazonWorkspacesPCAAccess