の Identity and Access Management WorkSpaces - Amazon WorkSpaces

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

の Identity and Access Management WorkSpaces

デフォルトでは、IAMユーザーには WorkSpaces リソースとオペレーションに対するアクセス許可はありません。IAM ユーザーが WorkSpaces リソースを管理できるようにするには、アクセス許可を明示的に付与する IAMポリシーを作成し、それらのアクセス許可を必要とするIAMユーザーまたはグループにポリシーをアタッチする必要があります。

注記

Amazon WorkSpaces は、 へのIAM認証情報のプロビジョニング WorkSpace (インスタンスプロファイルなど) をサポートしていません。

アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

の追加リソースは次のとおりですIAM。

ポリシーの例

次の例は、IAMユーザーが Amazon に対して持つアクセス許可を制御するために使用できるポリシーステートメントを示しています WorkSpaces。

次のポリシーステートメントは、個人タスクとプールタスクを実行する WorkSpacesアクセス許可を 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 は、 Actionおよび コマンドラインツールを使用するときに APIおよび Resource要素 WorkSpaces を完全にサポートしていますが、 WorkSpaces から Amazon を使用するには AWS Management Consoleでは、IAMユーザーは以下のアクションとリソースに対するアクセス許可を持っている必要があります。

  • アクション: "workspaces:*""ds:*"

  • リソース: "Resource": "*"

次のポリシー例は、 WorkSpaces から Amazon の使用をIAMユーザーに許可する方法を示しています。 AWS Management Console.

{ "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 プールタスクを実行するアクセス許可を 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" } } } ] }

次のポリシーステートメントは、Bring Your Own License (BYOL) の作成に必要な Amazon タスクを含む、すべての WorkSpacesEC2タスクを実行するアクセス許可を IAM ユーザーに付与します 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) を使用します。 WorkSpaces リソースへのアクセスを制御するには、IAMポリシーステートメントの Action要素で指定されたAPIアクションを使用するアクセス許可を許可または拒否します。、バンドル WorkSpaces、IP グループ、およびディレクトリARNsの WorkSpaces を定義します。

WorkSpace ARN には、次の例に示す構文があります。

arn:aws:workspaces:region:account_id:workspace/workspace_identifier
region

WorkSpace が属するリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 123456789012)。

workspace_identifier

の ID WorkSpace (例: ws-a1bcd2efg)。

以下は、特定の を識別するポリシーステートメントの Resource要素の形式です WorkSpace。

"Resource": "arn:aws:workspaces:region:account_id:workspace/workspace_identifier"

* ワイルドカードを使用して、特定のリージョンの特定のアカウント WorkSpaces に属するすべての を指定できます。

WorkSpace プールARNには、次の例に示す構文があります。

arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier
region

WorkSpace が属するリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 123456789012)。

workspacespool_identifier

WorkSpace プールの ID (例: ws-a1bcd2efg)。

以下は、特定の を識別するポリシーステートメントの Resource要素の形式です WorkSpace。

"Resource": "arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier"

* ワイルドカードを使用して、特定のリージョンの特定のアカウント WorkSpaces に属するすべての を指定できます。

WorkSpace イメージARNには、次の例に示す構文があります。

arn:aws:workspaces:region:account_id:workspaceimage/image_identifier
region

WorkSpace イメージがあるリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 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
region

WorkSpace が属するリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 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
region

WorkSpace が属するリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 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
region

WorkSpace が属するリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 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
region

接続エイリアスがあるリージョン (例: us-east-1)。

account_id

の ID AWS アカウント。ハイフンなし (例: 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": "*"

以下のAPIアクションでは、リソースがアカウントによって所有されていない場合ARN、リソースにアカウント ID を指定することはできません。

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

これらのAPIアクションでは、そのアカウントがアクションの対象となるリソースを所有しているARN場合にのみ、リソースにアカウント ID を指定できます。アカウントがリソースを所有していない場合は、次の例に示すように、アカウント ID に * を指定する必要があります。

"arn:aws:workspaces:region:*:resource_type/resource_identifier"

workspaces_DefaultRole Role を作成する

を使用してディレクトリを登録する前にAPI、 という名前のロールworkspaces_DefaultRoleが存在することを確認する必要があります。このロールは、高速セットアップによって作成されるか、 WorkSpace を使用して を起動する場合に作成されます。 AWS Management Console、および特定の へのアクセス WorkSpaces 許可を Amazon に付与します。 AWS ユーザーに代わって リソース。このロールが存在しない場合は、以下の手順で作成できます。

workspaces_DefaultRole role を作成するには
  1. にサインインする AWS Management Console でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. 左側のナビゲーションペインで、[Roles] を選択します。

  3. [ロールの作成] を選択します。

  4. 「信頼されたエンティティのタイプを選択」で、「別のエンティティ」を選択します。 AWS アカウント

  5. [Account ID] には、ハイフンやスペースを入れずにアカウント ID を入力します。

  6. オプション では、多要素認証 () を指定しないでくださいMFA。

  7. [Next: Permissions] (次へ: アクセス許可) を選択します。

  8. アクセス許可ポリシーのアタッチページで、 AWS マネージドポリシー AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccess、および AmazonWorkSpacesPoolServiceAccess。これらの管理ポリシーの詳細については、「」を参照してくださいAWS の マネージドポリシー WorkSpaces

  9. [許可の境界を設定] では、このロールにアタッチされているポリシーと競合する可能性があるため、アクセス許可の境界を使用しないことをお勧めします。このような競合が発生すると、ロールに必要な特定の許可がブロックされる可能性があります。

  10. [次へ: タグ] を選択します。

  11. [Add tags (optional)] ページで、必要に応じてタグを追加します。

  12. [Next: Review] を選択します。

  13. [Review] ページの [Role name] に、workspaces_DefaultRole を入力します。

  14. (オプション) [ロールの説明] に、説明を入力します。

  15. [ロールの作成] を選択します。

  16. workspaces_DefaultRole role の概要ページで、信頼関係タブを選択します。

  17. [信頼関係] タブで、[信頼関係の編集] を選択します。

  18. [Edit Trust Relationship] ページで、既存のポリシーステートメントを次のステートメントに置き換えます。

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. [Update Trust Policy] を選択します。

サービスロールを作成する AmazonWorkSpacesPCAAccess

ユーザーが証明書ベースの認証を使用してログインする前に、AmazonWorkSpacesPCAAccess という名前のロールが存在することを確認する必要があります。このロールは、 を使用してディレクトリで証明書ベースの認証を有効にすると作成されます。 AWS Management Console、および へのアクセス許可を Amazon WorkSpaces に付与します。 AWS Private CA ユーザーに代わって リソース。コンソールを使用して証明書ベースの認証を管理していないために、このロールが存在しない場合は、次の手順で作成できます。

を使用してサービスロールを作成するには AmazonWorkSpacesPCAAccess AWS CLI
  1. 次のテキストAmazonWorkSpacesPCAAccess.jsonで という名前のJSONファイルを作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 必要に応じて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