ベストプラクティス: アクセス権限の管理 - AWS OpsWorks

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

ベストプラクティス: アクセス権限の管理

重要

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

アカウントのリソースにアクセスするには、AWS 認証情報のフォームが必要です。従業員へのアクセスを提供するための一般的なガイドラインいくつか次に示します。

  • 第一に、AWS リソースへのアクセスにアカウントのルート認証情報を使用しないことをお勧めします。

    代わりに、従業員に IAMユーザー を作成し、適切なアクセス権限を付与するポリシーをアタッチします。各従業員は、自分の ユーザー認証情報を使用してリソースにアクセスできるようになります。

  • 従業員には、ジョブを実行するのに必要なリソースのみにアクセスするためのアクセス権限が必要です。

    たとえば、アプリケーション開発者は、アプリケーションを実行するスタックにのみアクセスする必要があります。

  • 従業員には、ジョブを実行するのに必要なアクションのみを使用するためのアクセス権限が必要です。

    アプリケーション開発者は、開発スタックに対する完全なアクセス権限が必要な場合もあれば、アプリを対応する本稼働用スタックにデプロイするためのアクセス権限が必要な場合もあります。または、本稼働用スタックでインスタンスを起動または停止したり、レイヤーを作成または削除したりするためのアクセス権限は必要ではない場合もあります。

アクセス許可の管理の概要については、「AWS セキュリティの認証情報」を参照してください。

AWS OpsWorks スタックまたは IAM を使用して、ユーザーの権限を管理できます。この 2 つのオプションは相互排他的ではありません。両方を使用することが望ましい場合もあります。

AWS OpsWorks スタックのアクセス権限の管理

各スタックには [Permissions] ページがあり、これを使用してスタックにアクセスする権限をユーザーに付与したり、ユーザーが実行できるアクションを指定したりできます。ユーザーのアクセス権限を指定するには、次のいずれかのアクセス権限レベルを設定します。各レベルは、標準のアクションセットにアクセス許可を付与する IAM ポリシーを表します。

  • [Deny] は、どのような方法であってもスタックを操作するためのアクセス権限を拒否します。

  • [Show] では、任意の方法で、スタック設定を表示するためのアクセス権限が付与されますが、スタック状態を変更するアクセス権限は付与されません。

  • [Deploy] では [Show] アクセス権限に加えて、アプリケーションをデプロイすることがユーザーに許可されます。

  • [Manage] には [Deploy] アクセス権限が含まれ、また、さまざまなスタック管理アクション (インスタンスやレイヤーの作成または削除など) を実行することがユーザーに許可されます。

注記

Manage アクセス権限レベルでは、一部の高レベルの AWS OpsWorks スタックアクション (スタックの作成やクローン化など) のためのアクセス権限は付与されません。これらのアクセス許可を付与するには、IAM ポリシーを使用する必要があります。

アクセス権限レベルの設定に加え、スタックの [Permissions] ページを使用して、ユーザーに SSH/RDP および sudo/admin 権限を付与できます。AWS OpsWorks スタックのアクセス権限の管理の詳細については、「スタックごとの権限の付与」を参照してください。SSH アクセスを管理する方法の詳細については、「SSH アクセスの管理」を参照してください。

IAM アクセス許可の管理

IAM アクセス許可の管理では、 IAM コンソール、 API、または CLI を使用して、明示的にアクセス許可を指定する JSON 形式のポリシーをユーザーにアタッチします。IAM アクセス許可を管理する方法の詳細については、「What is IAM?」(IAM とは何ですか?) を参照してください。

[Recommendation:] (推奨事項:) AWS OpsWorks スタックの [Permissions] (アクセス権限) の管理から開始してください。ユーザーのアクセス権限の微調整、または [Manage (管理)] アクセス権限レベルに含まれていないアクセス権限をユーザーに付与する場合は、これらの 2 つの方法を組み合わて使用できます。 AWS OpsWorksスタックはその後、両方のポリシーを評価して、ユーザーのアクセス権限を決定します。

重要

ユーザーに競合するアクセス権限を持つ複数のポリシーがある場合、拒否の権限が常に優先されます。例えば、 IAM ポリシーをユーザーに添付して特定のスタックへのアクセスを許可する一方で、 [Permissions (アクセス権限)] ページを使用して [Deny (拒否)] アクセス権限レベルをユーザーに割り当てるとします。この場合、Deny アクセス権限レベルが優先され、ユーザーはスタックにアクセスすることができません。詳細については、「IAM ポリシーの評価論理」を参照してください。

たとえば、レイヤーの追加または削除以外のスタックでのほぼすべての操作をユーザーが実行できるようにする必要があるとします。

  • Manage アクセス権限レベルを指定します。これにより、ユーザーはレイヤーの作成や削除を含むほとんどのスタック管理アクションを実行できるようになります。

  • 次のカスタマー管理ポリシーをユーザーにアタッチします。これにより、スタックで CreateLayer および DeleteLayer アクションを使用するアクセス許可が拒否されます。スタックは、スタックの [Settings (設定) ] ページにある [Amazon Resource Name (ARN) (Amazonリソースネーム (ARN)] を使用して識別します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "opsworks:CreateLayer", "opsworks:DeleteLayer" ], "Resource": "arn:aws:opsworks:*:*:stack/2f18b4cb-4de5-4429-a149-ff7da9f0d8ee/" } ] }

詳細とポリシーの例については、「IAM ポリシーをアタッチすることによる AWS OpsWorks スタック権限の管理する」を参照してください。

注記

IAM ポリシーを使用する別の方法としては、指定された IP アドレスまたはアドレス範囲を持つ従業への、スタックアクセスを制限する条件を設定することです。たとえば、従業員が会社のファイアウォールの内側からのみスタックにアクセスできるようにするには、社内用 IP アドレス範囲へのアクセスを制限する条件を設定します。詳細については、「条件」を参照してください。