IAM の一時委任
概要:
一時委任は、Amazon および AWS パートナーの製品のオンボーディングに要する時間を短縮し管理を簡素化する機能で、AWS アカウントに組み込んで使用します。ユーザーは、複数の AWS サービスを手動で設定する代わりに、製品のプロバイダーに一時的なアクセス許可を制限付きで付与することで、プロバイダーが自動化されたデプロイワークフローを通じてセットアップ作業を数分で完了できるようにします。ユーザーは承認要件とアクセス許可の境界を使用して引き続き許可を管理しますが、プロバイダーのアクセス許可は、承認された期間が過ぎると自動的に無効化するため、手動でのクリーンアップは必要ありません。操作を継続して行えるよう製品に永続的なアクセス許可が必要な場合は、プロバイダーは一時委任を使用してアクセス許可の境界を持つ IAM ロールを作成し、このロールのアクセス許可の上限を定義します。製品プロバイダーのすべてのアクティビティは、コンプライアンスおよびセキュリティ上のモニタリングのため AWS CloudTrail を使って追跡されます。
注記
一時委任のリクエストを作成できるのは、この機能のオンボーディングプロセスを完了している Amazon 製品パートナーおよび認定 AWS パートナーのみです。顧客はリクエストの確認と承認を行いますが、リクエストを自ら作成することはできません。IAM 一時委任をお使いの製品に統合したいとお考えの AWS パートナーの方は、オンボーディングと統合の手順に関する「Partner Integration Guide」を参照してください。
一時委任の仕組み
一時委任の機能を使用すると、Amazon および AWS のパートナーは、お使いのアカウントへの、制限付きの一時的なアクセス許可をリクエストできます。リクエストが承認されると、パートナーは、委任されたアクセス許可を使用してユーザーに代わってさまざまなアクションを実行できます。委任のリクエストでは、製品プロバイダーが AWS アカウントにリソースをデプロイするかアカウントでリソースを設定する際に必要な、AWS サービスおよびアクションへの特定のアクセス許可を定義します。これらのアクセス許可は期間限定で利用でき、リクエストで指定された期間が過ぎると自動的に無効になります。
注記
委任されたアクセス許可の有効期間は最大 12 時間です。ただし、ルートユーザーが承認できるのは有効期間が 4 時間以内の委任リクエストのみです。リクエストで 4 時間以上の時間が指定されている場合、ルートユーザー以外の ID を使用してリクエストを承認する必要があります。詳細については、「Permission simulation beta capability」を参照してください。
Amazon S3 バケットからの読み取りなど継続して行われるタスクの場合は、委任リクエストに IAM ロールの作成を含めることができ、一時的な許可の有効期間が過ぎた後もリソースとアクションに引き続きアクセスできます。製品のプロバイダーは、一時委任と同時に作成した IAM ロールには、アクセス許可の境界をアタッチする必要があります。アクセス許可の境界は、IAM ロールのアクセス許可の上限を規定しますが独自にアクセス許可を付与することはできません。アクセス許可の境界は、承認前のリクエストの段階で確認することが可能です。詳細については「アクセス許可の境界」を参照してください。
このプロセスは次のように機能します。
Amazon または AWS パートナーの製品にログインし、お使いの AWS 環境に組み込みます。
製品のプロバイダーがユーザーに代わって委任リクエストを実行すると、ユーザーは AWS マネジメントコンソールにリダイレクトされます。
ユーザーはリクエストされたアクセス許可を確認し、このリクエストを承認または拒否するか、もしくは管理者に転送するか、いずれかを判断します。
ユーザーまたはユーザーの管理者がリクエストを承認すると、製品プロバイダーは承認者の一時的な認証情報を取得して必要な作業を実行できます。
製品プロバイダーのアクセス許可は、指定した期間が過ぎると自動的に無効になります。ただし、一時委任のリクエスト時に作成された IAM ロールはこの期間を過ぎた後も有効であるため、製品プロバイダーは引き続きリソースやアクションにアクセスして管理タスクを継続することができます。
注記
製品プロバイダーにアクセス許可を委任できるのは、ユーザーが、一時委任リクエストに含まれるサービスとアクションにアクセスできる場合のみです。リクエストされたサービスとアクションにユーザーがアクセスできない場合は、リクエストを承認しても製品プロバイダーにはアクセス許可が届きません。
アクセス許可のチェックに、成功する可能性が高い、と示された場合は、一時委任リクエストを承認してワークフローを先に進めることができます。
アクセス許可のチェックに、必要なアクセス許可がない可能性がある、と示された場合は、自分の管理者にリクエストを転送して承認を依頼します。管理者にこのリクエストを通知するときは、E メールやチケットなどご自身にとって望ましい方法を使用することが推奨されます。
管理者がリクエストを承認した場合、次の手順は製品プロバイダー側の設定に応じて変わってきます。
製品プロバイダーが即時アクセスをリクエストした場合、プロバイダーには一時的なアクセス許可が自動的に届いてアクセス期間が始まります。
製品プロバイダーが、所有者 (最初の受信者) にリリースをリクエストした場合は、ユーザーはアクセス許可の有効期間が始まる前にリクエストに戻って一時的なアカウントアクセスを明示的に共有する必要があります。製品プロバイダーは通常、このオプションを、必要なタスクを実行するために追加の入力 (リソースの選択や設定の詳細など) を必要とする場合に使用します。
委任リクエストのアクセス許可の管理
管理者は、IAM プリンシパルに、製品プロバイダーからの委任リクエストを管理するためのアクセス許可を付与できます。これは、組織内の特定のユーザーまたはチームに承認権限を委任する場合や、委任リクエストに対して特定のアクションを実行できる人を管理する必要がある場合に有用です。
委任リクエストの管理には、次の IAM アクセス許可を使用できます。
| アクセス許可 | 説明 |
|---|---|
| iam:AssociateDelegationRequest | 割り当てられていない委任リクエストを AWS アカウントに関連付ける |
| iam:GetDelegationRequest | 委任リクエストの詳細を表示する |
| iam:UpdateDelegationRequest | 委任リクエストを管理者に転送して承認をもらう |
| iam:AcceptDelegationRequest | 委任リクエストを承認する |
| iam:SendDelegationToken | 承認後に交換トークンを製品プロバイダーに発行する |
| iam:RejectDelegationRequest | 委任リクエストを拒否する |
| iam:ListDelegationRequests | アカウントの委任リクエストを一覧表示する |
注記
デフォルトでは、委任リクエストを作成した IAM プリンシパルには、そのリクエストを管理するためのアクセス許可が自動で付与されます。プリンシパルは、リクエストを自分のアカウントに関連付ける、リクエストの詳細を表示する、リクエストを拒否する、管理者に転送して承認をもらう、管理者の承認後に交換トークンを製品プロバイダーに発行する、所有する委任リクエストを一覧表示する、といったことが行えます。