Hi,
Ich habe im UCS Master den SAML Identity Provider ‘AWS’ erstellt und dann die generierte PHP Datei /etc/simplesamlphp/metadata.d/AWS.php geändert:
<?php
$metadata['AWS'] = array(
'AssertionConsumerService' => array('https://signin.aws.amazon.com/saml'),
'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
'simplesaml.nameidattribute' => 'uid',
'simplesaml.attributes' => true,
'authproc' => array(
10 => array(
'class' => 'authorize:Authorize',
'regex' => FALSE,
'enabledServiceProviderIdentifier' => array('SAMLServiceProviderIdentifier=AWS,cn=saml-serviceprovider,cn=univention,dc=example,dc=org'),
),
10 => array(
'class' => 'core:AttributeAdd',
'https://aws.amazon.com/SAML/Attributes/Role' => array(
'arn:aws:iam::<account-number>:role/<iam_role_1>,arn:aws:iam::<account-number>:saml-provider/<provider-name>'
'arn:aws:iam::<account-number>:role/<iam_role_2>,arn:aws:iam::<account-number>:saml-provider/<provider-name>'
)
),
20 => array(
'class' => 'core:PHP',
'code' => '
if (empty($attributes["uid"])) {
throw new Exception("Missing uid attribute.");
}
$uid = $attributes["uid"][0];
$attributes["https://aws.amazon.com/SAML/Attributes/RoleSessionName"] = array($uid);
',
),
),
);
Wenn ich für ‘iam_role_1’ und ‘iam_role_2’ die Namen der in IAM konfigurierten Rollen angebe, funktioniert das Login.
Wie kann ich nun die diese Rollen aus dem ‘memberOf’ Attribut des Benutzers auslesen?
Danke
Clifford Sanders