IAM 管理メソッド - AWS Identity and Access Management

IAM 管理メソッド

IAM は、AWS コンソール、AWS コマンドラインインターフェイス、または関連する SDK のアプリケーションインターフェイス (API) のいずれかを使用して管理できます。セットアップ時には、どの方法をサポートし、さまざまなユーザーをどのようにサポートするかを検討してください。

AWS コンソール

AWS 管理コンソールは、AWS リソースを管理するためのサービスコンソールの広範なコレクションで構成され、そのコレクションを参照するウェブアプリケーションです。最初にサインインすると、コンソールのホームページが表示されます。各サービスコンソールにアクセスできるホームページは、AWS に関連するタスクを実行するための情報にアクセスするための単一の場所として機能します。コンソールにサインインした後に、どのサービスとアプリケーションを利用できるようになるかは、アクセス権限を持っている AWS リソースによって異なります。リソースへのアクセス許可は、ロールを引き受けるか、権限を付与されたグループのメンバーになるか、明示的に権限を付与されるかのいずれかによって付与されます。スタンドアロン AWS アカウントでは、ルートユーザーまたは IAM 管理者がリソースへのアクセスを設定します。AWS Organizations では、管理アカウントまたは委任管理者がリソースへのアクセスを設定します。

AWS Management Console を使用して AWS リソースを管理する予定の場合は、セキュリティ上のベストプラクティスとして、一時的な認証情報を使用してユーザーを設定することをおすすめします。ロールを引き受けた IAM ユーザー、フェデレーションユーザー、IAM Identity Center のユーザーには一時的な認証情報があり、IAM ユーザーとルートユーザーには長期的な認証情報があります。ルートユーザーの認証情報は AWS アカウント へのフルアクセスを提供し、他のユーザーは IAM ポリシーによって付与されたリソースへのアクセスを提供する認証情報を持っています。

サインインの操作は、AWS Management Console ユーザーのタイプによって異なります。

  • IAM ユーザーとルートユーザーは、メインの AWS サインイン URL (https://signin.aws.amazon.com) からサインインします。サインインすると、権限が付与されているアカウントのリソースにアクセスできるようになります。

    ルートユーザーとしてサインインするには、ルートユーザーのメールアドレスとパスワードが必要です。

    IAM ユーザーとしてサインインするには、AWS アカウント 番号またはエイリアス、IAM ユーザー名、IAM ユーザーパスワードが必要です。

    アカウント内の IAM ユーザーは、緊急アクセスなど、長期的な認証情報を必要とする特定の状況に限定し、ルートユーザーはルートユーザーの認証情報を必要とするタスクにのみ使用することをおすすめします。

    利便性のため、AWS サインインページはブラウザ cookie を使用して IAM ユーザー名とアカウント情報を記憶します。次回、ユーザーが任意のページに移動したとき、AWS Management Console コンソールは Cookie を使用して、ユーザーをアカウントのサインインページにリダイレクトします。

    セッションが終了したらコンソールからサインアウトして、前回のサインインが再利用されないようにします。

  • IAM Identity Center ユーザーは、組織固有の特定の AWS アクセスポータルを使用してサインインします。サインインすると、アクセスするアカウントまたはアプリケーションを選択できます。アカウントにアクセスする場合は、管理セッションに使用するアクセス許可セットを選択します。

  • 外部 ID プロバイダーで管理されているフェデレーションユーザーは、カスタムのエンタープライズアクセスポータルを使用して AWS アカウント サインインにリンクされています。フェデレーションユーザーが利用できる AWS リソースは、組織が選択したポリシーによって異なります。

注記

セキュリティレベルを高めるために、ルートユーザー、IAM ユーザー、IAM Identity Center のユーザーは、AWS リソースへのアクセスを許可する前に AWS による多要素認証 (MFA) の検証を受けることができます。MFA が有効になっている場合は、サインインするために MFA デバイスへのアクセス権も必要となります。

さまざまなユーザーが管理コンソールにサインインする方法について詳しくは、AWS サインインユーザーガイドの「AWS 管理コンソールへのサインイン」を参照してください。

AWS コマンドラインインターフェイス (CLI) と Software Development Kit (SDK)

IAM Identity Center と IAM ユーザーは、CLI または関連する SDK のアプリケーションインターフェイス (API) を使用して認証を行う場合、異なる方法を使用して認証情報を認証します。

認証情報と構成設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。特定の場所が他の場所よりも優先されます。

IAM Identity Center と IAM はどちらも CLI または SDK で使用できるアクセスキーを提供します。IAM Identity Center アクセスキーは、自動的に更新できる一時的な認証情報であり、IAM ユーザーに関連する長期的なアクセスキーよりも推奨されます。

CLI または SDK を使用して AWS アカウント を管理するには、ブラウザから AWS CloudShell を使用できます。CloudShell を使用して CLI または SDK コマンドを実行する場合は、まずコンソールにサインインする必要があります。AWS リソースにアクセスするためのアクセス許可は、コンソールへのサインインに使用した認証情報に基づいています。経験によっては、CLI の方がより効率的な AWS アカウント の管理方法である場合があります。

アプリケーション開発では、CLI または SDK をコンピューターにダウンロードし、コマンドプロンプトまたは Docker ウィンドウからサインインできます。このシナリオでは、CLI スクリプトまたは SDK アプリケーションの一部として認証情報とアクセス認証情報を設定します。環境と利用可能なアクセス許可に応じて、リソースへのプログラムによるアクセスはさまざまな方法で設定できます。

  • AWS サービスを使用してローカルコードを認証するための推奨オプションは、IAM ID センターと IAM Roles Anywhere です。

  • AWS 環境内で実行されるコードを認証するための推奨オプションは、IAM ロールを使用するか、IAM Identity Center 認証情報を使用することです。

IAM Identity Center を使用している場合は、AWS アクセス許可セットを選択するアクセスポータルのスタートページから短期的な認証情報を取得できます。これらの認証情報には有効期限が定義されており、自動的に更新されることはありません。これらの認証情報を使用する場合は、AWS ポータルにサインインした後に、AWS アカウント を選択し、権限セットを選択します。[コマンドラインまたはプログラムによるアクセス] を選択すると、プログラムまたは CLI から AWS リソースにアクセスするために使用できるオプションが表示されます。これらの方法の詳細については、IAM Identity Center ユーザーガイドの「一時的な認証情報の取得と更新」を参照してください。これらの認証情報は、アプリケーションの開発中にコードをすばやくテストするためによく使用されます。

AWS リソースへのアクセスを自動化すると自動的に更新される IAM Identity Center 認証情報を使用することをお勧めします。IAM Identity Center でユーザーと権限セットを設定している場合、aws configure sso コマンドを使ってコマンドラインウィザードを使用すると、利用可能な認証情報を特定してプロファイルに保存できます。プロファイルの設定について詳しくは、バージョン 2 用 AWS コマンドラインインターフェイスユーザーガイドの「aws configure sso ウィザードによるプロファイルの設定」を参照してください。

注記

多くのサンプルアプリケーションでは、IAM ユーザーまたはルートユーザーに関連する長期アクセスキーを使用しています。長期的な認証情報は、学習演習の一環としてサンドボックス環境内でのみ使用してください。長期的なアクセスキーの代替手段を確認し、コードをできるだけ早く移行することで、IAM Identity Center 認証情報や IAM ロールなどの代替認証情報を使用するようにすることを計画してください。コードを移行したら、アクセスキーを削除します。

CLI の設定の詳細については、AWS コマンドラインインターフェイス (バージョン 2) ユーザーガイドの「AWS CLI の最新バージョンをインストールまたは更新する」および、AWS コマンドラインインターフェイスユーザーガイドの「認証とアクセス認証情報」を参照してください。

SDK の設定について詳しくは、AWS SDK とツールリファレンスガイドの「IAM Identity Center 認証」および、AWS SDK とツールリファレンスガイドの「IAM Roles Anywhere」を参照してください。