Comment accorder un accès administrateur aux utilisateurs authentifiés SAML dans mon espace de travail Amazon Managed Grafana ?

Lecture de 4 minute(s)
0

Les utilisateurs peuvent se connecter avec succès à mon espace de travail Amazon Managed Grafana via l'authentification SAML. Cependant, ils ne disposent pas d'un accès administrateur.

Brève description

Lorsque vous activez un espace de travail Amazon Managed Grafana avec l'authentification SAML, les mappages d'assertions d'attributs entre le service et l'application du fournisseur d'identité (IdP) doivent correspondre. Une incompatibilité empêche les utilisateurs de recevoir les privilèges appropriés. Dans ce cas, tous les utilisateurs ayant accès à l'application se connectent en tant que spectateurs.

Résolution

Utilisez les outils de développement du navigateur pour identifier les attributs envoyés par assertion SAML

1.    Dans le coin supérieur droit de votre navigateur, choisissez le menu. Choisissez ensuite les outils de développement pour votre navigateur :
**Firefox :**Choisissez Plus d'outils, Outils de développement Web.
**Chrome :**Choisissez Developer Tools.

2.    Dans le menu des outils de développement, choisissez le panneau Réseau.

3.    Dans le même onglet de navigateur, accédez à l'URL de votre espace de travail Amazon Managed Grafana.

4.    Choisissez Se connecter avec SAML. Entrez vos informations d'identification, puis connectez-vous à la page de connexion de l'IdP.

5.    Recherchez l'URL du service Assertion Consumer Service (ACS) dans les journaux réseau du volet des outils de développement.
**Conseil :**Recherchez un nom de fichier acs, une méthode POST et un statut 302.

6.    Dans les détails de la demande, choisissez l'onglet Request (Firefox) ou Payload (Chrome). Copiez ensuite le contenu depuis SAML Response.

7.    La réponse SAML capturée est codée en base64. Pour le décoder, utilisez un outil de décodage base64 pour extraire la réponse balisée XML.
Remarque : étant donné que la réponse SAML peut contenir des données de sécurité sensibles, il est recommandé de ne pas utiliser de décodeur base64 en ligne.

Option intégrée pour les systèmes Windows (PowerShell)

PS C:\> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("PD94bWwgdmVyc2lvbj0iMS4wIj8+PGV4YW1wbGU+PG1lc3NhZ2U+VGhpcyBpcyBqdXN0IGFuIGV4YW1wbGUgb2YgYmFzZTY0LWVuY29kZWQgWE1MIGZpbGUuIFJlcGxhY2UgaXQgYnkgdGhlIGFjdHVhbCBTQU1MIFJlc3BvbnNlIGVuY29kZWQgeW91IGdvdCBmcm9tIHRoZSBicm93c2VyIGRldmVsb3BlciB0b29sczwvbWVzc2FnZT48L2V4YW1wbGU+Cg=="))

Option intégrée pour les systèmes macOS et Linux

$ echo "PD94bWwgdmVyc2lvbj0iMS4wIj8+PGV4YW1wbGU+PG1lc3NhZ2U+VGhpcyBpcyBqdXN0IGFuIGV4YW1wbGUgb2YgYmFzZTY0LWVuY29kZWQgWE1MIGZpbGUuIFJlcGxhY2UgaXQgYnkgdGhlIGFjdHVhbCBTQU1MIFJlc3BvbnNlIGVuY29kZWQgeW91IGdvdCBmcm9tIHRoZSBicm93c2VyIGRldmVsb3BlciB0b29sczwvbWVzc2FnZT48L2V4YW1wbGU+Cg==" |base64 -d |xmllint --pretty 1 -

Vous recevez une sortie similaire à l'exemple suivant :

<?xml version="1.0"?>  
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Destination="https://g-0123456789.grafana-workspace.us-east-1.amazonaws.com/saml/acs" ID="ID\_76eb61f5-fb11-4f8b-bd7d-418f8a17156c" InResponseTo="id-ce1f5b28b091d0ebac109b5f34f125a18b7f94a5" IssueInstant="2023-04-28T10:19:57.780Z" Version="2.0">  
  <saml:Issuer>https://idp.example.com/saml</saml:Issuer>  
  <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">  
    REDACTED  
  </dsig:Signature>  
  <samlp:Status>  
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>  
  </samlp:Status>  
  <saml:Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" ID="ID\_a1234b56-789c-1234-d567-8e1234f56789" IssueInstant="2023-04-28T10:19:57.780Z" Version="2.0">  
    <saml:Issuer>https://idp.example.com/saml</saml:Issuer>  
    <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">  
      <dsig:SignedInfo>  
        <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>  
        <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>  
        <dsig:Reference URI="#ID\_a1234b56-789c-1234-d567-8e1234f56789">  
          <dsig:Transforms>  
            <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>  
            <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>  
          </dsig:Transforms>  
          <dsig:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>  
          <dsig:DigestValue>REDACTED</dsig:DigestValue>  
        </dsig:Reference>  
      </dsig:SignedInfo>  
      <dsig:SignatureValue>REDACTED</dsig:SignatureValue>  
      <dsig:KeyInfo>  
        REDACTED  
      </dsig:KeyInfo>  
    </dsig:Signature>  
    <saml:Subject>  
      <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">G-bd98f293-922c-4f70-a8c3-bc973a75d600</saml:NameID>  
      <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">  
        <saml:SubjectConfirmationData InResponseTo="id-ce1f5b28b091d0ebac109b5f34f125a18b7f94a5" NotOnOrAfter="2023-04-28T10:24:55.780Z" Recipient="https://g-0123456789.grafana-workspace.us-east-1.amazonaws.com/saml/acs"/>  
      </saml:SubjectConfirmation>  
    </saml:Subject>  
    <saml:Conditions NotBefore="2023-04-28T10:19:55.780Z" NotOnOrAfter="2023-04-28T10:20:55.780Z">  
      <saml:AudienceRestriction>  
        <saml:Audience>https://g-0123456789.grafana-workspace.us-east-1.amazonaws.com/saml/metadata</saml:Audience>  
      </saml:AudienceRestriction>  
      <saml:OneTimeUse/>  
    </saml:Conditions>  
    <saml:AuthnStatement AuthnInstant="2023-04-28T10:19:57.780Z" SessionIndex="a678db73-aaf9-4d34-8016-4deea551aaac::15728029-bd04-4e00-8ca6-acb338fde6fe" SessionNotOnOrAfter="2023-04-28T20:19:57.780Z">  
      <saml:AuthnContext>  
        <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>  
      </saml:AuthnContext>  
    </saml:AuthnStatement>  
    <saml:AttributeStatement>  
      <saml:Attribute FriendlyName="Role" Name="Role" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">  
        <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Admin</saml:AttributeValue>  
      </saml:Attribute>  
      <saml:Attribute FriendlyName="mail" Name="mail" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">  
        <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">user@example.com</saml:AttributeValue>  
      </saml:Attribute>  
      <saml:Attribute Name="displayName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">  
        <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">User</saml:AttributeValue>  
      </saml:Attribute>  
    </saml:AttributeStatement>  
  </saml:Assertion>  
</samlp:Response>

8.    Notez les noms et les valeurs des attributs sous saml:AttributeStatement. Vous aurez besoin de ces valeurs pour une étape ultérieure.

Attributs cartographiques dans la configuration SAML d'Amazon Managed Grafana

1.    Ouvrez la console Amazon Managed Grafana.

2.    Dans le volet de navigation de gauche, choisissez Tous les espaces de travail.

3.    Sélectionnez l'espace de travail pour lequel vous souhaitez configurer l'authentification SAML.

4.    Dans l'onglet Authentification, sélectionnez Configuration SAML.

5.    À l'étape 3 : Attributs d'assertion cartographiés, entrez les informations suivantes :
Rôle de l'attribut d'assertion : Entrez le Nom de l’attribut SAML ou FriendlyName répertorié sous AttributeStatement. Dans l'exemple de réponse SAML précédent, cet attribut est Role.
**Valeurs du rôle d'administrateur :**Il s'agit d'une liste de noms de rôles, séparés par des virgules, que vous attribuez au rôle d'administrateur. Cette liste se trouve dans l'**AttributeValue ** qui est mappée directement sous l'attribut Name ou le rôle FriendlyName. Dans l'exemple de réponse SAML précédent, cette valeur est Admin.

6.    Pour terminer la configuration, choisissez Enregistrer la configuration SAML.

Informations connexes

Utiliser SAML avec votre espace de travail Amazon Managed Grafana

Comment afficher une réponse SAML dans votre navigateur à des fins de résolution des problèmes

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an