IAM で SAML ID プロバイダーを作成する - AWS Identity and Access Management

IAM で SAML ID プロバイダーを作成する

IAM SAML 2.0 ID プロバイダーは、SAML 2.0 (Security Assertion Markup Language 2.0) 基準をサポートする外部 ID プロバイダー (IdP) を記述する IAM のエンティティです。SAML 互換 IdP 間 (Shibboleth か Active Directory フェデレーションサービスと AWS など) の信頼を確立し、組織内のユーザーが AWS リソースにアクセスできるようにする場合は、IAM ID プロバイダーを使用します。IAM の SAML プロバイダーは IAM 信頼ポリシーでプリンシパルとして使用されます。

このシナリオの詳細については、「SAML 2.0 フェデレーション」を参照してください。

AWS Management Console または AWS CLI、Tools for Windows PowerShell、または AWS API 呼び出しを使用して IAM ID プロバイダーを作成および管理できます。

SAML プロバイダーを作成した後、IAM ロールを作成する必要があります。ロールは AWS のアイデンティティであり、それ自体には (ユーザーのような) 認証情報がありません。しかし、この例で、ロールが動的に割り当てられるフェデレーティッドユーザーは、組織の IdP から認証されます。このロールで、組織の IdP が AWS にアクセスするための一時的なセキュリティ認証情報をリクエストできるようにします。ロールに割り当てられているポリシーは、フェデレーティッドユーザーが AWS で実行できることを決定します。SAML フェデレーション用のロールを作成するには、「サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する」を参照してください。

ロールを作成した後、最後に AWS およびフェデレーティッドユーザーが使用するロールに関する情報で IdP を設定し、SAML の信頼を完了します。これを、IdP と AWS 間の証明書利用者の設定といいます。証明書利用者の信頼を設定するには、「証明書利用者の信頼およびクレームの追加によって SAML 2.0 IdP を設定する」を参照してください。

前提条件

SAML ID プロバイダーを作成する前に、IdP から次の情報を取得しておく必要があります。

  • IdP から SAML メタデータドキュメントを取得します。このドキュメントには発行者の名前、失効情報、およびキーが含まれており、これらを使用して、IdP から受け取った SAML 認証レスポンス (アサーション) を検証できます。メタデータドキュメントを生成するには、外部 IdP として提供されている ID 管理ソフトウェアを使用します。

    重要

    このメタデータファイルには発行者の名前、失効情報、およびキーが含まれており、これらを使用して、IdP から受け取った SAML 認証レスポンス (アサーション) を検証できます。メタデータファイルはバイトオーダーマーク (BOM) なしで UTF-8 形式でエンコードする必要があります。BOM を削除するには、Notepad++ などのテキスト編集ツールを使用して UTF-8 としてファイルをエンコードできます。

    SAML メタデータドキュメントの一部として含まれている x.509 証明書では、少なくとも 1024 ビットのキーサイズを使用する必要があります。また、x.509 証明書には、拡張領域が繰り返されていないことが必要です。拡張領域は使用できますが、証明書に 1 回しか出現できません。x.509 証明書がいずれかの条件を満たしていない場合、IdP の作成は失敗し、「メタデータを解析できない」エラーが返されます。

    SAML V2.0 メタデータ相互運用性プロファイルバージョン 1.0 で定義されているように、IAM はメタデータドキュメントの X.509 証明書の有効期限を評価したりアクションを実行したりすることはできません。

必要な SAML メタデータドキュメントの生成方法を含め、使用可能な多くの IdP を AWS と連携するように設定するステップについては、「サードパーティーの SAML ソリューションプロバイダーを AWS に統合する」を参照してください。

SAML フェデレーションの詳細については、「Troubleshooting SAML federation」を参照してください。

IAM SAML ID プロバイダーを作成および管理する (コンソール)

AWS Management Console​ を使用して、IAM SAML ID プロバイダーの作成、更新、および削除を実行できます。SAML フェデレーションの詳細については、「Troubleshooting SAML federation」を参照してください。

IAM SAML ID プロバイダーを作成するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[ID プロバイダー] を選択し、[プロバイダーを追加] を選択します。

  3. [プロバイダーの設定] で、[SAML] を選択します。

  4. ID プロバイダーの名前を入力します。

  5. [メタデータドキュメント] で、[ファイルを選択] を選択し、前提条件 でダウンロードした SAML メタデータドキュメントを指定します。

  6. (オプション) [タグの追加] では、キーバリューのペアを追加して IdP の特定と整理を行うことができます。タグを使用して、AWS リソースへのアクセスを制御することもできます。SAML ID プロバイダーのタグ付けの詳細については、「IAM SAML ID プロバイダーにタグ付けする」を参照してください。

    [タグを追加] を選択します。タグキーバリューのペアごとに値を入力します。

  7. 入力した情報を確認します。完了したら、[プロバイダーを追加] を選択します。

  8. ID プロバイダーに IAM ロールを割り当てます。このロールは、ID プロバイダーによって管理される外部ユーザー ID に、アカウント内の AWS リソースへのアクセス許可を付与します。ID フェデレーション用のロールの作成の詳細については、「サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する」をご参照ください。

    注記

    ロール信頼ポリシーで使用される SAML IDP は、そのロールと同じアカウントにある必要があります。

SAML プロバイダーを削除するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[ID プロバイダー] を選択します。

  3. 削除する ID プロバイダーの横にあるラジオボタンをオンにします。

  4. [削除] を選択します。新しいウィンドウが開きます。

  5. フィールドに単語 delete を入力して、プロバイダーを削除することを確認します。その後、[削除] をクリックします。

IAM SAML ID プロバイダーを作成および管理する (AWS CLI)

AWS CLI​ を使用して、SAML プロバイダーの作成、更新、および削除を実行できます。SAML フェデレーションの詳細については、「Troubleshooting SAML federation」を参照してください。

IAM ID プロバイダーを作成してメタデータドキュメントをアップロードするには (AWS CLI)
IAM SAML ID プロバイダーを更新するには (AWS CLI)
既存の IAM ID プロバイダー (AWS CLI) にタグを付けるには
既存の IAM ID プロバイダー (AWS CLI) のタグを一覧表示するには
既存の IAM ID プロバイダー (AWS CLI) のタグを削除するには
IAM SAML ID プロバイダーを削除するには (AWS CLI)
  1. (オプション) すべてのプロバイダーに関する ARN、作成日、失効などの情報を表示するには、次のコマンドを実行します。

  2. (オプション) ARN、作成日、有効期限、暗号化の設定、プライベートキーの情報など、特定のプロバイダーに関する情報を取得するには、次のコマンドを実行します。

  3. IAM ID プロバイダーを削除するには、次のコマンドを実行します。

IAM SAML ID プロバイダーを作成および管理する (AWS API)

AWS​ API を使用して、SAML プロバイダーの作成、更新、および削除を実行できます。SAML フェデレーションの詳細については、「Troubleshooting SAML federation」を参照してください。

IAM ID プロバイダーを作成してメタデータドキュメントをアップロードするには (AWS API)
IAM SAML ID プロバイダーを更新するには (AWS API)
既存の IAM ID プロバイダーにタグを付けるには (AWS API)
既存の IAM ID プロバイダーのタグを一覧表示するには (AWS API)
既存の IAM ID プロバイダーのタグを削除するには (AWS API)
IAM ID プロバイダーを削除するには (AWS API)
  1. (オプション) すべての IdP に関する ARN、作成日、失効などの情報を表示するには、次のオペレーションを呼び出します。

  2. (オプション) ARN、作成日、有効期限、暗号化の設定、プライベートキーの情報など、特定のプロバイダーに関する情報を取得するには、次のオペレーションを呼び出します。

  3. IdP を削除するには、次のオペレーションを呼び出します。

次のステップ

SAML ID プロバイダーを作成したら、IdP に対して証明書利用者の信頼を確立します。また、IdP の認証レスポンスからのクレームをポリシーで使用して、ロールへのアクセスを制御することもできます。

  • サービスプロバイダーとしての AWS について IdP に通知する必要があります。これは、IdP と AWS の間に証明書利用者の信頼を追加することと呼ばれます。証明書利用者の信頼を追加するための正確なプロセスは、使用する IdP によって異なります。詳細については、「証明書利用者の信頼およびクレームの追加によって SAML 2.0 IdP を設定する」を参照してください。

  • IdP が AWS へのクレームを含むレスポンスを送信すると、多くの受信クレームは AWS コンテキストキーにマッピングされます。これらのコンテキストキーを IAM ポリシーの Condition 要素に指定して、ロールへのアクセスを制御できます。詳細については、「認証レスポンス用の SAML アサーションを設定する」を参照してください。