IAM の使用開始 - AWS Identity and Access Management

IAM の使用開始

このチュートリアルを使用して、AWS Identity and Access Management (IAM) を開始できます。AWS Management Console を使用して、ロール、ユーザー、ポリシーを作成する方法を学習します。

AWS Identity and Access Management は追加料金なしで提供される AWS アカウント の機能です。IAM ユーザーによる他の AWS 製品の使用に対してのみ請求されます。他の AWS 製品の料金設定については、Amazon Web Services 料金設定ページを参照してください。

注記

このドキュメントでは、主に IAM サービスを取り扱います。AWS の開始方法と、複数のサービスを使用して問題 (最初のプロジェクトの構築および起動) を解決する方法については、「開始方法リソースセンター」を参照してください。

前提条件

開始する前に、IAM の準備作業 の手順を完了するようにしてください。このチュートリアルでは、その手順で作成した管理者アカウントを使用します。

最初の IAM ユーザーを作成する

IAM ユーザーは、1 人のユーザーまたは 1 つのアプリケーションに対して特定の権限を持つ AWS アカウント 内のアイデンティティです。ユーザーは、同じ許可を共有するグループに編成できます。

注記

セキュリティ上のベストプラクティスとして、IAM ユーザーを作成するのではなく、ID フェデレーションを通じてリソースへのアクセスを提供することをお勧めします。IAM ユーザーが必要な特定の状況についての情報は、「IAMユーザー (ロールの代わりに) を作成する場合」を参照してください。

このチュートリアルでは、IAM ユーザーの作成プロセスに慣れるために、緊急アクセス用の IAM ユーザーとグループを作成するステップを説明します。

最初の IAM ユーザーを作成するには

  1. AWS サインインユーザーガイドの「AWS へのサインイン方法」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。

  2. [コンソールホーム] のページで、IAM サービスを選択します。

  3. ナビゲーションペインで [ユーザー][ユーザーを追加] の順に選択します。

    注記

    IAM Identity Center を有効にしている場合は、AWS Management Console には、IAM Identity Center でユーザーのアクセスを管理するのが最善であることを示すメッセージが表示されます。このチュートリアルでは、作成する IAM ユーザーは、IAM Identity Center の認証情報のユーザーが使用できない場合にのみ使用できます。

  4. User name (ユーザー名) に「EmergencyAccess」と入力します。名前にスペースを含めることはできません。

  5. [AWS Management Console へのユーザーアクセスを提供する — オプション] の横にあるチェックボックスを選択し、[IAM ユーザーを作成する] を選択します。

  6. [コンソールパスワード] で、[自動生成パスワード] を選択します。

  7. [ユーザーは次回サインイン時に新しいパスワードを作成する必要があります (推奨)] の横にあるチェックボックスをオンにします。この IAM ユーザーは緊急アクセス用であるため、信頼できる管理者がパスワードを保持し、必要な場合にのみ提供します。

  8. [権限の設定] ページの [権限オプション] の、[ユーザーをグループに追加] を選択します。次に、[ユーザーグループ][グループの作成] を選択します。

  9. [ユーザーグループの作成] ページの [ユーザーグループ名] に、EmergencyAccessGroup と入力します。次に、[許可ポリシー][AdministratorAccess] を選択します。

  10. [ユーザーグループの作成] を選択して [許可の設定] ページに戻ります。

  11. [ユーザーグループ] で、以前に作成した EmergencyAccessGroup の名前を選択します。

  12. [次へ] を選択して [確認と作成] ページに進みます。

  13. [確認と作成] ページで、新しいユーザーに追加するユーザーグループメンバーシップのリストを確認します。続行する準備ができたら、[ユーザーの作成] を選択します。

  14. [パスワードの取得] ページで、[.csv ファイルのダウンロード] を選択し、ユーザーの認証情報 (接続 URL、ユーザー名、パスワード) を含む .csv ファイルを保存します。

  15. このファイルを保存して、IAM にサインインする必要があるが、フェデレーション ID プロバイダーにアクセスできない場合に使用します。

新しい IAM ユーザーが[ユーザー] リストに表示されます。[ユーザー名] リンクを選択すると、ユーザーの詳細が表示されます。[概要] で、ユーザーの ARN をクリップボードにコピーします。ARN をテキストドキュメントに貼り付けて、次の手順で使用できるようにします。

最初のロールを作成します

IAM ロールは、信頼できるエンティティにアクセス権限を付与するための安全な方法です。IAM ロールは、IAM ユーザーといくつかの類似点を持っています。ロールとユーザーは、両方とも、ID が AWS でできることとできないことを決定するアクセス許可ポリシーを持つプリンシパルです。ただし、ユーザーは 1 人の特定の人に一意に関連付けられますが、ロールはそれを必要とする任意の人が引き受けるようになっています。また、ロールには標準の長期認証情報 (パスワードやアクセスキーなど) も関連付けられません。代わりに、ロールを引き受けると、ロールセッション用の一時的なセキュリティ認証情報が提供されます。ロールを使用すると、IAM のベストプラクティスに従うのに役立ちます。ロールは、以下の用途で使用できます。

  • AWS IAM Identity Center を使用して AWS Management Console にアクセスすることを。従業員の ID と Identity Center 対応アプリケーションに対し許可します。

  • ユーザー代わってアクションを実行するためのアクセス許可を AWS のサービスに委任します。

  • AWS リソースへのアクセスや変更を、Amazon EC2 インスタンスで実行されているアプリケーションコードに対し許可します。

  • 別の AWS アカウント にアクセス権を付与します。

注記

マシン ID へのアクセス権を付与するために、AWS Identity and Access Management Roles Anywhere を使用できます。IAM Roles Anywhere を使用すると、AWS の外部で実行されるワークロードの長期的な認証情報を管理する必要がなくなります。詳細については、「AWS Identity and Access Management Roles Anywhere ユーザーガイド」の「AWS Identity and Access Management Roles Anywhere とは?」 を参照してください。

IAM Identity Center およびその他の AWS サービスは、サービスのロールを自動的に作成します。IAM ユーザーを使用している場合は、ユーザーがサインインするときに引き継ぐロールを作成することをお勧めします。これにより、長期間のアクセス許可ではなく、セッション中の一時的な許可が付与されます。

ロールの作成手順を案内する AWS Management Console ウィザードは、IAM ユーザー、AWS サービス、フェデレーションユーザーのいずれにロールを作成するかによって、手順が少し異なるように表示されます。組織内の AWS アカウント への定期的なアクセスは、フェデレーションアクセスを使用して提供する必要があります。緊急アクセスやプログラムによるアクセスなど、特定の目的で IAM ユーザーを作成する場合は、その IAM ユーザーにのみロールを引き受ける許可を付与し、その IAM ユーザーをロール固有のグループに配置します。

この手順では、EmergencyAccess IAM ユーザーに SupportUser アクセスを提供するロールを作成します。この手順を開始する前に、IAM ユーザーの ARN をクリップボードにコピーします。

IAM ユーザーのロールを作成するには

  1. AWS サインインユーザーガイドの「AWS へのサインイン方法」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。

  2. [コンソールホーム] のページで、IAM サービスを選択します。

  3. IAM コンソールのナビゲーションペインで、[ロール]、[ロールの作成] の順に選択します。

  4. [AWS アカウント] のロールタイプを選択します。

  5. [信頼できるエンティティの選択][信頼できるエンティティの種類] で、[カスタム信頼ポリシー] を選択します。

  6. [カスタム信頼ポリシー] セクションで、基本的な信頼ポリシーを確認してください。このロールではこれを使用します。[ステートメントの編集] エディターを使用して信頼ポリシーを更新します。

    1. [STS のアクションを追加] で、[役割を引き受ける] を選択します。

    2. [プリンシパルの追加] の横にある [追加] を選択します。[プリンシパルの追加] ウィンドウが開きます。

      [プリンシパルの種類] で、[IAM ユーザー] を選択します。

      [ARN] の下に、コピーした IAM ユーザー ARN をクリップボードに貼り付けます。

      [プリンシパルを追加] を選択します。

    3. 信頼ポリシーの Principal 行に、指定した ARN が含まれていることを確認します。

      "Principal": { "AWS": "arn:aws:iam::123456789012:user/username" }

  7. ポリシーの検証中に生成されたセキュリティ警告、エラー、または一般的な警告を解決してから、[Next] (次へ) を選択します。

  8. [アクセス許可の追加] で、適用するアクセス許可ポリシーの横にあるチェックボックスを選択します。このチュートリアルでは、[SupportUser] 信頼ポリシーを選択します。その後、このロールを使用して、AWS アカウント とのトラブルシューティングと問題解決を行ったり、AWS とのサポートケースを開いたりできます。現時点では、アクセス許可の境界を設定するつもりはありません。

  9. [Next] (次へ) をクリックします。

  10. [名前、確認、作成] で、これらの設定を完了します。

    • [ロール名] に、SupportUserRole など、このロールであることを識別できる名前を入力します。

    • [説明] に、ロールの使用目的を説明してください。

    他の AWS リソースがロールを参照している場合があるため、作成後はロールの名前を変更できません。

  11. [ロールの作成] を選択します。

    ロールが作成されたら、このロールを必要とするユーザーとロール情報を共有します。ロール情報は次の方法で共有できます。

    • ロールリンク: 詳細がすべて既に入力されている [Switch Role] (ロールの切り替え) ページへのリンクをユーザーに送信します。

    • アカウント ID またはエイリアス: ロール名とアカウント ID 番号またはアカウントのエイリアスを各ユーザーに提供します。これにより、ユーザーは [ロールの切り替え] ページに移動し、詳細を手動で追加できます。

    • ロールリンク情報を EmergencyAccess ユーザーの認証情報と共に保存します。

    詳細については、「ユーザーへの情報の提供」を参照してください。

最初の IAM ポリシーの作成

IAM ポリシーは、IAM ID (ユーザー、ユーザーのグループ、またはロール) または AWS リソースにアタッチします。ポリシーは AWS のオブジェクトであり、アイデンティティやリソースに関連付けられると、これらの許可を定義します。

最初の IAM ポリシーを作成するには

  1. AWS サインインユーザーガイドの「AWS へのサインイン方法」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。

  2. [コンソールホーム] のページで、IAM サービスを選択します。

  3. ナビゲーションペインで [Policies] (ポリシー) を選択します。

    [Policies] (ポリシー) を初めて選択する場合は、[Welcome to Managed Policies] (マネージドポリシーにようこそ) ページが表示されます。[Get Started] (今すぐ始める) を選択します。

  4. [Create policy] (ポリシーを作成) を選択します。

  5. [ポリシーを作成] ページで、[アクション] を選択し、[ポリシーをインポート] を選択します。

  6. [ポリシーをインポート] ウィンドウの [ポリシーを検索] ボックスで、ポリシーのリストを減らすために power と入力します。[PowerUserAccess] ポリシーを選択します。

  7. [ポリシーをインポート] を選択します。ポリシーは [JSON] タブに表示されます。

  8. [Next] (次へ) をクリックします。

  9. [確認および作成] ページで、[ポリシー名]PowerUserExamplePolicy と入力します。説明 に「Allows full access to all services except those for user management」と入力します。次に、[ポリシーの作成] を選択してポリシーを保存します。

このポリシーをロールにアタッチすると、そのロールを引き受けるユーザーにこのポリシーに関連する権限を与えることができます。[PowerUserAccess] ポリシーは、開発者にアクセスを提供するためによく使用されます。

プログラム的なアクセス

AWS Management Console の外部で AWS を操作するには、ユーザーはプログラムによるアクセスが必要です。プログラムによるアクセスを許可する方法は、AWS にアクセスしているユーザーのタイプによって異なります。

  • IAM Identity Center で ID を管理する場合、AWS API にはプロファイルが必要で、AWS Command Line Interface にはプロファイルまたは環境変数が必要です。

  • IAM ユーザーがいる場合、AWS API と AWS Command Line Interface にはアクセスキーが必要です。可能な限り、アクセスキー ID、シークレットアクセスキー、および認証情報の失効を示すセキュリティトークンが含まれる一時的な認証情報を作成します。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。

プログラマチックアクセス権を必要とするユーザー To 方法

ワークフォースアイデンティティ

(IAM Identity Center で管理されているユーザー)

短期認証情報を使用して、AWS CLI または AWS API (直接または AWS SDK を使用して) へのプログラムによるリクエストに署名します。

使用するインターフェイスの指示に従ってください。

  • AWS CLI については、AWS IAM Identity Center ユーザーガイドの「Getting IAM role credentials for CLI access」(CLI アクセス用の IAM ロール認証情報の取得) の指示に従ってください。

  • AWS API については、「AWS SDK およびツールリファレンスガイド」の「SSO 認証情報」の指示に従ってください。

IAM 短期認証情報を使用して、AWS CLI または AWS API (直接または AWS SDK を使用して) へのプログラムによるリクエストに署名します。 AWS リソースでの一時的な認証情報の使用」の指示に従ってください。
IAM 長期間の認証情報を使用して、AWS CLI または AWS API (直接またはAWS SDK を使用して) へのプログラムによるリクエストに署名します。

(非推奨)

IAM ユーザーのアクセスキーの管理」の指示に従ってください。