Microsoft Active Directoryのフェデレート
このトピックでは、Microsoft Active Federation Services (AD FS)を使用してMicrosoft Active Directoryとフェデレートする方法について説明します。
Microsoft Active Directoryのフェデレートについて
組織は複数のActive Directoryアカウントを持つことができます(たとえば、組織の部門ごとに1つ)。複数のActive DirectoryアカウントをOracle Cloud Infrastructureとフェデレートできますが、設定した各フェデレーション・トラストは、単一のActive Directoryアカウント用である必要があります。
Active Directoryとフェデレートするには、Active DirectoryとOracle Cloud Infrastructureの間の信頼を設定します。この信頼を設定するには、Oracle Cloud Infrastructureコンソールの一部のステップとActive Directory Federation Servicesの一部のステップを実行します。
次は、管理者がActive Directoryのフェデレーションを設定する一般的なプロセスです。各ステップの詳細は、後述の項で説明します。
- Active Directory Federation Servicesから必要な情報を取得します。
-
Oracle Cloud InfrastructureとActive Directoryをフェデレートします。
- テナンシにアイデンティティ・プロバイダ(AD FS)を追加し、必要な情報を指定します。
- Active DirectoryグループをIAMグループにマップします。
- Active Directory Federation Servicesで、Oracle Cloud Infrastructureを信頼できるリライイング・パーティとして追加します。
- Active Directory Federation Servicesで、Oracle Cloud Infrastructureによる認証レスポンスに必要な要求ルールを追加します。
- Active Directoryの資格証明を使用してOracle Cloud Infrastructureにログインし、構成をテストします。
Active Directoryのフェデレート
前提条件
組織のMicrosoft Active Directory Federation Servicesをインストールおよび構成しています。
Oracle Cloud InfrastructureのグループにマップするためにActive Directoryのグループを設定しています。
フィルタ・ルールを簡単に適用できるように、共通の接頭辞を使用してOracle Cloud InfrastructureグループにマップするActive Directoryグループに名前を付けることを検討してください。たとえば、OCI_Administrators、OCI_NetworkAdmins、OCI_InstanceLaunchersです。
ステップ1: Active Directory Federation Servicesから必要な情報を取得する
サマリー: SAMLメタデータ・ドキュメントと、Oracle Cloud Infrastructure Identity and Access ManagementグループにマップするActive Directoryグループの名前を取得します。
-
AD FSフェデレーション・サーバーのSAMLメタデータ・ドキュメントを検索します。デフォルトでは、このURLにあります:
https://<yourservername>/FederationMetadata/2007-06/FederationMetadata.xml
このドキュメントをダウンロードし、保存場所をノートにとります。次のステップで、このドキュメントをコンソールにアップロードします。
-
Oracle Cloud Infrastructure IAMグループにマップするすべてのActive Directoryグループをノートにとります。次のステップで、コンソールにこれらを入力する必要があります。
ステップ2: Oracle Cloud InfrastructureでActive Directoryをアイデンティティ・プロバイダとして追加する
サマリー: アイデンティティ・プロバイダをテナンシに追加します。グループ・マッピングを同時に設定することも、後で設定することもできます。
- コンソールに移動し、Oracle Cloud Infrastructureのログインとパスワードを使用してサインインします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
- 「アイデンティティ・プロバイダの追加」をクリックします。
-
次を入力します:
- 表示名:このフェデレーション・トラストの一意の名前。これは、コンソールへのサインイン時に使用するアイデンティティ・プロバイダを選択する際に、フェデレーテッド・ユーザーに対して表示される名前です。名前は、テナンシに追加するすべてのアイデンティティ・プロバイダで一意である必要があります。これは後で変更できません。
- 説明: わかりやすい説明。
- タイプ:Microsoft Active Directory Federation Service (ADFS)またはSAML 2.0準拠のアイデンティティ・プロバイダを選択します。
- XML:Azure ADからダウンロードしたFederationMetadata.xmlファイルをアップロードします。
- 「拡張オプションの表示」をクリックします。
-
アサーションの暗号化:チェックボックスを選択すると、IAMサービスはIdPからの暗号化を認識します。Azure ADでアサーションの暗号化を有効にしていない場合は、このチェック・ボックスを選択します。
Azure ADでこのシングル・サインオン・アプリケーションのアサーションの暗号化を有効にするには、Azure ADでSAML署名証明書を設定して、SAMLレスポンスおよびアサーションに署名します。詳細は、Azure ADのマニュアルを参照してください。
- 強制認証:デフォルトで選択されています。選択すると、ユーザーは、別のセッションにすでにサインインしている場合でも、IdPに資格証明を提供(再認証)する必要があります。
-
認証コンテキストのクラス参照:このフィールドは、Government Cloudの顧客に必須です。1つ以上の値が指定されている場合、Oracle Cloud Infrastructure (リライイング・パーティ)は、ユーザーの認証時に、指定された認証メカニズムの1つを使用することをアイデンティティ・プロバイダに要求します。IdPから戻されたSAMLレスポンスには、その認証コンテキストのクラス参照とともに認証ステートメントが含まれている必要があります。SAMLレスポンス認証コンテキストがここで指定された内容と一致しない場合、Oracle Cloud Infrastructure認証サービスは400でSAMLレスポンスを否認します。 メニューには、一般的な認証コンテキストのクラス参照がいくつかリストされています。別のコンテキスト・クラスを使用する場合は、「カスタム」を選択してから、クラス参照を手動で入力します。
- リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
- 「続行」をクリックします。
-
Oracle Cloud Infrastructureで、Active DirectoryグループとIAMグループ間のマッピングを設定します。特定のActive Directoryグループを0、1または複数のIAMグループにマップすることも、その逆も可能です。ただし、個々のマッピングは、1つのActive Directoryグループと1つのIAMグループの間のみに存在します。グループ・マッピングに対する変更は、通常はホーム・リージョンで数秒以内に有効になりますが、すべてのリージョンに伝播するまで数分かかることがあります。
ノート
グループ・マッピングを今設定しない場合は、単純に「作成」をクリックして、マッピングを後で追加しなおすことができます。
グループ・マッピングを作成するには:
-
「アイデンティティ・プロバイダ・グループ」で、Active Directoryグループ名を入力します。名前は、大文字と小文字の区別も含めて正確に入力する必要があります。
「OCIグループ」の下のリストから、このグループをマップするIAMグループを選択します。
ヒント
IAMグループ名の要件:空白なし。許可されている文字:英字、数字、ハイフン、ピリオド、アンダースコアおよびプラス記号(+)。名前は後で変更できません。 - 作成するマッピングごとに前述のサブステップを繰り返し、「作成」をクリックします。
-
これで、アイデンティティ・プロバイダがテナンシに追加され、「フェデレーション」ページのリストに表示されます。アイデンティティ・プロバイダをクリックして、設定したばかりの詳細とグループ・マッピングを表示します。
Oracleはアイデンティティ・プロバイダを割り当て、各グループ・マッピングにOracle Cloud ID (OCID)と呼ばれる一意のIDを割り当てます。詳細は、リソース識別子を参照してください。
今後、グループ・マッピングを編集したり、テナンシからアイデンティティ・プロバイダを削除する場合は、「フェデレーション」ページに移動します。
ステップ3: Oracle Cloud Infrastructureフェデレーション・メタデータ・ドキュメントのURLのコピー
サマリー: 「フェデレーション」ページには、Oracle Cloud Infrastructureフェデレーション・メタデータ・ドキュメントへのリンクが表示されます。Active Directory Federation Servicesの構成に進む前に、URLをコピーする必要があります。
-
「フェデレーション」ページで、「このドキュメントのダウンロード」をクリックします。
-
URLをコピーします。URLは次のようになります。
https://auth.r2.oracleiaas.com/v1/saml/ocid1.tenancy.oc1..aaaaaaaaqdt2tvdmhsa3jmvc5dzulgs3pcv6imfwfgdya4aq/metadata.xml
ステップ4: Active Directory Federation Servicesで、信頼できるリライイング・パーティとしてOracle Cloud Infrastructureを追加
- AD FS管理コンソールに移動し、フェデレートするアカウントにサインインします。
-
信頼できるリライイング・パーティとしてOracle Cloud Infrastructureを追加します。
-
AD FS管理コンソールで、AD FSを右クリックして「証明書利用者信頼の追加」を選択します。
-
証明書利用者信頼の追加ウィザードで、「開始」をクリックします。
-
「オンラインまたはローカル ネットワークで公開されている証明書利用者についてのデータをインポートする」を選択します。
ステップ3でコピーしたOracle Cloud Infrastructureフェデレーション・メタデータのURLを貼り付けます。「次」をクリックします。
AD FSがURLに接続されます。フェデレーション・メタデータの読取り中にエラーが発生した場合は、かわりにOracle Cloud Infrastructureフェデレーション・メタデータXMLドキュメントをアップロードできます。
フェデレーション・メタデータ・ドキュメントをアップロードするには- Webブラウザのアドレス・バーにOracle Cloud Infrastructureフェデレーション・メタデータURLを貼り付けます。
- AD FS管理コンソールでアクセス可能な場所にXML文書を保存します。
- 証明書利用者信頼の追加ウィザードの「データ ソースの選択」ステップで、「証明書利用者についてのデータをファイルからインポートする」を選択します。
- 「参照」をクリックし、保存したmetadata.xmlファイルを選択します。
- 「次」をクリックします。
-
リライイング・パーティの表示名(例: Oracle Cloud Infrastructure)を設定して、「次」をクリックします。
- 「現時点ではこの証明書利用者信頼に多要素認証を構成しない」を選択します。
-
該当する発行承認規則を選択して、リライイング・パーティへのすべてのユーザーのアクセスを許可または拒否します。「拒否」を選択した場合は、後で承認規則を追加して、適切なユーザーがアクセスできるようにする必要があります。
「次」をクリックします。
- 設定を確認し、「次へ」をクリックします。
- 「ウィザードの終了時にこの証明書利用者信頼の[要求規則の編集]ダイアログを開く」を選択し、「閉じる」をクリックします。
-
ステップ5: Oracle Cloud Infrastructureリライイング・パーティの要求規則の追加
サマリー: Oracle Cloud Infrastructureで必要な要素(名前IDおよびグループ)がSAML認証レスポンスに追加されるように要求規則を追加します。
名前ID規則を追加します。
- 変換要求規則の追加ウィザードで、「入力方向の要求を変換」を選択し、「次へ」をクリックします。
-
次を入力します:
- 要求ルール名: このルールの名前(例: nameid)を入力します。
- 入力方向の要求タイプ:Windowsアカウント名を選択します。
- 出力方向の要求タイプ:名前IDを選択します。
- 出力方向の名前ID形式:永続的識別子を選択します。
- 「すべての要求値をパス スルーする」を選択します。
- 「完了」をクリックします。
- 規則が規則リストに表示されます。「規則の追加」をクリックします。
グループ規則を追加します。
100を超えるIdPグループに属するユーザーは、Oracle Cloud InfrastructureConsoleを使用するために認証することはできません。認証を有効にするには、次に説明するようにグループ規則にフィルタを適用します。
グループ規則を追加します。
- 要求規則テンプレートで、「カスタム規則を使用して要求を送信」を選択します。「次」をクリックします。
-
変換要求規則の追加ウィザードで、次のように入力します。
- 要求規則名:グループを入力します。
-
カスタム規則:次のカスタム規則を入力します。
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("https://auth.oraclecloud.com/saml/claims/groupName"), query = ";tokenGroups;{0}", param = c.Value); - 「完了」をクリックします。
フィルタを使用してグループ規則を追加します。
Oracle Cloud Infrastructureに送信されるグループを制限するには、2つのカスタム要求規則を作成します。1つ目は、ユーザーが直接または間接的に属しているすべてのグループを取得します。2つ目の規則では、サービス・プロバイダに渡されるグループをフィルタ基準と一致するグループのみに制限するフィルタが適用されます。
1つ目の規則を追加します。
- 「要求規則の編集」ダイアログで、「規則の追加」をクリックします。
- 要求規則テンプレートで、「カスタム規則を使用して要求を送信」を選択します。「次」をクリックします。
-
変換要求規則の追加ウィザードで、次のように入力します。
- 要求規則名:グループなどの名前を入力します。
-
カスタム規則:次のカスタム規則を入力します。
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> add(store = "Active Directory", types = ("https://auth.oraclecloud.com/saml/claims/groupName"), query = ";tokenGroups;{0}", param = c.Value);このカスタム規則では、
issue
のかわりにadd
を使用することに注意してください。このコマンドを実行すると、結果がサービス・プロバイダに送信されるかわりに、規則の結果が次の規則に渡されます。 - 「完了」をクリックします。
-
次に、フィルタ規則を追加します。
- 「要求規則の編集」ダイアログで、「規則の追加」をクリックします。
- 要求規則テンプレートで、「カスタム規則を使用して要求を送信」を選択します。「次」をクリックします。
-
変換要求規則の追加ウィザードで、次のように入力します。
- 要求規則名:グループを入力します。
-
カスタム規則:適切なフィルタ規則を入力します。たとえば、文字列「OCI」で始まるグループのみを送信するには、次のように入力します。
c:[Type == "https://auth.oraclecloud.com/saml/claims/groupName", Value =~ "(?i)OCI"] => issue(claim = c);
この規則は、最初の規則のリストを、文字列
OCI
で始まるグループのみにフィルタ処理します。issue
コマンドは、サービス・プロバイダに規則の結果を送信します。組織に適した基準でフィルタを作成できます。
カスタム規則用のAD FS構文の詳細は、MicrosoftドキュメントのAD FS 2.0以上での要求規則言語の理解を参照してください。
- 「完了」をクリックします。
ステップ6: グループに対するIAMポリシーの設定
まだIAMポリシーを設定していない場合は、組織のOracle Cloud Infrastructureリソースに対するフェデレーテッド・ユーザーのアクセスを制御するために設定します。詳細は、ポリシーの開始および共通ポリシーを参照してください。
ステップ7: フェデレーテッド・ユーザーにテナント名およびサインインするURLを指定
フェデレーテッド・ユーザーに、Oracle Cloud InfrastructureコンソールのURL (https://cloud.oracle.com)とテナントの名前を提供します。コンソールにサインインすると、テナント名の入力を求めるプロンプトが表示されます。
コンソールでのアイデンティティ・プロバイダの管理
アイデンティティ・プロバイダのすべてのグループ・マッピングも削除されます。
-
テナンシからアイデンティティ・プロバイダを削除します。
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダをクリックして詳細を表示します。
- 「削除」をクリックします。
- プロンプトが表示されたら確認します。
-
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダをクリックして詳細を表示します。
-
「マッピングの追加」をクリックします。
- 「アイデンティティ・プロバイダ・グループ」で、Active Directoryグループ名を入力します。ここに入力する名前は、Active Directory内の名前と完全一致する必要があります。
-
「OCIグループ」の下のリストから、このグループをマップするIAMグループを選択します。
- さらにマッピングを追加する場合は、「+Anotherマッピング」をクリックします。
- 終了したら、「マッピングの追加」をクリックします。
変更は、通常数秒以内に有効になります。
グループ・マッピングは更新できませんが、マッピングを削除してから新規のものを追加することはできます。
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダをクリックして詳細を表示します。
- 削除するマッピングを選択し、「削除」をクリックします。
- プロンプトが表示されたら確認します。
変更は、通常数秒以内に有効になります。
APIでのアイデンティティ・プロバイダの管理
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
次のAPI操作を使用します。
アイデンティティ・プロバイダ:- CreateIdentityProvider
- ListIdentityProviders
- GetIdentityProvider
- UpdateIdentityProvider
- DeleteIdentityProvider:この操作を使用する前に、DeleteIdpGroupMappingを使用して、アイデンティティ・プロバイダのすべてのグループ・マッピングを削除する必要があります。
- CreateIdpGroupMapping:各グループ・マッピングは、独自のOCIDを持つ個別のエンティティです。
- ListIdpGroupMappings
- GetIdpGroupMapping
- UpdateIdpGroupMapping
- DeleteIdpGroupMapping