AWS OpsWorks CM の仕組み IAM - AWS OpsWorks

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

AWS OpsWorks CM の仕組み IAM

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

AWS OpsWorks CM アイデンティティベースのポリシー

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

AWS OpsWorks CM では、カスタムポリシーステートメントをユーザー、ロール、またはグループにアタッチできます。

アクション

IAM ID ベースのポリシーの Action 要素は、ポリシーによって許可または拒否される特定のアクションを記述します。ポリシーアクションは通常、関連付けられた AWS APIオペレーションと同じ名前を持ちます。このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

AWS OpsWorks CM のポリシーアクションでは、アクションの前に次のプレフィックスを使用します。 opsworks-cm:例えば、APIオペレーションを使用して AWS OpsWorks CM サーバーを作成するアクセス許可をユーザーに付与するには、 opsworks-cm:CreateServer アクションをポリシーに含めます。ポリシーステートメントには、 Action または NotAction要素を含める必要があります。 AWS OpsWorks CM は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。

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

"Action": [ "opsworks-cm:action1", "opsworks-cm:action2"

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

"Action": "opsworks-cm:Describe*"

ワイルドカードを使用して複数のアクションをポリシーステートメントで許可する場合は、これらのアクションを許可する先が承認済みのサービスまたは承認済みのユーザーであることを確認してください。

AWS OpsWorks CM アクションのリストを確認するには、 IAM ユーザーガイド「 のアクション、リソース、および条件キーAWS OpsWorks」を参照してください。

リソース

Resource エレメントは、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource エレメントを含める必要があります。ARN またはワイルドカード (*) を使用してリソースを指定し、ステートメントがすべてのリソースに適用されることを示します。

AWS OpsWorks CM サーバーまたはバックアップの Amazon リソース番号 (ARN) を取得するには、 DescribeServers または DescribeBackupsAPIオペレーションを実行し、それらのリソースのリソースレベルのポリシーをベースとします。

AWS OpsWorks CM サーバーリソースには、ARN次の形式の があります。

arn:aws:opsworks-cm:{Region}:${Account}:server/${ServerName}/${UniqueId}

AWS OpsWorks CM バックアップリソースには、ARN次の形式の があります。

arn:aws:opsworks-cm:{Region}:${Account}:backup/${ServerName}-{Date-and-Time-Stamp-of-Backup}

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

例えば、ステートメントで test-chef-automate Chef Automate サーバーを指定するには、次の を使用しますARN。

"Resource": "arn:aws:opsworks-cm:us-west-2:123456789012:server/test-chef-automate/EXAMPLE-d1a2bEXAMPLE"

特定のアカウントに属するすべての AWS OpsWorks CM サーバーを指定するには、ワイルドカード (*) を使用します。

"Resource": "arn:aws:opsworks-cm:us-west-2:123456789012:server/*"

次の例では、リソースとして AWS OpsWorks CM サーバーバックアップを指定します。

"Resource": "arn:aws:opsworks-cm:us-west-2:123456789012:backup/test-chef-automate-server-2018-05-20T19:06:12.399Z"

リソースを作成するためのアクションなど、一部の AWS OpsWorks CM アクションは、特定のリソースに対して実行できません。このような場合は、ワイルドカード *を使用する必要があります。

"Resource": "*"

多くのAPIアクションには複数のリソースが含まれます。1 つのステートメントで複数のリソースを指定するには、 をカンマARNsで区切ります。

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

AWS OpsWorks CM リソースタイプとその のリストを確認するにはARNs、 IAM ユーザーガイド「CM AWS OpsWorks のアクション、リソース、および条件キー」を参照してください。各リソースARNの を指定できるアクションについては、 IAM ユーザーガイド「CM AWS OpsWorks のアクション、リソース、および条件キー」を参照してください。

条件キー

AWS OpsWorks CM には、ポリシーステートメントの Condition要素で使用できるサービス固有のコンテキストキーはありません。すべての サービスで使用できるグローバルコンテキストキーのリストについては、IAMポリシーリファレンスAWS 「グローバル条件コンテキストキー」を参照してください。すべての AWS グローバル条件キーを表示するには、 ユーザーガイドのAWS 「グローバル条件コンテキストキー」を参照してください。 IAM

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

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

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

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

AWS OpsWorks CM およびリソースベースのポリシー

AWS OpsWorks CM はリソースベースのポリシーをサポートしていません。

リソースベースのポリシーは、指定されたプリンシパルがリソースに対して実行できるアクションと条件を指定するJSONポリシードキュメントです。

AWS OpsWorks CM タグに基づく認可

タグを AWS OpsWorks CM リソースにアタッチすることも、リクエストのタグを AWS OpsWorks CM に渡すこともできます。タグに基づいてアクセスを制御するには、aws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を指定します。 AWS OpsWorks CM リソースのタグ付けの詳細については、このガイドAWS OpsWorks for Puppet Enterprise リソースでのタグの使用AWS OpsWorks for Chef Automate リソースでのタグの使用または を参照してください。

AWS OpsWorks CM IAMロール

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

AWS OpsWorks CM は 2 つのロールを使用します。

  • ユーザーの AWS アカウント内で動作するアクセス許可を AWS OpsWorks CM サービスに付与するサービスロール。 OpsWorks CM が提供するデフォルトのサービスロールを使用する場合、このロールの名前は ですaws-opsworks-cm-service-role

  • AWS OpsWorks CM サービスが OpsWorks CM を呼び出すことを許可するインスタンスプロファイルロールAPI。このロールはAmazon S3および へのアクセスを許可 AWS CloudFormation し、バックアップ用のサーバーと S3 バケットを作成します。 OpsWorks CM が提供するデフォルトのインスタンスプロファイルを使用する場合、このインスタンスプロファイルロールの名前は ですaws-opsworks-cm-ec2-role

AWS OpsWorks CM はサービスにリンクされたロールを使用しません。

AWS OpsWorks CM による一時的な認証情報の使用

AWS OpsWorks CM は一時的な認証情報の使用をサポートし、その機能を から継承します AWS Security Token Service。

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

サービスリンクロール

AWS OpsWorks CM はサービスにリンクされたロールを使用しません。

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

サービスロール

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

AWS OpsWorks CM は 2 つのロールを使用します。

  • ユーザーの AWS アカウント内で動作するアクセス許可を AWS OpsWorks CM サービスに付与するサービスロール。 OpsWorks CM が提供するデフォルトのサービスロールを使用する場合、このロールの名前は ですaws-opsworks-cm-service-role

  • AWS OpsWorks CM サービスが OpsWorks CM を呼び出すことを許可するインスタンスプロファイルロールAPI。このロールはAmazon S3および へのアクセスを許可 AWS CloudFormation し、バックアップ用のサーバーと S3 バケットを作成します。 OpsWorks CM が提供するデフォルトのインスタンスプロファイルを使用する場合、このインスタンスプロファイルロールの名前は ですaws-opsworks-cm-ec2-role

AWS OpsWorks CM での IAM ロールの選択

AWS OpsWorks CM でサーバーを作成するときは、 AWS OpsWorks CM がEC2ユーザーに代わって Amazon にアクセスすることを許可するロールを選択する必要があります。サービスロールを既に作成している場合 AWS OpsWorks 、CM は選択するロールのリストを提供します。 OpsWorks CM は、ロールを指定しない場合に作成できます。Amazon EC2インスタンスを開始および停止するためのアクセスを許可するロールを選択することが重要です。詳細については、Chef Automate サーバーの作成 または Puppet Enterprise マスターの作成 を参照してください。