2015-10-06 20 views
1

我的應用程序需要其用戶的AWS賬戶ID才能與他們共享AMI和其他資料。是否可以證明AWS賬戶ID屬於某人?

我希望能夠證明此用戶實際上是該AWS賬戶ID的所有者。

有沒有辦法做到這一點?

+0

對於您的使用情況,是否有人證明他們*有權訪問該帳戶ID?細微的差別是:他們沒有證明帳戶的所有權,他們只是證明他們擁有該帳戶內的某些權限的憑據。在很多情況下,它是相同的。這足夠嗎?除此之外,如果你真的需要*所有權證明*(而不是證明訪問權限),我不認爲有辦法做到這一點...... –

+0

@brunoreis也許....你是說有一個證明某人有權訪問該帳戶的方式? –

回答

3

您可以通過編程的方式確定您的用戶對他們提供的帳戶ID訪問的方法之一是要求他們在帳戶中執行某些操作,以便您驗證該帳戶。

可能是最典型的(非常安全的)方法可以做到這一個是:

  • 要求您的用戶在他們的帳戶創建一個IAM角色,爲跨帳戶訪問和然後相信你的賬戶ID;這個角色可能有非常有限的訪問策略(甚至根本沒有權限)。確保生成一個唯一的外部ID以使其更安全並要求用戶使用它。此外,他們應該使用您定義的角色名稱,並且應該嘗試使其相當唯一以避免與用戶可能已經使用的其他角色發生衝突。然後

  • 您的應用程序使用你的用戶,你定義的角色的名字,你定義的外部ID提供的賬號,並嘗試AssumeRole在他們的帳戶

如果您AssumeRole操作成功,就意味着你的用戶可以創建他們聲稱是所有者帳戶的角色。

這可能只要你可以去。


最後一點。

我見過的其他解決方案包括要求用戶創建一個IAM用戶,生成AK/SK,然後給AK/SK,然後在他們的賬戶上運行一些API調用,使用AK/SK提供,以驗證。 我非常不喜歡這個解決方案,因爲它比上面的安全性要低得多。

+0

你可能是對的。我希望找到一種完全避免讓用戶像創建角色一樣的需求的方式,因爲我理解IAM和角色(我認爲 - 部分無論如何),但是我懷疑IAM和角色對於那些不喜歡瞭解IAM和角色(我認爲這是大多數使用AWS的人)。 –

+0

我想我感覺到你的痛苦...但是這可能是唯一的方法:要求用戶執行一個動作 - 具有外部可觀察的副作用 - 只是「所有者」(或代表所有者)將能夠執行。與周圍的許多服務類似,要求域名所有者添加TXT記錄以確認所有權...... –

相關問題