AWS Device Farm と の連携方法 IAM - AWS Device Farm

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

AWS Device Farm と の連携方法 IAM

IAM を使用して Device Farm へのアクセスを管理する前に、Device Farm で使用できるIAM機能を理解しておく必要があります。Device Farm やその他の AWS のサービスが とどのように連携するかの概要についてはIAM、 IAM ユーザーガイドAWS 「 と連携する のサービスIAM」を参照してください。

Device Farm のアイデンティティベースポリシー

IAM ID ベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。Device Farm は、特定のアクション、リソース、および条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、 IAM ユーザーガイドIAMJSON「ポリシー要素リファレンス」を参照してください。

アクション

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action要素は、ポリシー内のアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションは通常、関連付けられた AWS APIオペレーションと同じ名前です。一致するAPIオペレーションがないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

関連付けられたオペレーションを実行する権限を付与するポリシーでのアクションを含みます。

Device Farm のポリシーアクションは、アクションの前に以下のプレフィックス「devicefarm:」を使用します: 例えば、Device Farm デスクトップブラウザのテストCreateTestGridUrlAPIオペレーションで Selenium セッションを開始するアクセス許可をユーザーに付与するには、 devicefarm:CreateTestGridUrl アクションをポリシーに含めます。ポリシーステートメントには、Action または NotAction 要素を含める必要があります。Device Farm は、このサービスで実行できるタスクを記述する独自のアクションセットを定義します。

単一ステートメントに複数アクションを指定するには、次のようにカンマで区切ります:

"Action": [ "devicefarm:action1", "devicefarm:action2"

ワイルドカード (*) を使用して複数アクションを指定できます。例えば、List という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "devicefarm:List*"

Device Farm アクションのリストを確認するには、「サービス認証リファレンス」の「 で定義されるアクション AWS Device Farm」を参照してください。 IAM

リソース

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシー要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

Amazon EC2インスタンスリソースには、次の がありますARN。

arn:${Partition}:ec2:${Region}:${Account}:instance/${InstanceId}

の形式の詳細についてはARNs、「Amazon リソースネーム (ARNs)」と AWS 「サービス名前空間」を参照してください。

例えば、 ステートメントでi-1234567890abcdef0インスタンスを指定するには、次の を使用しますARN。

"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"

アカウントに属するすべてのインスタンスを指定するには、ワイルドカード (*) を使用します:

"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"

リソースの作成など、一部の Device Farm アクションは、リソースで実行できません。このような場合は、ワイルドカード *を使用する必要があります。

"Resource": "*"

多くの Amazon EC2APIアクションには、複数のリソースが含まれます。例えば、 は Amazon EBSボリュームをインスタンスにAttachVolumeアタッチするため、IAMユーザーはボリュームとインスタンスを使用するアクセス許可を持っている必要があります。1 つのステートメントで複数のリソースを指定するには、 をカンマARNsで区切ります。

"Resource": [ "resource1", "resource2"

Device Farm リソースタイプとその のリストを確認するにはARNs、IAM「サービス認証リファレンス」の「 で定義されるリソースタイプ AWS Device Farm」を参照してください。各リソースARNの を指定できるアクションについては、IAM「サービス認証リファレンス」の「 で定義されるアクション AWS Device Farm」を参照してください。

条件キー

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば、IAMユーザー名でタグ付けされている場合にのみ、リソースにアクセスするアクセス許可をIAMユーザーに付与できます。詳細については、「 ユーザーガイド」のIAM「ポリシー要素: 変数とタグ」を参照してください。 IAM

AWS は、グローバル条件キーとサービス固有の条件キーをサポートします。すべての AWS グローバル条件キーを確認するには、 ユーザーガイドのAWS 「グローバル条件コンテキストキー」を参照してください。 IAM

Device Farm は独自の条件キーセットを定義し、一部のグローバル条件キーの使用もサポートしています。すべての AWS グローバル条件キーを確認するには、 IAM ユーザーガイドAWS 「グローバル条件コンテキストキー」を参照してください。

Device Farm 条件キーのリストを確認するには、IAM「サービス認証リファレンス」の「 の条件キー AWS Device Farm」を参照してください。条件キーを使用できるアクションとリソースについては、IAM「サービス認証リファレンス」の「 で定義されるアクション AWS Device Farm」を参照してください。

Device Farm のアイデンティティベースポリシーの例を表示するには、「AWS Device Farm アイデンティティベースのポリシーの例」を参照してください。

Device Farm のリソースベースポリシー

Device Farm では、リソースベースポリシーはサポートされていません。

アクセスコントロールリスト

Device Farm はアクセスコントロールリスト () をサポートしていませんACLs。

Device Farm タグに基づく認可

タグを Device Farm リソースにアタッチしたり、Device Farm へのリクエストでタグを渡したりできます。タグに基づいてアクセスを管理するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの「条件要素」でタグ情報を提供します。Device Farm リソースのタギングの詳細については、「AWS Device Farm リソースのタギング」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースポリシーの例を表示するには、「タグに基づく Device Farm デスクトップブラウザテストプロジェクトの表示」を参照してください。

Device Farm IAMロール

IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

Device Farm での一時的な認証情報の使用

Device Farm は、一時的な認証情報の使用をサポートしています。

一時的な認証情報を使用してフェデレーションでサインインし、IAMロールまたはクロスアカウントロールを引き受けることができます。AssumeRole や などのオペレーションを呼び出す AWS STS APIことで、一時的なセキュリティ認証情報を取得しますGetFederationToken

サービスリンクロール

サービスにリンクされたロールを使用すると、 AWS サービスが他のサービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスにリンクされたロールはIAMアカウントに表示され、 サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

Device Farm は、Device Farm デスクトップブラウザテスト機能でサービスリンクロールを使用します。これらのロールの詳細については、開発者ガイドの「Device Farm デスクトップブラウザテストのサービスリンクロールの使用」を参照してください。

サービスロール

Device Farm はサービスロールをサポートしていません。

この機能により、お客様に代わってサービスがサービスロールを引き受けることが許可されます。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAMアカウントに表示され、アカウントによって所有されます。つまり、IAM管理者はこのロールのアクセス許可を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。