ค้นหาเว็บไซต์

วิธีการตั้งค่าการแชร์ไฟล์ Azure ด้วยการตรวจสอบสิทธิ์ AD ภายในองค์กร


หากคุณเป็นผู้ดูแลระบบ Windows คุณอาจอยู่ในโดเมน Active Directory (AD) และเชื่อมต่อกับไฟล์ SMB หลายไฟล์ที่แชร์ทุกวันได้อย่างราบรื่นโดยไม่ต้องคิดมาก เนื่องจาก AD ให้ความสามารถในการลงชื่อเข้าระบบครั้งเดียว (SSO) เพื่อส่งข้อมูลประจำตัวในการเข้าสู่ระบบของคุณไปยังการแบ่งปัน แล้ว Azure Files จะแชร์ล่ะ?

บริการ Azure Files ช่วยให้คุณสร้างการแชร์ SMB ในระบบคลาวด์ที่สนับสนุนโดยบัญชีที่เก็บข้อมูล Azure ตามค่าเริ่มต้น การแชร์ไฟล์ Azure จะได้รับการตั้งค่าเพื่อตรวจสอบสิทธิ์ผู้ใช้ตาม Azure Active Directory (AAD) แต่บางทีคุณอาจไม่ได้ใช้ AAD และอยากจะตรวจสอบสิทธิ์ผู้ใช้ตามโฆษณาภายในองค์กรที่คุณมีอยู่

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีตั้งค่าการแชร์ไฟล์ Azure ที่ได้รับการสนับสนุนโดยบัญชีที่เก็บข้อมูลที่สามารถตรวจสอบสิทธิ์การเข้าถึงของผู้ใช้ในการแชร์โดยอิงตามบัญชีผู้ใช้ AD ภายในองค์กร คุณจะทำทั้งหมดนี้โดยใช้ PowerShell

ไปกันเลย!

ข้อกำหนดเบื้องต้น

โพสต์นี้ส่วนใหญ่จะเป็นการกวดวิชา หากคุณตั้งใจจะปฏิบัติตาม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  • โดเมน Active Directory
  • กลุ่ม Active Directory และผู้ใช้กลุ่มเดียว - บทช่วยสอนนี้จะใช้กลุ่ม AD ชื่อ test-group-1 และบัญชีผู้ใช้ชื่อ test-user-1 พร้อมด้วยรหัสผ่านของ <p@$$w0rd12 เพื่อทดสอบการเข้าถึงการแชร์ไฟล์
  • พีซี Windows 10 ที่เข้าร่วมโดเมนเข้าสู่ระบบด้วยผู้ใช้ที่มีสิทธิ์ในการสร้างวัตถุคอมพิวเตอร์
  • Windows PowerShell เวอร์ชัน 5.1 หรือสูงกว่า บทช่วยสอนจะใช้ PowerShell 7.1
  • ติดตั้งโมดูล Az, ActiveDirectory และ AzFilesHybrid PowerShell แล้ว บทช่วยสอนนี้จะใช้เวอร์ชันต่อไปนี้:

    • อัซ v5.8.0
    • Active Directory เวอร์ชัน 1.0.1.0
    • AzFilesHybrid v0.2.3
  • รับรองความถูกต้องกับ Azure ใน PowerShell โดยใช้ cmdlet Connect-AzAccount
  • บัญชี Azure AD ที่มีสิทธิ์ในการสร้างบัญชีที่เก็บข้อมูล
  • กลุ่มทรัพยากร Azure เพื่อสร้างทรัพยากรสาธิตภายใน บทช่วยสอนจะใช้กลุ่มทรัพยากรที่เรียกว่า ATAAzureFileDemo

สรุปบทช่วยสอน

บทช่วยสอนนี้แบ่งออกเป็นหกขั้นตอน แต่ละขั้นตอนจะต่อยอดจากขั้นตอนก่อนหน้าจนกว่าคุณจะมีการตั้งค่าการแชร์ไฟล์ Azure ที่ทำงานได้อย่างสมบูรณ์ซึ่งจะตรวจสอบสิทธิ์การเข้าถึงจากสภาพแวดล้อม AD ภายในองค์กรของคุณ!

  1. การสร้างบัญชีจัดเก็บข้อมูลใหม่
  2. การสร้างการแชร์ไฟล์ Azure
  3. เข้าร่วมบัญชีพื้นที่เก็บข้อมูลกับโดเมน Active Directory ภายในองค์กรของคุณ
  4. การติดตั้งการแชร์ไฟล์โดยใช้คีย์การเข้าถึงบัญชีที่เก็บข้อมูล
  5. การกำหนดสิทธิ์การแชร์
  6. การต่ออายุรหัสผ่านบัญชีคอมพิวเตอร์ที่กำหนดให้กับบัญชีที่เก็บข้อมูล

ตอนนี้คุณมีความคิดว่าคุณต้องการอะไรแล้ว ให้เปิดคอนโซล PowerShell ของคุณแล้วมาดูการสาธิตกัน!

การสร้างบัญชีการจัดเก็บข้อมูล

หากต้องการตั้งค่าการแชร์ไฟล์ Azure สำหรับการรับรองความถูกต้อง AD ภายในองค์กร คุณต้องสร้างบัญชีที่เก็บข้อมูลที่จะใช้การแชร์ไฟล์ Azure ก่อน ในการทำเช่นนั้น ให้เรียกใช้ cmdlet New-AzStorageAccount เพื่อสร้างบัญชีที่เก็บข้อมูลโดยใช้ ชื่อ กลุ่มทรัพยากร (ResourceGroupName) ภูมิภาค Azure (Location) และ SKU (SkuName) ดังที่แสดงด้านล่าง

ตรวจสอบให้แน่ใจว่าชื่อบัญชีพื้นที่เก็บข้อมูลมีความยาว 15 อักขระหรือน้อยกว่า ภายหลังในบทช่วยสอน คุณจะต้องสร้างบัญชีคอมพิวเตอร์ AD เพื่อใช้แทนบัญชีที่เก็บข้อมูล บัญชีคอมพิวเตอร์ AD มีความยาวได้ไม่เกิน 15 อักขระ

ตัวอย่างด้านล่างนี้สร้างบัญชีพื้นที่จัดเก็บข้อมูลที่ไม่ซ้ำกันทั่วโลกที่เรียกว่า ataazurefiledemo ในภูมิภาค UKWest พร้อมด้วย SKU Standard_LRS คำสั่งด้านล่างนี้ใช้ Standard_LRS SKU เนื่องจากความยืดหยุ่นไม่ได้เป็นปัญหาสำหรับการสาธิตนี้

หากคุณต้องการประสิทธิภาพที่เพิ่มขึ้นจากบัญชีพื้นที่จัดเก็บข้อมูล และต้องการฮาร์ดแวร์ที่ใช้โซลิดสเตต ให้ระบุพารามิเตอร์ Kind ด้วยอาร์กิวเมนต์ FileStorage

New-AzStorageAccount -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile" -Location "ukwest" -SkuName "Standard_LRS"

Microsoft ขอแนะนำให้ปรับใช้การแชร์ไฟล์ Azure ในบัญชีที่เก็บข้อมูลที่มีการแชร์ไฟล์ Azure อื่นๆ เท่านั้น อย่าสร้างทรัพยากรอื่นใด เช่น blobs ตาราง ฯลฯ ในบัญชีที่เก็บข้อมูลนั้น

การสร้างการแชร์ไฟล์ Azure

เมื่อคุณสร้างบัญชีที่เก็บข้อมูลแล้ว ก็ถึงเวลาสร้างการแชร์ไฟล์ Azure หากต้องการดำเนินการดังกล่าว ให้เรียกใช้คำสั่ง PowerShell New-AzRmStorageShare ดังที่แสดงด้านล่าง

คำสั่งด้านล่างสร้างการแชร์ไฟล์ Azure ที่เรียกว่า atafileshare ในกลุ่มทรัพยากร ATAAzureFileDemo ที่ได้รับการสนับสนุนโดยบัญชีพื้นที่เก็บข้อมูลที่เรียกว่า ataazurefile

หากคุณกำลังตั้งค่าการแชร์ไฟล์ Azure นี้ในสภาพแวดล้อมการใช้งานจริง คุณสามารถเลือกระดับการเข้าถึงแบบพรีเมียมหรือแบบ Hot Access ได้

New-AzRmStorageShare -ResourceGroupName "ATAAzureFileDemo" -StorageAccountName "ataazurefile" -Name "atafileshare"

การเข้าร่วมบัญชีการจัดเก็บข้อมูลกับ Active Directory

เมื่อคุณสร้างบัญชีพื้นที่เก็บข้อมูลและแบ่งปันไฟล์แล้ว คุณต้องทำให้บัญชีพื้นที่เก็บข้อมูลนั้นเป็นสมาชิกของโดเมนเป้าหมายของคุณ

หากต้องการเพิ่มบัญชีที่เก็บข้อมูล Azure เป็นสมาชิกของโดเมน Active Directory ภายในองค์กร คุณต้อง:

  1. สร้างคีย์บัญชีที่เก็บข้อมูลสองคีย์เพื่อใช้กับการรับรองความถูกต้อง (หนึ่งคีย์สำหรับการกำหนดค่าการแชร์ในขั้นต้น และอีกหนึ่งคีย์เพื่อหมุนเวียนและต่ออายุบัญชีคอมพิวเตอร์ AD ที่กำลังจะเป็นบัญชีที่บัญชีเก็บข้อมูลจะใช้ในเร็วๆ นี้)
  2. สร้างออบเจ็กต์บัญชีคอมพิวเตอร์ AD ภายในองค์กรสำหรับบัญชีที่เก็บข้อมูลที่บัญชีที่เก็บข้อมูลจะใช้สำหรับการรับรองความถูกต้อง
  3. กำหนดคีย์ Kerberos อันใดอันหนึ่งเป็นรหัสผ่านของออบเจ็กต์คอมพิวเตอร์เพื่อตรวจสอบสิทธิ์บัญชีที่เก็บข้อมูลกับโดเมน
  4. กำหนดชื่อบริการหลัก CIFS (SPN) ให้กับวัตถุคอมพิวเตอร์ของบัญชีที่เก็บข้อมูล กระบวนการตรวจสอบสิทธิ์ Kerberos ต้องใช้ SPN นี้
  5. เปิดใช้งานคุณลักษณะบริการโดเมน Active Directory ในบัญชีที่เก็บข้อมูลเพื่อ "เข้าร่วมโดเมน" บัญชีที่เก็บข้อมูล

เริ่มต้นด้วยการสร้างโทเค็น Kerberos

การสร้างคีย์บัญชี Azure Storage

เช่นเดียวกับบัญชีคอมพิวเตอร์อื่นๆ บัญชีที่เก็บข้อมูลต้องใช้รหัสผ่านเพื่อรับรองความถูกต้องของ AD แต่เนื่องจากบัญชีที่เก็บข้อมูล Azure ไม่ได้รับรหัสผ่าน AD โดยอัตโนมัติ คุณต้องสร้างบัญชีใหม่ ในการทำเช่นนั้น คุณต้องสร้างคีย์บัญชี Azure Storage สองสามคีย์เพื่อใช้เป็นรหัสผ่าน

คีย์บัญชีการจัดเก็บจะทำหน้าที่เป็นรหัสผ่านเมื่อกำหนดค่าการแชร์ไฟล์ในขั้นต้น และเพื่อใช้สำหรับการต่ออายุรหัสผ่านออบเจ็กต์คอมพิวเตอร์ AD ในอนาคต

หากต้องการสร้างคีย์สำหรับบัญชีที่เก็บข้อมูล ให้ดำเนินการคำสั่ง PowerShell New-AzStorageAccountKey โดยระบุ:

  • ชื่อของกลุ่มทรัพยากรที่มีบัญชีที่เก็บข้อมูลอยู่ (ResourceGroupName)
  • ชื่อของบัญชีการจัดเก็บ (ชื่อ)
  • KeyName สำหรับแต่ละโทเค็น

ตัวอย่างด้านล่างนี้ระบุ kerb1 และ kerb2 เป็น KeyName เพื่อให้ระบุคีย์ที่จะใช้สำหรับการตรวจสอบสิทธิ์ในบัญชีที่จัดเก็บข้อมูลนี้ได้อย่างง่ายดาย

New-AzStorageAccountKey -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile" -KeyName "kerb1"
New-AzStorageAccountKey -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile" -KeyName "kerb2"

การสร้างบัญชีคอมพิวเตอร์ Active Directory

เมื่อคุณสร้างคีย์บัญชีที่เก็บข้อมูล Azure แล้ว ก็ถึงเวลาสร้างออบเจ็กต์คอมพิวเตอร์ AD สำหรับบัญชีที่เก็บข้อมูล

หากคุณต้องการอนุญาตการรับรองความถูกต้องข้ามฟอเรสต์ไปยังบัญชีที่เก็บข้อมูล คุณต้องดำเนินการกำหนดค่าเพิ่มเติมบางอย่าง เพื่อความง่าย ให้สร้างออบเจ็กต์คอมพิวเตอร์ AD ของบัญชีพื้นที่เก็บข้อมูลในโดเมนเดียวกันกับที่มีผู้ใช้ที่จะเข้าถึงได้

ขั้นแรก สร้างวัตถุคอมพิวเตอร์ ค้นหาค่าของโทเค็นแรก (kerb1 ในบทช่วยสอนนี้) และบันทึกลงในตัวแปร ($Token) จากนั้น ใช้โทเค็นนั้น สร้างออบเจ็กต์คอมพิวเตอร์โดยใช้คำสั่ง New-ADComputer โดยกำหนดค่าของโทเค็นเป็นรหัสผ่านของบัญชีคอมพิวเตอร์ ดังที่แสดงด้านล่าง

## Find the value of the key you just created by finding all of the storage account keys using Get-AzStorageAccountKey (ListKerbKey) and filter all results for only those matching the key name of kerb1
$Token = (Get-AzStorageAccountKey -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile" -ListKerbKey | Where-Object {$_.KeyName -eq "kerb1"}).Value

## Create the AD computer object called ataazurefile assigning the password as the value of the storage account key. The computer account MUST be the exact same name as the storage account.
New-ADComputer -Name "ataazurefile" -AccountPassword (ConvertTo-SecureString -AsPlainText $Token -Force)

ระบุพารามิเตอร์ เส้นทาง ของ New-AdComputer หากคุณต้องการสร้างบัญชีคอมพิวเตอร์ในหน่วยองค์กรอื่น

การกำหนด CIFS SPN ให้กับวัตถุคอมพิวเตอร์ของบัญชีการจัดเก็บข้อมูล

ตอนนี้คุณได้สร้างวัตถุคอมพิวเตอร์ของบัญชีที่เก็บข้อมูลแล้ว คุณต้องกำหนด CIFS SPN ให้เป็น การรับรองความถูกต้อง Kerberos ใน AD ใช้ SPN นี้เพื่อเชื่อมโยงบริการ CIFS กับบัญชีคอมพิวเตอร์

กำหนด SPN ให้กับวัตถุคอมพิวเตอร์โดยใช้คำสั่ง PowerShell Set-ADComputer ดังที่แสดงด้านล่าง คำสั่งด้านล่างเพิ่ม CIFS SPN ของ ataazurefile.file.core.windows.net ที่แสดงถึงชื่อโดเมนแบบเต็มของบัญชีการจัดเก็บข้อมูล (FQDN) ให้กับ samAccountName ของวัตถุคอมพิวเตอร์ AD ที่เรียกว่า ataazurefile .

หากคุณไม่ทราบ FQDN ของบัญชีที่เก็บข้อมูลของคุณ ให้เรียกใช้ ([uri](Get-AzStorageAccount -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile").PrimaryEndpoints.File).Host

Set-ADComputer -Identity "ataazurefile$" -ServicePrincipalNames @{Add="cifs/ataazurefile.file.core.windows.net"}

การเปิดใช้งานบริการโดเมน Active Directory ในบัญชีที่เก็บข้อมูล

ขั้นตอนสุดท้ายในการเพิ่มบัญชีที่เก็บข้อมูลลงในโดเมน AD ภายในองค์กรของคุณ ตอนนี้คุณต้องเปิดใช้บริการโดเมน AD ในบัญชีที่เก็บข้อมูล การเปิดใช้งานบริการโดเมน AD ในบัญชีที่เก็บข้อมูลจะปิดใช้งานการรับรองความถูกต้องของ Azure AD หากกำหนดค่าไว้ก่อนหน้านี้ และเปิดใช้งานคุณลักษณะ Active Directory ภายในองค์กรสำหรับบัญชีที่เก็บข้อมูล

หากต้องการเปิดใช้งานบริการโดเมน AD บนบัญชีที่เก็บข้อมูล Azure ให้ใช้คำสั่ง PowerShell Set-AzStorageAccount แต่ก่อนอื่น คุณต้องค้นหา GUID, SID และ SID ของบัญชีคอมพิวเตอร์ของโดเมน AD สำหรับบัญชีที่เก็บข้อมูล Azure

ข้อมูลโค้ดด้านล่างนี้ใช้ Get-ADDomain และ Get-ADComputer เพื่อค้นหา GUID และ SID ที่จำเป็นทั้งหมดเพื่อส่งผ่านไปยัง Set-AzStorageAccount จากนั้นใช้ PowerShell splatting เพื่อส่งพารามิเตอร์ไปยัง cmdlet Set-AzStorageAccount เพื่อเปิดใช้งาน AD Domain Services ในบัญชีที่เก็บข้อมูล

เรียนรู้เพิ่มเติมเกี่ยวกับแนวคิดเรื่องการแบ่งพารามิเตอร์ที่นี่!

## Find the on-prem AD domain's GUID
$DomainGuid = (Get-ADDomain -Identity "ata_domain").ObjectGuid.Guid
## Find the on-prem AD domain's SID
$DomainSid = (Get-ADDomain -Identity "ata_domain").DomainSID.Value
## Find the storage account's AD computer account's SID
$StorAccountSid = (Get-ADComputer -Identity "ataazurefile").SID.Value

## Provide Set-AzStorageAccount with all appropriate GUIDs and SIDs
## along with the AD domain it should be a part of
$Splat = @{
    ResourceGroupName = "ATAAzureFileDemo"
    Name = "ataazurefile"
    EnableActiveDirectoryDomainServicesForFile = $true
    ActiveDirectoryDomainName = "ata_domain.local"
    ActiveDirectoryNetBiosDomainName = "ata_domain"
    ActiveDirectoryForestName = "ata_domain"
    ActiveDirectoryDomainGuid = $DomainGuid
    ActiveDirectoryDomainsid = $DomainSid
    ActiveDirectoryAzureStorageSid = $StorAccountSid
}
Set-AzStorageAccount @Splat

การติดตั้ง Azure File Share

เมื่อคุณได้ตั้งค่าการแชร์ไฟล์ Azure และบัญชีคอมพิวเตอร์ AD สำหรับการแชร์ไฟล์แล้ว ก็ถึงเวลาดูว่าคุณสามารถเมานต์และเข้าถึงการแชร์ไฟล์ได้หรือไม่ ในขณะนี้ บัญชี AD เดียวที่ได้รับอนุญาตให้เข้าถึงการแชร์ไฟล์ Azure คือบัญชีคอมพิวเตอร์ AD ของบัญชีที่เก็บข้อมูล

ขั้นแรก หากต้องการเมานต์พื้นที่แชร์ไฟล์ ให้ค้นหาค่าของคีย์บัญชีพื้นที่จัดเก็บข้อมูลแรกโดยใช้คำสั่ง Get-AzStorageAccountKey และกำหนดให้กับตัวแปรตามที่ดำเนินการในส่วน การสร้างบัญชีคอมพิวเตอร์ Active Directory ส่วน

คุณไม่จำเป็นต้องกำหนดค่าให้กับตัวแปร แต่จะส่งผ่านไปยังคำสั่งถัดไปได้ง่ายกว่าเมื่อคุณพยายามเมานต์การแชร์

$Key = (Get-AzStorageAccountKey -ResourceGroupName "ATAAzureFileDemo" -Name "ataazurefile" | Where-Object {$_.KeyName -eq "key1"}).Value

จากนั้น เรียกใช้คำสั่ง net use เพื่อเมานต์การแชร์กับอักษรระบุไดรฟ์ใน Windows คำสั่งด้านล่างเมานต์การแชร์ไฟล์ Azure ที่เรียกว่า atafileshare ที่โฮสต์บนบัญชีที่เก็บข้อมูล ataazurefile ที่ตรวจสอบสิทธิ์เป็นบัญชีคอมพิวเตอร์ AD ataazurefile โดยใช้คีย์บัญชีที่เก็บข้อมูล

net use S: \\ataazurefile.file.core.windows.net\atafileshare /user:ata_demo\ataazurefile $Key

คีย์การเข้าถึงบัญชีที่เก็บข้อมูลให้สิทธิ์ผู้ดูแลระบบเต็มรูปแบบในการเข้าถึงบัญชีที่เก็บข้อมูลและการแชร์ไฟล์ อย่าใช้คีย์การเข้าถึงเว้นแต่จำเป็น แต่เมื่อกำหนดค่าการแชร์ไฟล์ในขั้นต้น คุณต้องใช้คีย์บัญชีที่เก็บข้อมูลเพื่อกำหนดค่าสิทธิ์ NTFS ในการแชร์ เนื่องจากเป็นบัญชีเดียวที่จะให้สิทธิ์คุณในการเข้าถึงเพียงพอ

การกำหนดค่าสิทธิ์การแบ่งปัน

ณ จุดนี้ คุณสามารถเรียกดูการแชร์ใน Windows Explorer ที่ได้รับการรับรองความถูกต้องโดยใช้คีย์บัญชีที่เก็บข้อมูล แต่คุณยังไม่เสร็จ ขณะนี้คุณต้องอนุญาตให้บัญชีผู้ใช้ AD ที่เหมาะสมเข้าถึงการแชร์ไฟล์ Azure

คุณสามารถตั้งค่าสิทธิ์การแชร์ได้หลายวิธี แต่สุดท้ายแล้ว คุณจะต้องกำหนดสิทธิ์ผู้ใช้ AD ในบทบาท Azure หนึ่งในสามบทบาทในที่สุด

  • Storage File Data SMB Share Reader - อนุญาตให้เข้าถึงการอ่านในการแชร์ไฟล์ Azure Storage ผ่าน SMB
  • Storage File Data SMB Share Contributor - อนุญาตให้อ่าน เขียน และลบการเข้าถึงในการแชร์ไฟล์ Azure Storage ผ่าน SMB
  • ข้อมูลไฟล์ที่จัดเก็บข้อมูล SMB Share Elevated Contributor - อนุญาตให้อ่าน เขียน ลบ และแก้ไข Windows ACLs ในการแชร์ไฟล์ Azure Storage ผ่าน SMB

หากต้องการเพิ่มและลบการเข้าถึงของผู้ใช้อย่างง่ายดายในอนาคต บทช่วยสอนนี้จะกำหนดกลุ่มโฆษณา (test-group-1) ให้กับบทบาท เพื่อให้ผู้ใช้ทั้งหมดภายในกลุ่ม (เช่น test- user-1) จะสืบทอดสิทธิ์ที่ได้รับมอบหมายจากบทบาทนั้น

การกำหนดบทบาทจะเกิดขึ้นที่ระดับออบเจ็กต์บัญชีที่เก็บข้อมูล ซึ่งหมายความว่าออบเจ็กต์การแชร์ไฟล์ใดๆ ที่สร้างในบัญชีที่เก็บข้อมูลนี้จะสืบทอดการกำหนดบทบาทนี้ตามค่าเริ่มต้น เว้นแต่จะมีการกำหนดค่าการมอบหมายการปฏิเสธอย่างชัดเจนที่ระดับออบเจ็กต์การแชร์ไฟล์

หากต้องการกำหนดสิทธิ์ของกลุ่ม AD ให้กับบทบาท Azure ที่ต้องการ ให้เรียกใช้คำสั่ง PowerShell New-AzRoleAssignment เพื่อกำหนดบทบาท คำสั่งด้านล่างค้นหา SID ของกลุ่ม AD คำจำกัดความบทบาท Azure และ ID ของบัญชีที่เก็บข้อมูล จากนั้นจะใช้ค่าเหล่านั้นเพื่อส่งผ่านไปยังคำสั่ง New-AzRoleAssignment เพื่อกำหนดกลุ่มให้กับบทบาท

## Find the AD group you'd like to assign the role
$AdGroup = Get-AzADGroup -DisplayName "test-group-1"
## Find the Azure role definition you'd like to assign to the share
$AzRole = Get-AzRoleDefinition -Name "Storage File Data SMB Share Contributor"
## Find the storage account's ID
$StorAccId = (Get-AzStorageAccount -ResourceGroupName "ATAAzureFileDemo" -StorageAccountName "ataazurefile").Id

## Assign the AD group to the role limiting the scope to the storage account
New-AzRoleAssignment -ObjectId $AdGroup.Id -RoleDefinitionName $AzRole.Name -Scope $StorAccId

ตอนนี้คุณสามารถเมานต์การแชร์โดยใช้ข้อมูลรับรอง AD ของผู้ใช้ทดสอบโดยใช้คำสั่ง net use

คุณต้องยกเลิกการเชื่อมต่อจากการแชร์โดยใช้คำสั่ง net use /delete ก่อน หากคุณยังคงเชื่อมต่อโดยใช้คีย์บัญชีที่เก็บข้อมูลจากขั้นตอนก่อนหน้า

net use S: \\ataazurefile.file.core.windows.net\atafileshare /user:ata_demo\\test-user-1 p@$$w0rd12

เมื่อคุณเมานต์การแชร์ คุณควรจะสามารถเรียกดูได้โดยใช้ Windows Explorer แต่คราวนี้คุณเชื่อมต่อโดยใช้บัญชีโดเมน!

ตามค่าเริ่มต้น กลุ่ม NT AUTHORITY\Authenticated Users ได้แก้ไขสิทธิ์บนรากของการแชร์ไฟล์ Azure ซึ่งหมายความว่าบัญชีผู้ใช้ AD ที่ผ่านการรับรองความถูกต้องสามารถเปลี่ยนแปลงอะไรก็ได้ในการแชร์ ดังนั้นอย่าลืมล็อคสิทธิ์ NTFS นับจากนี้ไป!

ทางเลือก: การต่ออายุรหัสผ่านบัญชีคอมพิวเตอร์

แม้ว่าคุณจะตั้งค่าเสร็จแล้ว แต่คุณยังคงประสบปัญหาค้างอยู่หากโดเมน AD ของคุณบังคับให้รหัสผ่านหมดอายุสำหรับบัญชีคอมพิวเตอร์

เพื่อความปลอดภัย วิธีที่ดีที่สุดคือเปลี่ยนบัญชีคอมพิวเตอร์ของบัญชีที่เก็บข้อมูลเป็นประจำก่อนที่จะหมดอายุ ในการทำเช่นนั้น ให้ใช้คำสั่ง Update-AzStorageAccountADObjectPassword ในโมดูล AzFilesHybrid PowerShell คำสั่งนี้ดำเนินการคล้ายกับการหมุนเวียนคีย์บัญชีที่เก็บข้อมูล

คำสั่งด้านล่างจะหมุนรหัสผ่านออบเจ็กต์คอมพิวเตอร์ AD ไปเป็นโทเค็น kerb2 Kerberos ที่คุณสร้างไว้ก่อนหน้านี้ จากนั้นจะสร้างโทเค็น kerb1 ใหม่และหมุนวัตถุคอมพิวเตอร์ AD อีกครั้งเป็นโทเค็นใหม่นี้ การดำเนินการนี้จะช่วยหลีกเลี่ยงการสูญเสียบริการที่อาจเกิดขึ้นในขณะที่โทเค็น kerb1 ได้รับการต่ออายุ

$Splat = @{
    RotateToKerbKey = "kerb2"
    ResourceGroupName = "ATAAzureFileDemo"
    StorageAccountName = "ataazurefile"
}

Update-AzStorageAccountADObjectPassword @Splat

เมื่อใช้คำสั่งข้างต้น คุณสามารถสร้างลูป foreach ของ PowerShell เพื่อค้นหาบัญชีที่เก็บข้อมูล Azure ทั้งหมดที่เปิดใช้งานบริการโดเมน AD และอัปเดตรหัสผ่านสำหรับทุกคนผ่านสคริปต์ PowerShell ด้านล่าง

## Find all storage accounts in the subscription that have AD Domain
## services enabled
$AdStrAccs = Get-AzStorageAccount | Where-Object {$_.AzureFilesIdentityBasedAuth.DirectoryServiceOptions -eq "AD"}

## Process each storage account found and update their password with the storage
## account key (kerb2) created earlier.
foreach ($StrAcc in $AdStrAccs) {
    $Splat = @{
        RotateToKerbKey = "kerb2"
        ResourceGroupName = $StrAcc.ResourceGroupName
        StorageAccountName = $StrAcc.StorageAccountName
    }

    Update-AzStorageAccountADObjectPassword @Splat
}

บทสรุป

ในบทช่วยสอนนี้ คุณได้เรียนรู้วิธีกำหนดค่าการแชร์ไฟล์ Azure เพื่อใช้ Active Directory ภายในองค์กรสำหรับการรับรองความถูกต้องและการอนุญาต การใช้การกำหนดค่านี้จะช่วยให้คุณย้ายไฟล์เซิร์ฟเวอร์ SMB ภายในองค์กรแบบเดิมได้

มีกรณีการใช้งานอื่นใดบ้างที่คุณสามารถดูได้สำหรับการกำหนดค่าการแชร์ไฟล์ Azure เพื่อใช้การตรวจสอบสิทธิ์ AD ภายในองค์กร

บทความที่เกี่ยวข้อง