

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用した直接 IAM フェデレーションアプリケーションの 1 回限りのセットアップ ADFS
<a name="emergency-access-one-time-setup-direct-IAM-federation-application-in-adfs"></a>

このガイドでは、IAM Identity Center が利用できない場合に への緊急アクセスを有効にするADFSために、 との直接 IAM フェデレーションを設定する 1 AWS アカウント 回限りのセットアッププロセスについて説明します。

## 前提条件
<a name="emergency-access-adfs-prerequisites"></a>

 AWS Managed Microsoft AD ADFSで を設定する場合は、まず[マルチリージョンレプリケーションを設定し](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_configure_multi_region_replication.html)、回復性のためにプライマリリージョンではなく、追加のリージョンで次のステップに進むことをお勧めします。

## Active Directory グループの命名規則を計画する
<a name="emergency-access-adfs-plan-naming"></a>

グループ名と IAM ロールの自動マッチングを可能にする特定の命名パターンを使用して AD AWS グループを作成します。

**グループ命名形式**: `AWS-<AccountNumber>-<RoleName>`

図については、[緊急時のロール、アカウント、グループのマッピングを設計する方法](emergency-access-mapping-design.md) の図の緊急アカウントを参照してください。ユーザーがこのグループに割り当てられると、アカウント の`EmergencyAccess_Role1_RO`ロールへのアクセス権が付与されます`123456789012`。ユーザーが複数のグループに関連付けられている場合、 によって使用可能なロールのリストが表示され AWS アカウント 、引き受けるロールを選択できます。

## AWS 設定
<a name="emergency-access-adfs-aws-configuration"></a>

完全なセットアップには、緊急アクセスアカウントとワークロードアカウントの設定が含まれます。セットアップ全体の図については、「」を参照してください[緊急時のロール、アカウント、グループのマッピングを設計する方法](emergency-access-mapping-design.md)。

1. [SAML ID プロバイダーを作成する](#emergency-access-adfs-create-saml-provider)

1. [緊急アクセスロールを作成する](#emergency-access-adfs-create-roles)

1. [ワークロードアカウントロールを設定する](#emergency-access-adfs-configure-workload-accounts)

### SAML ID プロバイダーを作成する
<a name="emergency-access-adfs-create-saml-provider"></a>

緊急アクセスアカウントで、「IAM で SAML ID プロバイダーを作成する」の[手順に従って、IAM で SAML ID プロバイダー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html)を作成します。ADFS サーバーから必要なメタデータをダウンロードします。

`https://<yourADFSserverFQDN>/FederationMetadata/2007-06/FederationMetadata.xml`

### 緊急アクセスロールを作成する
<a name="emergency-access-adfs-create-roles"></a>

信頼できるエンティティタイプとして SAML 2.0 フェデレーションを使用して、緊急アカウントに緊急[アクセスロールを作成します](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)。前のステップで作成した SAML 2.0 プロバイダーを選択します。

**考慮事項**:
+ **運用しているすべてのリージョンを含める** — アクティブなワークロードがあるすべてのリージョンを選択して、リージョンの中断時にフェデレーションが引き続き利用可能になるようにします。
+ 1 つの**リージョンで運用している場合でも、少なくとも 1 つの追加のリージョンエンドポイントを設定します**。たとえば、 でのみ運用している場合は`us-east-1`、 をセカンダリエンドポイント`us-west-2`として追加します。IdP を SAML `us-west-2` サインインエンドポイントにフェイルオーバーしても、 のワークロードがなくても`us-east-1`リソースにアクセスできます`us-west-2`。
+ **非リージョンエンドポイントとリージョンエンドポイントの両方を有効にする** — 非リージョンエンドポイント (`https://signin.aws.amazon.com/saml`) は高可用性ですが、単一の でホストされます。一方`us-east-1`、リージョンエンドポイント (`https://<region>.signin.aws.amazon.com/saml`) は AWS リージョン、単一のグローバルエンドポイントへの依存を減らすことで回復性を向上させます。

**信頼ポリシーを設定する**

複数のサインインリージョンエンドポイントを持つ信頼ポリシーの例[Okta でダイレクト IAM フェデレーションアプリケーションの 1 回限りの設定を行う](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)については、「」を参照してください。サンプルリージョンエンドポイントと SAML プロバイダー ARNs を に置き換えます。

**アクセス許可ポリシーを設定する**

緊急アクセスロールにアタッチするアクセス許可ポリシーの例[Okta でダイレクト IAM フェデレーションアプリケーションの 1 回限りの設定を行う](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)については、「」を参照してください。

### ワークロードアカウントロールを設定する
<a name="emergency-access-adfs-configure-workload-accounts"></a>

ワークロードアカウントロールには、緊急アクセスアカウントの緊急アクセスロールが引き受けることを許可するカスタム信頼ポリシーを設定します。アカウント`123456789012`が緊急アクセスアカウントである信頼ポリシーの例[Okta でダイレクト IAM フェデレーションアプリケーションの 1 回限りの設定を行う](emergency-access-one-time-setup-direct-IAM-federation-application-in-idp.md)については、「」を参照してください。

## Active Directory の設定
<a name="emergency-access-adfs-ad-configuration"></a>

次の手順では、緊急アクセスADFS用に Active Directory と を設定する方法について説明します。

1. [グループの作成](#emergency-access-adfs-create-groups)

1. [証明書利用者を作成する](#emergency-access-adfs-create-relying-party)

1. [クレームルールを作成する](#emergency-access-adfs-create-claim-rules)

### グループの作成
<a name="emergency-access-adfs-create-groups"></a>

前述の命名規則 ( など`AWS-123456789012-EmergencyAccess_Role1_RO`) に従って、Active Directory に緊急グループを作成します。既存のプロビジョニングメカニズムを使用して、これらのグループにユーザーを割り当てます。

### 証明書利用者を作成する
<a name="emergency-access-adfs-create-relying-party"></a>

ADFS フェデレーションには、証明書利用者の設定が必要です。証明書利用者は AWS Security Token Service (AWS STS) であり、ID プロバイダーADFSとして に認証をアウトソースします。

1. ADFS マネジメントコンソールで、アクションメニューを使用して**、証明書利用者の信頼の追加**を選択します。証明書利用者を追加するときに**認識するクレーム**を選択します。

1. フェデレーションメタデータの場合は、IAM コンソールの ID プロバイダーメタデータ情報からメタデータ URL を入力します。例えば、次のようになります。

   `https://signin.aws.amazon.com/static/saml/SAMLSPXXXXXX/saml-metadata.xml`

1. 証明書利用者の表示名 (**AWS アカウントアクセス**など) を設定し、**次へ**を選択します。

1. アクセスを有効にするユーザーを選択します AWS。特定のグループを選択し、MFA などの要件を定義できます。

1. 完了ページで**閉じる**を選択して、証明書利用者信頼の追加ウィザードを完了します。 AWS は証明書利用者として設定されました。

### クレームルールを作成する
<a name="emergency-access-adfs-create-claim-rules"></a>

ADFS はクレームルール言語を使用して、クレームプロバイダーと証明書利用者の間でクレームを発行および変換します。、NameId、RoleSessionNameGet AD Groups、および AWS アクセス用のロールの 4 つのクレームルールを作成する必要があります。

証明書利用者を右クリックし、**クレーム発行ポリシーの編集**を選択します。**ルールの追加** を選択してルールを追加します。

**1NameId**.

1. **受信クレームの変換**を選択し、**次へ**を選択します。

1. 以下の設定を使用します。
   + クレームルール名: `NameId`
   + 受信クレームタイプ: `Windows Account Name`
   + 送信クレームタイプ: `Name ID`
   + 送信名 ID 形式: `Persistent Identifier`
   + すべてのクレーム値をパススルーする: チェック

1. [**OK**] を選択してください。

**2。 RoleSessionName**

1. **[ルールの追加]** を選択します。

1. クレームルールテンプレートリストで、**クレームとして LDAP 属性を送信する**を選択します。

1. 以下の設定を使用します。
   + クレームルール名: `RoleSessionName`
   + 属性ストア: `Active Directory`
   + LDAP 属性: `E-Mail-Addresses`
   + 送信クレームタイプ: `https://aws.amazon.com/SAML/Attributes/RoleSessionName`

1. [**OK**] を選択してください。

**3。AD グループの取得**

1. **[ルールの追加]** を選択します。

1. クレームルールテンプレートリスト**で、カスタムルールを使用してクレームを送信する**を選択し、次**へ**を選択します。

1. クレームルール名に を入力し`Get AD Groups`、カスタムルールに次のように入力します。

   ```
   c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
   => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
   ```

   このカスタムルールは、クレームルール言語のスクリプトを使用して、認証されたユーザーがメンバーであるすべてのグループを取得し、 という名前の一時クレームに配置します`http://temp/variable`。
**注記**  
予期しない結果を避けるため、末尾に空白がないことを確認します。

**4. ロール属性**

1. **[ルールの追加]** を選択します。

1. クレームルールテンプレートリスト**で、カスタムルールを使用してクレームを送信**を選択し、次**へ**を選択します。

1. クレームルール名に を入力し`Roles`、カスタムルールに次のように入力します。

   ```
   c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-([\d]{12})"]
   => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-([\d]{12})-", "arn:aws:iam::$1:saml-provider/<ADFS>,arn:aws:iam::$1:role/"));
   ```

   このカスタムルールは正規表現を使用して、フォームの各グループメンバーシップを が AWS 想定する `AWS-<Account Number>-<Role Name>` IAM ロール ARN および IAM フェデレーションプロバイダー ARN フォームに変換します。
**注記**  
上記のルール言語例では、 は ID プロバイダーのセットアップで SAML ID AWS プロバイダーに与えられた論理名`ADFS`を表します。これは、ID プロバイダーの IAM コンソールで選択した論理名に基づいて変更します。

## 設定をテストする
<a name="emergency-access-adfs-test-configuration"></a>

で を認証して、ソリューションが機能することをテストします`https://<yourADFSserverFQDN>/adfs/ls/IdpInitiatedSignOn.aspx`。サイトのドロップダウンリストから、作成した証明書利用者の名前を選択します。

## でデフォルトの SAML アサーションエンドポイントを更新する ADFS
<a name="emergency-access-adfs-update-saml-endpoint"></a>

**重要**  
で証明書利用者の信頼を設定する場合ADFS、SAML Assertion エンドポイントはデフォルトで に設定されます。 `https://signin.aws.amazon.com/` はグローバルエンドポイントではなく、 にあります`us-east-1`。デフォルトのエンドポイントを、IAM アイデンティティセンターの回復性が設定されている とは異なるリージョンエンドポイントに変更することをお勧めします。たとえば、IAM アイデンティティセンターが にデプロイ`us-east-1`されていて、 でも操作している場合は`us-west-2`、デフォルトの SAML Assertion コンシューマーエンドポイントを に変更します`https://us-west-2.signin.aws.amazon.com/saml`。

1. 証明書利用者の信頼の**プロパティ**を選択し、**モニタリング**タブに移動します。チェックボックスをオフにして、**証明書利用者を自動的に更新します**。

1. **エンドポイント**タブに移動し、任意のサインインエンドポイントを選択し、**編集**を選択します。

1. チェックボックスをオンにします**。信頼された URL をデフォルトに設定します**。**OK** を選択し、設定**を適用**して有効にします。

**注記**  
ほとんどの IdPs では、必要になるまでアプリケーション統合を無効にしておくことができます。緊急アクセスが必要となるまで、IdP のダイレクト IAM フェデレーションアプリケーションを無効にしたままにしておくことをお勧めします。