AWS OpsWorks Stacks のユーザーアクセス許可の管理 - AWS OpsWorks

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

AWS OpsWorks Stacks のユーザーアクセス許可の管理

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、 および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

ベストプラクティスとして、AWS OpsWorks スタックユーザーを特定のアクションセットまたはスタックリソースのセットに制限します。AWS OpsWorks スタックユーザーの権限は 2 とおりの方法で制御できます。AWS OpsWorks スタックの 許可 ページを使用する方法と、適切な IAM ポリシーを適用する方法です。

OpsWorks[Permissions] (許可) ページまたは同等の CLI または API アクションにより、各ユーザーに複数の [permission levels] (パーミッションレベル) の 1 つを割り当てることで、マルチユーザー環境のユーザー許可をスタックごとに制御できます。それぞれのレベルで付与される権限は、特定のスタックリソースに対する標準的なアクション一式に対応します。[Permissions] ページを使用して制御できる権限は次のとおりです。

  • 各スタックにアクセスできるユーザー。

  • 個々のユーザーが各スタックに対して実行できるアクション。

    たとえば、一部のユーザーにはスタックの閲覧のみを許可する一方で、他のユーザーにはアプリケーションのデプロイ、インスタンスの追加などを許可することができます。

  • 各スタックを管理できるユーザー。

    指定したユーザー (複数可) に各スタックの管理を委任できます。

  • 各スタックの Amazon EC2 インスタンスにおけるユーザーレベルの SSH アクセスと sudo 特権 (Linux) または RDP アクセスと管理者特権 (Windows) を持つ人。

    個々のユーザーについて、これらの権限をいつでも許可したり取り消したりすることができます。

重要

SSH/RDP アクセスを拒否しても、必ずしもユーザーがインスタンスにログインできなくなるわけではありません。インスタンスに Amazon EC2 キーペアを指定した場合、対応するプライベートキーを持つユーザーは誰でもログインするかキーを使用して Windows 管理者パスワードを取得できます。詳細については、「SSH アクセスの管理」を参照してください。

IAM コンソール、 CLI または API から、AWS OpsWorksスタックの各種リソースやアクションに対するアクセス許可を明示的に付与するポリシーをユーザーに追加することもできます。

  • 権限は、IAM ポリシーを使用した方が、権限レベルで行うよりも柔軟に指定できます。

  • IAM ID (ユーザー、ユーザーグループ、ロール) を設定して、ユーザーやユーザーグループなどの IAM ID にアクセス権限を付与したり、フェデレーションユーザーに関連付けることができる ロール を定義したりできます。

  • IAM ポリシーは、特定のキーとなる AWS OpsWorks スタックアクションにアクセス許可を付与する唯一の方法です。

    例えば、opsworks:CreateStackopsworks:CloneStack (それぞれスタックの作成とクローン化に使用) へのアクセス権限を付与するには、IAM を使用する必要があります。

明示的にコンソールのフェデレーティッドユーザーをインポートすることはできませんが、フェデレーティッドユーザーは、AWS OpsWorks スタックの右上にある [My Settings] を選択して、次にやはり右上の [Users] を選択することで、暗黙的にユーザープロフィールを作成できます。ユーザー ページで、API または CLI を使用して作成された、またはコンソールを通じて暗黙的に作成されたアカウントのフェデレーティッドユーザーは、非フェデレーティッド IAM ユーザーと同じ様にアカウントを管理できます。

この 2 つのアプローチは相互排他的なものではなく、両者を組み合わせることで利便性が高まることもあります。両者を組み合わせて使用した場合、両方の権限の集合が AWS OpsWorks スタックによって評価されます。たとえば、インスタンスの追加と削除は許可するが、レイヤーの追加と削除をユーザーに許可するのは望ましくないとします。どの AWS OpsWorks スタックアクセス権限レベルでも、このようなアクセス権限レベルは付与されません。ただし、許可 ページを使用して、管理 権限レベルをユーザーに付与し、ほとんどのスタック操作を許可したうえで、レイヤーの追加と削除の権限を拒否する IAM ポリシーを適用することは可能です。詳細については、[のポリシーを使用してAWS リソースへのアクセスを制御する]を参照してください。

ユーザーの権限を管理するための標準的なモデルを以下に示します。いずれのケースも、ここではお客様が管理ユーザーであるという前提で記述しています。

  1. 一人または複数の管理ユーザーには、IAM コンソールを使用して AWSOpsWorks_FullAccess ポリシーを適用します。

  2. 非管理ユーザーそれぞれに、 AWS OpsWorksスタックの権限が付与されていないポリシーで ユーザーを作成します。

    ユーザーに必要な権限が AWS OpsWorks スタックに対するアクセスのみであれば、必ずしもポリシーを適用する必要はありません。このような権限は、AWS OpsWorksスタックの [Permissions] ページで管理することができます。

  3. AWS OpsWorks スタックの [Users] ページを使用して、非管理ユーザーを AWS OpsWorks スタックにインポートします。

  4. スタックごとにその [Permissions] ページを使用し、それぞれのユーザーに権限レベルを割り当てます。

  5. 必要に応じて、適切に構成した IAM ポリシーを適用し、ユーザーの権限レベルをカスタマイズします。

ユーザーの管理のベストプラクティスについては、「ベストプラクティス: アクセス権限の管理」を参照してください。

IAM でのベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。