active directoryと認証・認可

33
Active Directory ととと とと

Upload: hiroki-kamata

Post on 14-Apr-2017

223 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Active directoryと認証・認可

Active Directoryと認証・認可

Page 2: Active directoryと認証・認可

アジェンダ1.あなた誰?2.改めて。 Active Directoryとは?3. Active Directoryにおける認証・認可4. ADFSって何ですか?5.実際に Active Directoryのアカウントで認証認可してみるデモ

6.クレームルールを見てみよう7.まとめ

2

Page 3: Active directoryと認証・認可

1.あなた誰?

3

Page 4: Active directoryと認証・認可

あなた誰?•鎌田裕樹 (かまたひろき )

₋ facebook.com/kamatahiroki₋日本酒好き

•サーバーワークス所属の AWSエンジニア•主な経歴

₋ Linuxのミドルウェア構築のインフラエンジニア₋ 6万台規模のシンクライアント構築案件で PL/技術担当₋プログラム開発 (Webサイト制作、業務システム開発 )

•得意分野₋シンクライアント₋ Active Directoryを中心とした認証 /認可システム₋ Linuxを使ったミドルウェア構築 4

Page 5: Active directoryと認証・認可

5

Page 6: Active directoryと認証・認可

2. 改めて。Active Directoryとは?

7

Page 7: Active directoryと認証・認可

8

Active Directoryとは•Windows Server 2000より提供されている、ディレクトリサービスの名称•ユーザーとコンピューターを管理するコンポーネント群•ドメインと呼ばれるユーザーとコンピューターを管理する単位がある•ユーザーやコンピューターを登録し、ドメイン管理のユーザーであるか、ドメイン管理のコンピューターであるか、識別するために主に利用

Page 8: Active directoryと認証・認可

9

Active Directoryの基本機能1-ドメインコントローラー•ユーザーやコンピューターを登録し、ドメイン管理のユーザーであるか、ドメイン管理のコンピューターであるか、識別する機能•ドメイン参加したコンピューターに Active DirectoryのIDでログインすると、他のドメイン参加したコンピューターの共有フォルダにアクセスしたい、という場合でもログインした時のアカウント情報を使うので、アカウント情報を2度入れる必要がない

Page 9: Active directoryと認証・認可

10

Active Directoryの基本機能2-ユーザー情報を管理するデータベース•ディレクトリサービスの本領発揮な機能•ユーザーに関する情報を登録する項目があらかじめ決まっていて、そこに情報を入れていく•ここに登録した情報で、アクセス制御をすることも可能

Page 10: Active directoryと認証・認可

11

Active Directoryの基本機能3-グループポリシー•ドメイン管理下のユーザーの OSの動作をカスタマイズする機能•ここの部署だけカスタマイズ、みたいなことも当然できる•会社支給のパソコンで「もうすぐパスワードが切れます」の通知が来てたら、この機能で行われている

Page 11: Active directoryと認証・認可

3. Active Directoryにおける認証・認可

12

Page 12: Active directoryと認証・認可

13

認証とは「認証」とは、本人確認の機能を指します。一般的には、ユーザー名とパスワードを入力して、本人かどうかの確認をしますが、これが「認証」です。認証を行うシステムとして、 Active Directoryが使われています。認証に成功すると、 TGT(Ticket Granting Ticket)というチケットを Active Directoryに発行してもらえます。

Page 13: Active directoryと認証・認可

14

認可とは「認可」とは、ユーザーがリソースにアクセス可能か確認する機能を指します。承認 (認可 )では、承認 (認可 )されると ST(Service Ticket)というチケットが Active Directoryによって発行され、STの有無によって、アクセス可能かどうかを判定しています。

Page 14: Active directoryと認証・認可

15

しかし・・・

残念ながら、 Active Directoryで発行してもらった情報は、

Windowsの世界でしか使えません!

Page 15: Active directoryと認証・認可

16

しかし・・・

残念ながら、 Active Directoryで発行してもらった情報は、

Windowsの世界でしか使えません!

マジすか

Page 16: Active directoryと認証・認可

17

そこで

Active Directory Federation Service(ADFS)サーバーが登場します。ADFSサーバーが、外部との認可に必要な情報を生成し、やり取りしてくれます。

Page 17: Active directoryと認証・認可

4. ADFSって何ですか?

18

Page 18: Active directoryと認証・認可

19

ADFSとは•Active Directory Federation Service(ADFS)が正式名称•外部サービス (SaaSなど )との認可に必要な情報を生成し、シングルサインオン (SSO)を提供する•ADの情報では外部サービスは理解してくれないので、別に決められた方式で情報を生成する必要がある

Page 19: Active directoryと認証・認可

ADFSを掘り下げます。

20

Page 20: Active directoryと認証・認可

21

トークンとクレームADFSを使った認可では、認可されると「トークン」と呼ばれる情報を生成し、やり取りが行われます。トークンの中身の1つ1つの情報を「クレーム」と呼びます。このクレームに入れることが出来る情報のソースとして、Active Directoryの情報を使うことが出来ます。

Page 21: Active directoryと認証・認可

22

トークンの流れ

Page 22: Active directoryと認証・認可

23

クレームベースセキュリティADFSサーバーを使った方式では、外部サービス側では ID情報を作りません。(例えば AWSでは IAMロールを作成するのみで、 IAMアカウントは作成しません。 )この連携方式を、「クレームベースセキュリティ」と呼びます。

Page 23: Active directoryと認証・認可

24

ID連携一方、外部サービス側にもアカウントを作成する方式は、「 ID連携」と呼ばれます。ID連携の際に、外部サービス側に IDを登録するプロセスが「プロビジョニング」という名前で呼ばれています。

Page 24: Active directoryと認証・認可

25

CPと RPADFSで、認証を行う側は Claim Provider(CP)、認可を行う側は Relying Party(RP)と呼びます。

CP側は Active Directory、 RP側は SaaSサービス、と考えると分かりやすいでしょう。

Page 25: Active directoryと認証・認可

良く分からないと思うので、デモを見て頂きましょう。

26

Page 26: Active directoryと認証・認可

5.実際に Active Directoryのアカウントで認証認可してみるデモ

27

Page 27: Active directoryと認証・認可

6.クレームルールを見てみよう28

Page 28: Active directoryと認証・認可

29

クレームルールとは• ADFSで、外部サービスに渡す情報を加工することができますが、そのルールを書く時に使うのが「クレームルール」です•日本語では要求規則などと訳されています•MicroSoftが独自に定めた方式で書きます

Page 29: Active directoryと認証・認可

30

クレームルールの例

c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/AWS-"));

Page 30: Active directoryと認証・認可

31

クレームルールの例

c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/AWS-"));

ざっくり訳;ADアカウントのユーザーが AWS-で始まるグループに所属していたら、指定した AWSアカウントの IAMロール AWS-で始まり、ADのグループ名と後ろが同じのロールになるようにしなさい。

Page 31: Active directoryと認証・認可

7.まとめ32

Page 32: Active directoryと認証・認可

33

まとめ•認証・認可で Active Directoryは有用

•ADFSまで使いこなせば、 SSO 環境も簡単(?)に作れる

Page 33: Active directoryと認証・認可

ご静聴ありがとうございました

34