AWS Well-Architected Tool と IAM の連携方法
IAM を使用して AWS WA Tool へのアクセスを管理する前に、AWS WA Tool で利用できる IAM の機能について学びます。
| IAM の特徴量 | AWS WA Tool のサポート |
|---|---|
|
あり |
|
|
なし |
|
|
あり |
|
|
はい |
|
|
はい |
|
|
なし |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
いいえ |
|
|
いいえ |
AWS WA Tool およびその他 AWS のサービスがほとんどの IAM 機能と連携する方法の概要を把握するには、「IAM ユーザーガイド」の「IAM と連携する AWS のサービス」を参照してください。
AWS WA Tool アイデンティティベースのポリシー
ポリシーアクションのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのようなリソースにどのような条件でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
AWS WA Tool 内のリソースベースのポリシー
リソースベースのポリシーのサポート: なし
リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーションユーザー、または AWS のサービス を含めることができます。
クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイドのIAM でのクロスアカウントリソースアクセスを参照してください。
AWS WA Tool のポリシーアクション
ポリシーアクションのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのようなリソースにどのような条件でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
AWS WA Tool のポリシーアクションは、アクションの前に次のプレフィックスを使用します: wellarchitected:。たとえば、エンティティがワークロードを定義できるようにするには、管理者は wellarchitected:CreateWorkload アクションを許可するポリシーをアタッチする必要があります。同様に、エンティティによるワークロードの削除を防止するため、管理者は wellarchitected:DeleteWorkload アクションを拒否するポリシーをアタッチできます。ポリシーステートメントには、Action 要素または NotAction 要素のいずれかを含める必要があります。AWS WA Tool は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。
AWS WA Tool アクションのリストを確認するには、「サービス認可リファレンス」の「AWS Well-Architected Tool で定義されるアクション」を参照してください。
ポリシーリソース
ポリシーリソースのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルの権限をサポートしないアクションの場合は、ワイルドカード (*) を使用してステートメントがすべてのリソースに適用されることを示します。
"Resource": "*"
AWS WA Tool リソースのタイプとその ARN のリストを確認するには、「サービス認可リファレンス」の「AWS Well-Architected Tool で定義されるリソース」を参照してください。どのアクションで各リソースの ARN を指定できるかについては、「AWS Well-Architected Tool で定義されるアクション」を参照してください。
AWS WA Tool ワークロードリソースには、次の ARN があります。
arn:${Partition}:wellarchitected:${Region}:${Account}:workload/${ResourceId}
ARN の形式の詳細については、「Amazon リソースネーム (ARN) と AWS サービスの名前空間」を参照してください。
ARN は、ワークロードの [ワークロードのプロパティ] ページにあります。たとえば、特定のワークロードを指定するには、次のようにします。
"Resource": "arn:aws:wellarchitected:us-west-2:123456789012:workload/11112222333344445555666677778888"
特定のアカウントに属するすべてのワークロードを指定するには、ワイルドカード (*) を使用します。
"Resource": "arn:aws:wellarchitected:us-west-2:123456789012:workload/*"
ワークロードの作成とリスト化など、一部の AWS WA Tool アクションは、特定のリソースで実行できません。このような場合はワイルドカード *を使用する必要があります。
"Resource": "*"
AWS WA Tool リソースのタイプとその ARN のリストを確認するには、サービス認可リファレンスの AWS Well-Architected Tool で定義されるリソースを参照してください。どのアクションで各リソースの ARN を指定できるかについては、「AWS Well-Architected Tool で定義されるアクション」を参照してください。
AWS WA Tool 向けのポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成し、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS グローバル条件コンテキストキーを参照してください。
AWS WA Tool はサービス固有の条件キーを 1 つ提供し (wellarchitected:JiraProjectKey)、いくつかのグローバル条件キーの使用をサポートします。すべての AWS グローバル条件キーを確認するには、「サービス認可リファレンス」の「AWS グローバル条件コンテキストキー」を参照してください。
管理者は AWS JSON ポリシーを使用して、だれが何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成し、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS グローバル条件コンテキストキーを参照してください。
AWS WA Tool の ACL
ACL のサポート: なし
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
AWS WA Tool タグに基づく認可
ABAC (ポリシー内のタグ) のサポート: あり
属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致した場合に、オペレーションを許可するように ABAC ポリシーを設計できます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/、key-nameaws:RequestTag/、または key-nameaws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
AWS WA Tool での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一時的な認証情報は、AWS リソースへの短期的なアクセスを提供し、フェデレーションの使用時またはロールの切り替え時に自動的に作成されます。AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「AWS のサービス と IAM との連携」を参照してください。
AWS WA Tool のクロスサービスプリンシパル権限
転送アクセスセッション (FAS) のサポート: あり
転送アクセスセッション (FAS) は、AWS のサービス を呼び出すプリンシパルの権限を、AWS のサービス のリクエストと合わせて使用し、ダウンストリームのサービスに対してリクエストを行います。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。
AWS WA Tool のサービスロール
サービスロールのサポート: なし
サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「IAM ユーザーガイド」の「AWS のサービス に許可を委任するロールを作成する」を参照してください。
AWS WA Tool のサービスにリンクされたロール
サービスにリンクされたロールのサポート: なし
サービスにリンクされたロールは、AWS のサービス にリンクされているサービスロールの一種です。サービスがロールを引き受け、ユーザーに代わってアクションを実行できるようになります。サービスにリンクされたロールは、AWS アカウント に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。
サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携する AWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。